Excel一對多查詢只會“萬金油公式”?用TEXTJOIN函數(shù)更簡單
要求:下圖中,我們通過選擇E4單元格中的部門,在F列中返回不同的查詢結(jié)果。

具體操作步驟如下:
1、選中F4單元格,在編輯欄中輸入公式:=TRIM(MID(SUBSTITUTE(TEXTJOIN("/",1,IF(B:B=$E$4,C:C,"")),"/",REPT(" ",99)),ROW(A1)*99-98,99)),按組合鍵“Ctrl + Shift + Enter”。將F4單元格中的公式下拉填充至F8單元格即可。pdf密碼破解

2、公式解析。
①=TEXTJOIN("/",1,IF(B:B=$E$4,C:C,"")):
TEXTJOIN函數(shù)說明:使用分隔符連接列表或文本字符串區(qū)域。
TEXTJOIN函數(shù)語法:=TEXTJOIN(delimiter, ignore_empty, text1, [text2], … ,[textn])。
TEXTJOIN參數(shù)說明:
delimiter:分隔符(必需)??梢詾槲谋咀址眨┗蛞粋€或多個用雙引號括起來的字符,或?qū)τ行谋咀址囊谩H绻峁┝艘粋€數(shù)字,它將被視為文本。
ignore_empty:忽略空白單元格(必需)。可選值有 TRUE 和 FALSE。如果為 TRUE 或 1,則忽略空白單元格;如果為 FALSE 或 0,則包含空白單元格。
text1:要加入的文本項(必需)。文本字符串或字符串?dāng)?shù)組。例如單元格區(qū)域。
[text2], … ,[textn]:要加入的其他文本項(可選)。文本項目最多可以包含252個文本參數(shù),包括 text1,每一個都可以是文本字符串或字符串?dāng)?shù)組,例如單元格區(qū)域。
公式:=TEXTJOIN("/",1,IF(B:B=$E$4,C:C,"")),第一個參數(shù)“/”表示以 “/”來作為分隔符號;第2個參數(shù) 1 表示忽略空白單元格,也可以用 TRUE 來表示;第3個參數(shù) IF(B:B=$E$4,C:C,"") 表示用 IF 函數(shù)來判斷B列中的內(nèi)容是否與 E4 單元格的內(nèi)容相等,如果相等,返回C列中對應(yīng)的內(nèi)容,如果不相等,返回空的字符串。解壓密碼破解
如果E4="技術(shù)部",該公式返回的結(jié)果是:"黃子龍/李志強/黃偉峰";如果E4="客服部",該公式返回的結(jié)果是:"李思思/黃婉君",......。

②SUBSTITUTE(TEXTJOIN("/",1,IF(B:B=$E$4,C:C,"")),"/",REPT(" ",99)):
SUBSTITUTE函數(shù)說明:將字符串中的部分字符串以新字符串替換。
SUBSTITUTE函數(shù)語法:=SUBSTITUTE(text, old_text, new_text, [instance_num])。
SUBSTITUTE參數(shù)說明:excel密碼破解
text:必需。需要替換其中字符的文本,或?qū)形谋荆ㄐ枰鎿Q其中字符)的單元格的引用。
old_text:必需。需要替換的文本。
new_text:必需。用于替換 old_text 的文本。
instance_num:可選。替換序號。指定要將第幾個 old_text 替換為 new_text。如果指定了序號,則滿足要求的 old_text 才會被替換。不指定,文本中出現(xiàn)的所有 old_text 都會被替換為 new_text。

REPT函數(shù)說明:根據(jù)指定的次數(shù)重復(fù)顯示文本??梢杂迷摵瘮?shù)在一個單元格中重復(fù)填寫一個文本字符串。
REPT函數(shù)語法:=REPT(text, number_times)。
REPT參數(shù)說明:
text:必需。需要重復(fù)顯示的文本。
number_times:必需。用于指定文本重復(fù)的次數(shù),該值必須為正數(shù)。

整條公式的意思是:將字符串中的所有字符“/”替換成空字符串,重復(fù)99次。返回的結(jié)果是:

③=MID(SUBSTITUTE(TEXTJOIN("/",1,IF(B:B=$E$4,C:C,"")),"/",REPT(" ",99)),ROW(A1)*99-98,99):
MID函數(shù)說明:從文本字符串中指定的起始位置起返回指定長度的字符。
MID函數(shù)語法:=MID(text, start_num, num_chars)。
MID參數(shù)說明:壓縮包密碼破解
text:必需。包含要提取字符的文本字符串。
start_num:必需。文本中要提取的第一個字符的位置。
num_chars:必需。從文本中返回字符的個數(shù)。

整條公式的意思是:根據(jù)第②步的公式可以得到結(jié)果“黃子龍 李志強 黃偉峰”,兩個姓名之間的空格符號有99個,用MID函數(shù)從字符串的第1個字符開始提取,提取99個字符,這樣子我們提取到的就是第一個姓名后面帶了很多空格符號。

④=TRIM(MID(SUBSTITUTE(TEXTJOIN("/",1,IF(B:B=$E$4,C:C,"")),"/",REPT(" ",99)),ROW(A1)*99-98,99)):
TRIM函數(shù)說明:刪除字符串中多余的空格,單詞之間的空格除外。
TRIM函數(shù)語法:=TRIM(text)。
TRIM參數(shù)說明:
text:必需。要從中移除空格的文本字符串。

整個公式的意思是:將前面3步公式返回的包含姓名和空格的字符串中,將字符串去除,只保留姓名。
3、動圖演示如下。

本期教程跟大家分享到這里,想學(xué)更多的辦公技巧,歡迎關(guān)注我哦!
如果文章對您有幫助,可以轉(zhuǎn)發(fā)、點贊支持小編,創(chuàng)作不易,希望多多支持!