02.25 Excel一對多查詢,這個技能你必須要get!

在我們使用Excel進行數據處理過程中,可以說查詢是必須要學會的一個技能。如果對Excel稍微熟悉一些的朋友應該都會知道,Excel中最常用的查詢函數莫非是VLOOKUP了,但是大家有沒有發現一個問題,使用VLOOKUP函數是無法完成一對多的查詢的,但是一對多的查詢卻是非常常見的。今天,我們就來給大家講解一下這個知識點喲。

按照我們一貫的做法,還是先來看一個例子吧。下面是某個年級的學生興趣愛好的統計,我們如何根據愛好一對多查詢出所對應的的學生呢?

Excel一對多查詢,這個技能你必須要get!

我們需要達到的效果如下:

Excel一對多查詢,這個技能你必須要get!

我們使用到的函數為IF、SMALL、ROW、INDEX四個,為了照顧到所有小夥伴,我們還是先對各個函數的基本使用方法做個簡單的介紹。

一、函數基本使用方法

1.IF函數

功能:判斷是否滿足某個條件,滿足返回一個值,不滿足返回另外一個值。

語法:IF(logical_test,value_if_true,value_if_false)

參數解釋:

logical_test:計算結果為 TRUE 或 FALSE 的任意值或表達式。

value_if_true:logical_test參數為true時的返回值。

value_if_false:logical_test參數為false時的返回值。

2.small函數

功能:返回數據組中的第n個最小值。

語法:

=small(array,n)

參數解釋:

array:為需要找到第 k 個最小值的數組或數字型數據區域。

n:返回的數據在數組或數據區域裡的位置(從小到大)。

3.row函數

功能:返回一個引用的行號

語法:=row(reference)

參數解釋:

reference:為需要得到其行號的單元格或者單元格區域。

4.index函數

功能:在給定的單元格區域中,返回特定行列交叉處單元格的值或引用。

語法:=index(array,row_num,column_num)

參數解釋:

array:單元格區域或者數組常量。

row_num:數組或引用中要返回的行序號。如果忽略,則column_num參數必須有。

column_num:數組或引用中要返回的列序號。如果忽略,則row_num參數必須有。

注意:根據以上的參數介紹可知,row_num和column_num至少必須有一個存在。同時,該函數還有另外一種語法形式INDEX(reference,row_num,column_num,area_num),此處不再介紹。

二、例子的實現

根據上面對四個函數的介紹,大家有思路了嗎?我們一起來看一下吧,F2單元格的公式如下:

{=IFERROR(INDEX($B$3:$B$30,SMALL(IF($D$3:$D$30=F$1,ROW($1:$28),10000),ROW(F1)),),"")}

下面對以上的公式做個解釋:

1、IF($D$3:$D$30=F$1,ROW($1:$28),1000),判斷D列的愛好是否等於F1的值,如果等於返回該單元格的行號(提醒:特別注意此處需要將D3:D30當作一個區域,在之後index的引用中D3的行號是1),否則返回10000(這個值根據實際情況,返回一個相對較大的值就可以)。返回的結果為{1;2;3;10000;10000;6;10000; 10000; 10000; 10000; 10000; 10000; 10000; 10000;15; 10000; 10000; 10000; 10000; 10000; 21;22; 10000; 10000; 10000; 26;27;10000}。

2、SMALL({1;2;3;10000;10000;6;10000; 10000; 10000; 10000; 10000; 10000; 10000; 10000;15; 10000; 10000; 10000; 10000; 10000; 21;22; 10000; 10000; 10000; 26;27;10000},ROW(F1)),返回第n大的行的行號,此處ROW(F1)在填充過程中依次返回1,2,3……。

3、INDEX($B$3:$B$30,1 ,)使用index函數返回區域B3:B30中的指定行(第1行)的值,此處省略column_num的值。

4.最外面一層IFERROR函數是為了使沒有查詢到的行顯示為空值。

提示:對於複雜的公式,可以使用【公式】選項卡下的【公式審核】下的【公式求值】按鈕逐步查看公式的運算結果。

Excel一對多查詢,這個技能你必須要get!

特別注意:該公式為數組公式,"{"不能手動輸入,需要輸入完公式其他部分後,按CTRL+SHIFT+ENTER結束。

拓展:如果我們需要的結果如下,那麼公式又該怎麼寫呢?請將你的實現過程在評論中發出來吧!

Excel一對多查詢,這個技能你必須要get!

如果需要獲取本教程的演示文件,請點擊我名字後面的關注,然後私信【一對多查詢】獲取。


分享到:


相關文章: