Vlookup函數後的 if({1,0} 是什麼意思?

眾所周知,vlookup只能從左向右查找,而不能從右至左的反向查找。為此高手們設計了一個讓無數新手迷惑的公式。今天小編將徹底幫同學們解開這個迷團。


【例】如下圖所示要求根據姓名反查工號

Vlookup函數後的 if({1,0} 是什麼意思?


式:

=VLOOKUP(A9,IF({1,0},B2:B6,A2:A6),2,0)


公式中最難理解的就是IF({1,0},B2:B6,A2:A6),這也是今天小編要講解的要點。


{1,0}是什麼?它是一個由兩個數字構成的常量數組。如果放在單元格里,相當於2列1行的數據範圍(數組中列用","逗號分隔)。

Vlookup函數後的 if({1,0} 是什麼意思?


IF函數的用法


IF(判斷式,如果條件成立返回的值,如果條件不成立返回的值)


判斷式是可以返回true或false的表達式,也可以是返回非零的數字或0的表達式或值。非零數字如1表示條件成立,0表示條件不成立。


如:

IF(1,100,200) 返回100

IF(0,100,200) 返回200


IF({1,0},100,200)呢?由一個數替換成一組數。IF會分別用1和0作為第1個參數進行計算,也就是說會進行2次計算,返回2個結果,分別是 100 和200。返回的2個數也會按{1,0]的格式擺放(1行2列),即:{100,200}


如果100和200不是一個值,而各為一組值呢?如本例中

IF({1,0},B2:B6,A2:A6)


返回的將不是一組2個值,而是2列5行的一組值。如果放在單元格區域中,應該是這樣子的:

Vlookup函數後的 if({1,0} 是什麼意思?


其實也可以這樣理解


IF({1,0},B2:B6,A2:A6),


把B2:B6的值放在1的位置,把A2:A6的值放在0的位置。重構成一個2列5行的數組,只是原B列放在第1列,A列放在第2列了。

兩列數調換了位置,就可以用VLOOKUP的從左向右查找了。


注:說到底,並不是vlookup函數可以實現反向查找,而是if({1,0}把兩列數調換了位置而已。


分享到:


相關文章: