如何將符合條件的多行數據中的值放到一個單元格里面

我們先來看一下本次要實現的效果:

如何將符合條件的多行數據中的值放到一個單元格里面

原始數據

結果如下:

如何將符合條件的多行數據中的值放到一個單元格里面

實現效果

下面,我們就來給大家講解如何實現以上的效果。本次需要用到的函數為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)

結果如下:

如何將符合條件的多行數據中的值放到一個單元格里面

最終結果


分享到:


相關文章: