Excel如何把幾個單元格的資料合併到一起
我們先來看一下本次要實現的效果:
原始資料
結果如下:
實現效果
下面,我們就來給大家講解如何實現以上的效果。本次需要用到的函式為IF、COUNTIF、VLOOKUP三個。按照慣例,我們先來講解一下函式的基本用法。
一、 IF函式
語法:
=IF(logical_test,value_if_true,value_if_false)
引數解釋:
Logical_test:計算結果為 TRUE 或 FALSE 的任意值或表示式。
Value_if_true:當 logical_test 為 TRUE 時返回的值。
Value_if_false:當ogical_test 為 FALSE 時返回的值。
二、 COUNTIF函式
語法:
= COUNTIF(range,criteria)
引數解釋:
Range:要計算其中非空單元格數目的區域。
Criteria:以數字、表示式或文字形式定義的條件。
三、 VLOOKUP函式
語法:
=VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
引數解釋:
lookup_value:要查詢的值,可以是數值、引用或文字字串。
table_array:要查詢的區域,型別為資料表區域。
col_index_num:返回資料在查詢區域的第幾列數,必須為正整數。
range_lookup:模糊匹配(TRUE)或精確匹配(FALSE或不填)。
四、案例的實現
要實現本案例,需要在D列新增一個輔助列。通過輔助列,從後往前理解,將本列和本列下面和本列戶編號相同的一個列的值合併起來,依次次迴圈就能將所有戶編號相同的列的值合併到第一次出現該戶編號的列。輔助列D2的公式為:
=C2&IF(COUNTIF(B3:B$23,B2),"、"&VLOOKUP(B2,B3:$D$23,3,FALSE),"")
新增輔助列結果
特別提醒:注意本公式中在countif和vlookup函式中,均需要將區域延伸到有值的後一行(如本表格共22行,而區域我們需要延伸到23行),否則會導致結果錯誤,同時要注意公式中的混合引用,確保公式往下填充的時候的正確性。
建立好輔助列並計算好以後,我們需要在右側的位置提取出不重複的戶編號,然後再次通過VLOOKUP函式查詢出戶編號的人員。
提取出不重複的戶編號的方法可以使用【資料】選項卡下面的【資料工具】組裡面的【刪除重複值】按鈕實現。我們先將B列的戶編號複製到G列,然後使用【刪除重複值】將重複的值刪除,得到不重複的戶編號。
刪除重複值操作
得到的結果如下:
最終結果空表
在H列通過VLOOKUP函式查詢出戶編號第一次出現的位置,就得到了該戶編號對應的所有人員。公式如下:
=VLOOKUP(G2,$B$2:$D$23,3,FALSE)
結果如下:
最終結果