眾所周知,vlookup只能從左向右查找,而不能從右至左的反向查找。為此高手們?cè)O(shè)計(jì)了一個(gè)讓無(wú)數(shù)新手迷惑的公式。今天小編將徹底幫同學(xué)們解開(kāi)這個(gè)迷團(tuán)。
【例】如下圖所示要求根據(jù)姓名反查工號(hào)
公式:
=VLOOKUP(A9,IF({1,0},B2:B6,A2:A6),2,0)
公式中最難理解的就是IF({1,0},B2:B6,A2:A6),這也是今天小編要講解的要點(diǎn)。
{1,0}是什么?它是一個(gè)由兩個(gè)數(shù)字構(gòu)成的常量數(shù)組。如果放在單元格里,相當(dāng)于2列1行的數(shù)據(jù)范圍(數(shù)組中列用','逗號(hào)分隔)。
IF函數(shù)的用法
IF(判斷式,如果條件成立返回的值,如果條件不成立返回的值)
判斷式是可以返回true或false的表達(dá)式,也可以是返回非零的數(shù)字或0的表達(dá)式或值。非零數(shù)字如1表示條件成立,0表示條件不成立。
如:
IF(1,100,200) 返回100
IF(0,100,200) 返回200
而
IF({1,0},100,200)呢?由一個(gè)數(shù)替換成一組數(shù)。IF會(huì)分別用1和0作為第1個(gè)參數(shù)進(jìn)行計(jì)算,也就是說(shuō)會(huì)進(jìn)行2次計(jì)算,返回2個(gè)結(jié)果,分別是 100 和200。返回的2個(gè)數(shù)也會(huì)按{1,0]的格式擺放(1行2列),即:{100,200}
而
如果100和200不是一個(gè)值,而各為一組值呢?如本例中
IF({1,0},B2:B6,A2:A6)
返回的將不是一組2個(gè)值,而是2列5行的一組值。如果放在單元格區(qū)域中,應(yīng)該是這樣子的:
其實(shí)也可以這樣理解
IF({1,0},B2:B6,A2:A6),
把B2:B6的值放在1的位置,把A2:A6的值放在0的位置。重構(gòu)成一個(gè)2列5行的數(shù)組,只是原B列放在第1列,A列放在第2列了。
兩列數(shù)調(diào)換了位置,就可以用VLOOKUP的從左向右查找了。
注:說(shuō)到底,并不是vlookup函數(shù)可以實(shí)現(xiàn)反向查找,而是if({1,0}把兩列數(shù)調(diào)換了位置而已。
聯(lián)系客服