王志軍
同事前來求助,如圖1所示,A列是某單位的部門名稱,B列是相應(yīng)員工的姓名,現(xiàn)在要求將相同部門的員工姓名填入F列對(duì)應(yīng)的單元格,不同人名之間以逗號(hào)“,”分隔。由于實(shí)際的數(shù)據(jù)量非常大,手工操作顯然是相當(dāng)麻煩,有沒有簡單一些的實(shí)現(xiàn)方法呢?
我們可以借助輔助列解決這一問題,選擇C2單元格,在編輯欄輸入公式“=IF(A2=A1,C1&”,”&B2;,B2)”,這里首先判斷A2和A1的值是否相等,如果相等則返回“C1&”,”&B2;”的結(jié)果,否則返回B2。公式執(zhí)行之后向下拖拽或雙擊填充柄,公式向下復(fù)制填充的過程中,該公式得到的結(jié)果將會(huì)被公式所在單元格下方的下一個(gè)公式所使用,于是形成人名累加的效果,很快就可以看到圖2所示的效果。
選擇F2單元格,在編輯欄輸入公式“=LOOKUP(1,0/fE2=$A$2:$A$9),C$2:C$9)”,這里的LOOKUP函數(shù)忽略錯(cuò)誤值,總是取得最后一個(gè)符合條件的結(jié)果,該公式以“0/(E2=$A$2:$A$9)”構(gòu)建了一個(gè)由0和錯(cuò)誤值#DIV/0!組成的內(nèi)存數(shù)組,再使用大于0的1作為查找值,于是得出最后一個(gè)滿足部門等于E2的C列結(jié)果,即A列最后一個(gè)行政辦所對(duì)應(yīng)的C列值C2,公式執(zhí)行之后向下拖拽或雙擊填充柄,最終效果如圖3所示。
如果你使用的Excel是最新的2016或365的版本,那么也可以不使用輔助列,直接使用公式“=TEXTJON(”,”,1,IF($A$2:$A$10=E2,B$2:B$10,""))”。公式中需要合并的內(nèi)容為“IF($A$2:$A$IO=E2,B$2:B$10,"")”,也就是說如果等于E2,則返回對(duì)應(yīng)的內(nèi)容,否則返回空文本"";TEXTJOIN函數(shù)的用法為“=TEXTJOIN(間隔字符,是否忽略空單元格,要合并的內(nèi)容)”,這里是對(duì)IF函數(shù)得到的內(nèi)存數(shù)組進(jìn)行合并,合并時(shí)使用逗號(hào)“,”進(jìn)行分隔,最終效果完全相同。