用vlookup函數解決這個問題不便,vlook+match

vlookup函數,想必大家都是熟悉不過的。關於這個函數,正向查找,逆向查找都是很常見的用法,但有時候只用這個函數解決不了一些問題,或者可以解決,但是比較麻煩。

下面介紹一個用“vlookup+match”兩個函數結合使用的實例,這個實例用vlookup函數可以實現,但是結合match函數更加簡單。

下圖是一個員工信息表格,我們需要找到姓名為“王子傑”對應的部門、入職時間合同到期時間、是否到期。

用vlookup函數解決這個問題不便,vlook+match

如果只使用vlookup函數,我們應該怎麼做?

具體操作步驟如下。

1、選中B12單元格 -- 在編輯欄中輸入公式“=VLOOKUP(A12,A2:F9,3,0)”-- 按回車鍵回車即可找到“部門”。

選中C12單元格 -- 在編輯欄中輸入公式“=VLOOKUP(A12,A2:F9,4,0)”-- 按回車鍵回車即可找到“入職時間”。

選中D12單元格 -- 在編輯欄中輸入公式“=VLOOKUP(A12,A2:F9,5,0)”-- 按回車鍵回車即可找到“合同到期時間”。

選中E12單元格 -- 在編輯欄中輸入公式“=VLOOKUP(A12,A2:F9,6,0)”-- 按回車鍵回車即可找到“是否到期”。

用vlookup函數解決這個問題不便,vlook+match

2、動圖演示如下。

用vlookup函數解決這個問題不便,vlook+match

雖然是把對應的部門、入職時間、合同到期時間、是否到期都查找出來了,但你有沒有發現,只使用vlookup函數查找,每查找一個我們都需要更改公式中的第3個參數,而其他的參數都不需要改變,是不是很麻煩?公式中的第3個參數從3變到6,也就是我們查找值返回的結果所在的列數,所以這種需要手動去修改參數的方法還是不行的,所以就有了“vlookup+match”函數的組合。

那麼如果用“vlookup+match”函數來實現以上的查找,公式該怎麼寫?

具體操作步驟如下。

1、選中B12單元格 -- 在編輯欄中輸入公式“=VLOOKUP($A12,$A$2:$F$9,MATCH(B$11,$A$1:$F$1,0),0)”-- 按回車鍵回車即可找到“部門”-- 將公式右拉至E12單元格,即可找到“入職時間、合同到期時間、是否到期”。

用vlookup函數解決這個問題不便,vlook+match

這時我們查找到的入職時間跟合同到期時間,返回的結果是2個數字,我們需要將其轉為日期格式。選中C12:D12單元格 -- 點擊“鼠標右鍵”-- 在右鍵菜單中選擇“設置單元格格式”。

用vlookup函數解決這個問題不便,vlook+match

彈出“設置單元格格式”對話框 -- 在“

數字”選項卡下切換到“自定義”選項 -- 在“類型”處選擇一個日期格式“yyyy/m/d”-- 點擊“確定”按鈕即可。

用vlookup函數解決這個問題不便,vlook+match

2、動圖演示如下。

用vlookup函數解決這個問題不便,vlook+match

3、公式解析。

(1)MATCH(B$11,$A$1:$F$1,0):

MATCH函數的作用是:返回指定數值在指定數組區域中的位置。其有3個參數。第1個參數表示查找值,第2個參數表示要搜索的單元格區域,第3個參數為可選的,可選的值為1,0,-1。上述公式中B$11表示要查找的值,$A$1:$F$1表示要搜索的單元格區域,0表示精確匹配。該公式返回的結果為“3”,因為查找的值“部門”在搜索的單元格區域中的位置是3。

用vlookup函數解決這個問題不便,vlook+match

(2)=VLOOKUP($A12,$A$2:$F$9,MATCH(B$11,$A$1:$F$1,0),0):

由(1)中可知MATCH(B$11,$A$1:$F$1,0)返回的結果為3,所以該公式相當於“=VLOOKUP($A12,$A$2:$F$9,3,0)”,第1個參數$A12表示要查找的值;第2個參數表示要查找的數據範圍;第3個參數表示查找的值在查找的數據範圍是第幾列,這裡的部門在查找區域中是第3列,所以第3個參數為3;第4個參數表示精確匹配,也可以寫成FALSE。

用vlookup函數解決這個問題不便,vlook+match


分享到:


相關文章: