vlookup函式使用一對多查詢需要藉助輔助列來完成,,具體方法如下
如圖,我們要查詢1班的所有成員,我們在圖中綠色填充區域設定公式為=(B2=$E$2)+A1並向下填充得到結果,
輔助列解釋
E2的結果為1班且絕對引用,這樣設定的結果是每當遇到1班的成員其函式結果都會加1,且1班的成員會在第一個,這個是什麼意思呢,比如項羽在三個5區域中的第一個位置,而楊戩也是兩個2區域的第一個位置,
公式:IFERROR(VLOOKUP(ROW(A1),$A$2:$C$12,3,0),"")
公式解析
vlookup函的第一引數為row函式返回的行號,向下拖動時,row(A1)的值等於1,也就說是vlookup函式的第一引數為1,然後我們在輔助列中查詢1的值,在第一列中1是重複值,當vlookup遇到重複值時,vlookup會返回它查詢到的第一個引數,所以vlookup函式的會返回結果魯班。
我們向下拖動,第一引數會變為ROW(A2),它的值是2,函式會在輔助列查詢2,而2以上重複值,函式會返回查詢到的第一個結果,也就是楊戩
以此類推
我們構建的輔助列中每個不同數值的第一個一定是我們的查詢結果,然後又利用vlookup函式查詢重複值的時候僅僅會返回查詢到的第一個值,就能實現一對多查詢的目的
vlookup函式使用一對多查詢需要藉助輔助列來完成,,具體方法如下
一、構建輔助列如圖,我們要查詢1班的所有成員,我們在圖中綠色填充區域設定公式為=(B2=$E$2)+A1並向下填充得到結果,
輔助列解釋
E2的結果為1班且絕對引用,這樣設定的結果是每當遇到1班的成員其函式結果都會加1,且1班的成員會在第一個,這個是什麼意思呢,比如項羽在三個5區域中的第一個位置,而楊戩也是兩個2區域的第一個位置,
二、設定公式公式:IFERROR(VLOOKUP(ROW(A1),$A$2:$C$12,3,0),"")
公式解析
vlookup函的第一引數為row函式返回的行號,向下拖動時,row(A1)的值等於1,也就說是vlookup函式的第一引數為1,然後我們在輔助列中查詢1的值,在第一列中1是重複值,當vlookup遇到重複值時,vlookup會返回它查詢到的第一個引數,所以vlookup函式的會返回結果魯班。
我們向下拖動,第一引數會變為ROW(A2),它的值是2,函式會在輔助列查詢2,而2以上重複值,函式會返回查詢到的第一個結果,也就是楊戩
以此類推
我們構建的輔助列中每個不同數值的第一個一定是我們的查詢結果,然後又利用vlookup函式查詢重複值的時候僅僅會返回查詢到的第一個值,就能實現一對多查詢的目的