數據查詢最佳搭檔——INDEX和MATCH函數

小夥伴們好啊,今天和大家分享一個數據查詢的最佳搭檔——INDEX函數和MATCH函數。這兩個函數組合,能夠完成VLOOKUP函數和HLOOKUP函數的全部查找功能,並且可以實現任意方向的查詢以及多條件查詢等。

先來說說INDEX函數的作用:

INDEX函數用於在一個區域中,根據指定的行、列號來返回內容。

該函數通常使用兩個或是三個參數,三個參數的寫法是:

INDEX(單元格區域,指定的行數,指定的列數)

例如以下公式,用於返回A1:D4單元格區域第3行和第4列交叉處的單元格,即D3單元格。

=INDEX(A1:D4,3,4)

數據查詢最佳搭檔——INDEX和MATCH函數

兩個參數的寫法是:

INDEX(一行或一列數據,指定要返回第幾個元素)

例如以下公式,用於返回A1:A4單元格區域中的第3個元素,即A3單元格的內容。

=INDEX(A1:A4,3)

數據查詢最佳搭檔——INDEX和MATCH函數

接下來咱們再說說MATCH函數的作用。

MATCH 函數用於在一行或一列的查詢區域中搜索指定內容,然後返回該內容在查詢區域中的相對位置。

MATCH 函數有三個參數,第一個參數是查找對象,第二參數指定查找的範圍,第三參數用於指定匹配方式,通常使用0,表示精確匹配。

例如以下公式,就是返回C3單元格的內容在A2:A10中所處的位置,結果為7。

MATCH(C3,A2:A10,0)

注意這裡的7,是指在查找內容在查詢區域中所處的位置,不是說工作表的第幾行。另外,如果在數據區域中包含有多個查找值,MATCH函數將只返回查找值第一次出現的位置。

數據查詢最佳搭檔——INDEX和MATCH函數

看到這裡,有的小夥伴可能已經對上號了,INDEX是根據位置返回內容,MATCH是返回內容在一行或一列中的位置。接下來咱們就說說這兩個搭檔的常見用法:

1、正向查詢

如下圖所示,要根據D3單元格中的姓名,在A~B列查詢對應的職務。

E3單元格公式為:

=INDEX(B:B,MATCH(D3,A:A,0))

數據查詢最佳搭檔——INDEX和MATCH函數

先使用MATCH函數,查找D3單元格的“小龍女”在A列中所處的位置,得到結果為8。然後使用INDEX函數,在B列中返回第8個元素的內容,結果就是小龍女對應的職務了。

2、逆向查詢

如下圖所示,要根據D3單元格中的職務,在A~B列查詢對應的姓名。

E3單元格公式為:

=INDEX(A:A,MATCH(D3,B:B,0))

數據查詢最佳搭檔——INDEX和MATCH函數

先使用MATCH函數,查找D3單元格的“秘書”在B列中所處的位置,得到結果為5。然後使用INDEX函數,在A列中返回第5個元素的內容,結果就是秘書對應的姓名了。

兩個不同方向的查詢,使用的公式套路完全一樣,如果有興趣,你可以試試上下方向的查找公式怎麼寫。

3、多條件查詢

除了常規的單條件查找,這兩個搭檔也可以完成多條件的查詢。

如下圖所示,需要根據E列和F列的職務和年齡信息,在A~C列單元格區域中,查找職務為“秘書”,年齡為“19”歲所對應的姓名。

G3單元格公式為:

=INDEX(A:A,MATCH(E3&F3,B:B&C:C,0))

注意這裡是一個數組公式,輸入完成後需要將光標放到編輯框中,按住Shift+ctrl不放,再按回車完成。

數據查詢最佳搭檔——INDEX和MATCH函數

先使用連接符&,將E3和F3的職務年齡合併成一個新的條件。

再使用連接符將B列和C列的信息合併成一個新的查詢區域。

然後使用MATCH函數,查詢出職務&年齡在查詢區域中所處的位置8。

最後用INDEX函數,得到A列第8個元素的內容,最終完成兩個條件的數據查詢。

好了,今天的內容就是這些吧,祝各位小夥伴一天好心情!


分享到:


相關文章: