Vlookup函數(shù)是工作中天天要用到的函數(shù),但它在原始數(shù)據(jù)中只能正向查找,不能直接逆向查找,需通過IF({1,0})進行輔助,很多朋友不理解公式,便記不住。
如下所示: 需要查找值是英雄,返回值是定位,正常需要在原始數(shù)據(jù)庫中返回值在查找值的右邊,但現(xiàn)在原始數(shù)據(jù)庫中的英雄在定位的后面。所以在E2使用的公式是:
=VLOOKUP(D2,IF({1,0},$B$1:$B$7,$A$1:$A$7),2,0)
大家不理解的是中間的IF({1,0},$B$1:$B$7,$A$1:$A$7)
正向查找匹配
當然,我們可以將原始數(shù)據(jù)進行復制剪切成正向的查找匹配=VLOOKUP(D2,$G$1:$H$7,2,0)
為了方便理解,不影響取消絕對引用,對比逆向和正向查找,發(fā)現(xiàn)IF({1,0},B1:B7,A1:A7)等同于G1:H7
我們對G1:H7公式進行框選按F9計算一次
得到的結果是:
我們看下對IF({1,0},B1:B7,A1:A7)的分解計算
對B1:B7和A1:A7進行F9一次計算
IF({1,0},數(shù)組1,數(shù)組2)可以轉換成兩個公式
IF(1,數(shù)組1,數(shù)組2) 返回的結果是豎向的數(shù)組1
IF(0,數(shù)組1,數(shù)組2) 返回的結果是豎向的數(shù)組2
1和0是用逗號拼在一塊,其實就是將兩個豎向的橫向連接在一塊。
從而形成了和實際存在一樣的兩列數(shù)組虛擬的存在,在Excel中叫做內(nèi)存數(shù)組,它得到的結果和引用正向的區(qū)域結果是一樣的,我們再對IF函數(shù)內(nèi)F9計算一次
所以使用公式:=VLOOKUP(D2,IF({1,0},$B$1:$B$7,$A$1:$A$7),2,0)
或=VLOOKUP(D2,$G$1:$H$7,2,0)都是一樣的
甚至還可以使用公式:
=VLOOKUP(D2,IF({0,1},$A$1:$A$7,$B$1:$B$7),2,0)
IF(0)得到的是B1:B7
IF(1)得到的是A1:A7
然后用逗號把兩列拼在一塊,形成一個內(nèi)存數(shù)組
這樣原始數(shù)據(jù)中查找值在前,返回值在后,就得得到正確的結果。
本節(jié)完,不知道說了這么多,有沒有說清楚,朋友們都理解了嗎?
-----------
聯(lián)系客服