首頁 >專題 >excel >Excel如何將符合條件的結果放到一個儲存格

Excel如何將符合條件的結果放到一個儲存格

WBOY
WBOY轉載
2022-06-29 17:33:107882瀏覽

這篇文章為大家帶來了關於excel的相關知識,其中主要整理了怎樣將符合條件的結果放到一個單元格的相關問題,下面一起來看一下,希望對大家有幫助。

Excel如何將符合條件的結果放到一個儲存格

相關學習推薦:excel教學

#工作中總會有一些奇葩的特殊需求,最讓人頭痛的莫過於將符合條件的多個結果全部放到一個儲存格內。

舉個例子,請看下圖。

Excel如何將符合條件的結果放到一個儲存格

A欄位是某公司部門名稱,B欄位是人員姓名。

要求相同部門的人員姓名填入F列對應儲存格,不同人名之間以逗號間隔。

看到這裡,想必有人在心裡嘀咕了:

小子啊,你這資料處理不規範啊,怎麼能把這麼多人名放一個單元格呢?這是違反資料規律,作死吧…

停停! ! ——

身為表哥表妹大軍中的一員,俺更深知表格數據生殺予奪從不在我,而在於那位老是板著臉的……老闆。

言歸正傳,說這題的解法:

首先在C2輸入公式:

=IF(A2=A1,C1&”,”&B2,B2)

向下複製填充。

Excel如何將符合條件的結果放到一個儲存格

F2輸入公式:

=LOOKUP(1,0/(E2=$A$2:$A$9),C$2:C$9)

向下複製填充,得到最終結果。

Excel如何將符合條件的結果放到一個儲存格

這個解法使用了輔助列的方式。

C列為輔助列,是一個簡單的IF函數。

以C2的公式為例:

=IF(A2=A1,C1&”,”&B2,B2)

先判斷A2和A1的值是否相等,如果相等,則傳回C1&”,”&B2,如果不等,則回傳B2。

此處A2和A1的值不相等,因而公式返回B2的值」祝洪忠」。

在公式向下複製填充的過程中,該公式得出的結果,將被公式所在單元格下方的下一個公式所使用,於是形成人名累加的效果。

例如C3單元格公式:

=IF(A3=A2,C2&”,”&B3,B3)

A3和A2的值相等,傳回真值C2& ”,”&B3。

C2為上個公式所返回的結果B2(祝洪忠),B3的值是”星光”,所以C3最後結果為”祝洪忠,星光”。

輔助列公式輸入完成後,在F列使用了一個常用的LOOKUP函數套路,得到最終結果:

=LOOKUP(1,0/(E2=$A$2:$ A$9),C$2:C$9)

LOOKUP的這個套路,忽略錯誤值,總是取得最後一個符合條件的結果,我們可以總結為:

=LOOKUP(1 ,0/(條件區域=指定條件),要回傳的目標區域)

該公式以0/(E2=$A$2:$A$9)建構了一個由0和錯誤值#DIV/ 0!組成的記憶體數組,再用永遠大於0的1作為查找值,於是找出最後一個滿足部門等於E2的C列結果,即A列最後一個廣告部所對應的C列值:C2。

如果你使用的是Excel2019或是Office365,那就可以使用TEXTJOIN函數了,這個函數在WPS2019中也有哦。

在F2單元格輸入以下公式,按住SHift Ctrl不放,按回車,OK了。

=TEXTJOIN(“,”,1,IF(A$2:A$9=E2,B$2:B$9,””))

Excel如何將符合條件的結果放到一個儲存格

# TEXTJOIN函數的用法為:

=TEXTJOIN(間隔符號,要不要忽略空白文字,要合併的內容)

公式中要合併的內容為:

IF (A$2:A$9=E2,B$2:B$9,””)

也就是如果A$2:A$9等於E2,就回傳B$2:B$9對應的內容,否則回傳空文本””,結果是一個傳說中的內存數組:

{“祝洪忠”;”星光”;””;””;””;”“;””;””}

TEXTJOIN函數將IF函數所得到的記憶體陣列合併,第一參數指定使用間隔符號為逗號,第二參數使用1,表示忽略記憶體陣列中的空文本。

相關學習推薦:excel教學

以上是Excel如何將符合條件的結果放到一個儲存格的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:excelhome.net。如有侵權,請聯絡admin@php.cn刪除