題目要求
要求将上圖左側的數據,根據部門将姓名合并在一個單元格,用頓号隔開。
一、使用TEXTJOIN函數
如果你的Excel是365或者2019(WPS也有這個函數),那麼就可以用Textjoin函數來解決。
先把部門的不重複項提取出來,操作步驟如上圖。
E2單元格輸入公式:
=TEXTJOIN("、",TRUE,IF(A:A=D2,B:B,""))
這是一個數組公式,需要按三鍵結束(ctrl shift enter),
公式的意思就是對于A列中部門等于計劃部的,返回姓名,否則就返回空,然後用Textjoin函數,把返回的這些姓名和空值合并起來,Textjoin第一參數表示合并時的分隔符,第二參數表示忽略待合并值中的空值,第三參數就是需要合并的内容。
二、使用Power Query解決
選中數據,點擊數據選項卡下面的【自表格/區域】,在彈出的窗口中勾選【包含标題】,然後點擊【确定】,将數據加載到Power Query編輯器。
選中姓名,點擊【分組依據】,在彈出的窗口中填寫新列名,【操作改為求和】,【柱裡面選擇姓名】(這裡的柱應該是翻譯錯誤,COLUMN翻譯過來應該是列)。
然後把裡面的List.Sum([姓名])改為Text.Combine([姓名],"、"),結果就正确的顯示出來了。最後把這個加載到工作表即可。
三、使用Power Pivot的CONCATENATEX來解決
如上圖将數據加載進數據模型
選中下面的格子,在上面的編輯欄輸入圖中的公式,然後做透視表即可。
把部門拉到行,人員拉到值,結果就出來了。
不管什麼方法,能解決問題就是好的,建議第一種和第二種必須要掌握,第三種了解一下就好。
如果使用TEXTJOIN函數做,做完記得複制粘貼為數值,否則發給别人,沒有這個函數的可能會出錯。
Power Query建議最好學一學,簡單的面闆操作,可以解決很多需要VBA才可以解決的問題。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!