編按: 曾介紹用PQ、空格替換、TEXTSPLIT函數等3種方法拆分單元格內容成多行顯示。今天推薦大家用更簡單的動態數組函數,以及更簡單的LAMBDA自定義函數來拆分,不用計算人數。 小美在工作微信里經常會收到如下圖左側的已整理合并的員工信息,但為了方便統計,需要將其拆分為右側的格式。
這是一個典型的同類項拆分操作,將同一部門信息按人數拆分為多條,每條只記錄一名員工。將微信信息復制到A列,在D2輸入公式“=IFERROR(TEXTSPLIT(A2,{":",",","、"}),"")”并向下填充。使用TEXTSPLIT函數分離文本。因為原始數據有多個符號,所以使用{":",",","、"}作為分隔依據。有多少名員工就要填充多少個部門名稱。在B2中輸入公式“=TOCOL(IF(E2:M10<>"",D2:D10,NA()),2)”即可。1.使用IF函數對拆分出來的E2:M10進行判斷,如果不為空,則顯示D2:D10中的部門名稱,否則顯示為#N/A錯誤值。2.使用動態數組函數TOCOL在忽略錯誤值后將部門連接成一列。在C2中輸公式“=TOCOL(E2:M10,1)”將員工顯示為一列。參數“1”表示忽略空單元格。如果經常做類似拆分,可以隱藏D:M列進行保存,以后只要將微信數據粘貼到A列,即可自動完成拆分。在定義名稱對話框中,名稱設為“chaifen”,在引用位置中輸入如下公式:=LAMBDA(字符,LET(cai,TEXTSPLIT(TEXTJOIN(";",1,字符),{":","、",","},";"),CHOOSE({1,2},TOCOL(IF(ISERROR(DROP(cai,,1)),NA(),TAKE(cai,,1)),2,),TOCOL(DROP(cai,,1),2,))))在B13中輸入自定義函數公式“=chaifen(A2:A4)”即可。
|