1. 程式人生 > >Excel技巧1:將符合要求的多個單元格內容合併到一個單元格

Excel技巧1:將符合要求的多個單元格內容合併到一個單元格

Excel技巧1

在一個區域內,如下表中,A列有多個相同的內容,而對應的同一行B列中的值不相同,需要把這些不同的B列值組合到一個單元格中。
比如把所有“Alice”對應的B列情緒合併到C1單元格中,顯示為“ Happy,Angry,Sad,”

圖片居中

如果用EXCEL自帶的函式來做就比較麻煩,需要用陣列公式,可以用自定義函式來解決,要方便的多。
參考來源: [ 將符合要求的多個單元格內容合併到一個單元格 百度經驗 ]

步驟

第一步:插入使用者模組

在EXCEL指定的sheet中按ALT+F11組合鍵,調出VBA視窗。在VBA視窗中按上面選單欄中的“插入-模組”,就會在下面出現一個空白的模組視窗,把程式碼複製貼上到這個視窗中就行了。

這裡寫圖片描述

第二步:編寫函式程式碼

可以看到自定義函式共有三個引數:引數a是要查詢的區域;引數b是提取資料的區域;引數c是要查詢的值。

Function abc(a As Range, b As Range, c As String)
Dim t As String
'如果a與b的區域大小不同,就顯示“錯誤”
If a.Rows.Count <> b.Rows.Count Then abc = "錯誤": Exit Function
'在區域a是迴圈
For i = 1 To a.Rows.Count
'如果在a中找到與c相同的值,就把同一行中的b的內容提取出來,存入變數t中,且用","分隔。
If a.Cells(i, 1) = c Then t = t & b.Cells(i, 1) & "," Next '將變數的值賦給自定義函式 abc = t End Function

第三步:運用

回到EXCEL視窗,在C2單元格中輸入公式 =abc(A2:A9,B2:B9,A2)

這裡寫圖片描述

按回車鍵後,馬上顯示出結果 Happy,Angry,Sad,