VLOOKUP和MATCH嵌套以高效引用多列數據


VLOOKUP函數在日常工作中十分常見,以至於你要是沒用過VLOOKUP函數,你都不好意思說你懂EXCEL。

 

一般情況下,我們需要在源數據中查找某個指定列的數據,就會用到VLOOKUP函數(如果是指定行的數據,則用HLOOKUP函數)。這個時候“指定列”一般習慣用常數(如1,2,3,4,5)。

 

那么,如下圖,當需要在綠色單元格引用源數據表中的多列函數時,公式/函數該如何寫?

 

乍一看,這個不難啊,三個字段“性別”,“興趣”“電話”分別用VLOOKUP函數寫個公式就好了。嗯,用三個VLOOKUP函數固然可以。但是,如果有5個字段,20個字段呢?這個,是不是有點煩躁?

VLOOKUP函數與MATCH函數嵌套

今天我們要用VLOOKUP函數與MATCH函數嵌套使用獲取多列數據,以提高效率。

 

1.    VLOOKUP函數

語法:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

第三參數 col_index_num 可以是常量(指定第幾列),也可以是變量(通過函數運算返回一個數字)。如果能在第三參數寫進一個函數,是不是可以根據不同字段返回不同列數呢?

 

2.   MATCH函數

含義:返回指定數值在指定數組區域中的位置

語法:MATCH(lookup_value, lookup_array, match_type)

從MATCH函數含義可以看出,MATCH函數返回的是“位置”(數字),恰好可以滿足我們的要求。

 

3.   VLOOKUP函數與MATCH函數嵌套使用

現在我們在I2單元格輸入以下公式:

=VLOOKUP($H2,$A$1:$F$9,MATCH(I$1,$A$1:$F$1,0),0)

然后復制粘貼到所有的綠色單元格,或者向右,向下拖拽。可以看到結果完全正確。

在這里,MATCH函數將查找“性別”,“興趣”,“電話”在A1到F1中的位置,再將返回值(數字)賦與VLOOKUP第三參數。那么,無論有多少個需要查找的字段,這個MATCH函數都相應返回對應的位置數字。也就是說,我們只需要寫這一個公式就夠了。

 

4.   成敗關鍵—混合引用

$A$1  絕對引用。復制或者拖拽,引用單元格固定不變。

A1    相對引用。復制或者拖拽,引用的單元格根據行/列位置變化而變化。

$A1或者A$1 混合引用。復制或者拖拽,$符號后面的行/列保持不變。

 

在上面的例子中,我們需要在固定在H列中找到查找值,所以VLOOKUP函數中一定要在H2的H前加上$符號,得到$H2

同時,我們需要固定在第一行中找到查找的字段,所以MATCH函數中一定要在I1的1前加上$符號,得到I$1

如此,才能確保我們在復制/拖拽過程中單元格被正確引用。如果希望進一步加深理解絕對/相對/混合引用,可以嘗試做一個“九九乘法表”。如下圖:

5.   延伸思考

COLUMN函數,ROW函數返回的分別是單元格所在第幾列,第幾行。在這個例子中能不能用VLOOKUP函數和COLUMN函數嵌套?效率如何?在什么情況下時候嵌套更好用呢?

這幾個問題留給大家思考,有興趣的話歡迎私信我交流討論。

 

飛機從北京飛往紐約,一定不止一條航線,可以往北極方向飛,也可以往南極方向飛,還可以跨太平洋飛。但是最后航空公司一般會選擇往北極方向飛。因為這條航線效率高,經濟效益最好。

 

同理,在使用EXCEL的過程中,我們也需要不斷思考,如何讓我們的工作效率變得更高?

Copyright reserved @ 黃波藝帶你玩轉Excel。歡迎轉載,但請注明出處。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM