LOOKUP函數(shù)在多條件查找中的應(yīng)用

文/黃波藝

一般在日常工作應(yīng)用中,需要查找數(shù)據(jù)時(shí),VLOOKUP函數(shù)/HLOOKUP函數(shù)是最常用的。似乎LOOKUP函數(shù)用得少一些。但是,相對(duì)VLOOKUP/HLOOKUP,LOOKUP函數(shù)的自由度更大,在某些條件下表現(xiàn)得更強(qiáng)悍。比如多條件查找數(shù)據(jù)。

今天就主要講講LOOKUP函數(shù)的多條件查找在工作中可能的應(yīng)用。

語(yǔ)法

LOOKUP(lookup_value,lookup_vector,result_vector)

LOOKUP(lookup_value,array)

要點(diǎn)

1.LOOKUP函數(shù)查找方式是“模糊查找”,沒(méi)有像VLOOKUP和HLOOKUP那樣可以設(shè)置精確查找的參數(shù)。

2.LOOKUP函數(shù)用“二分法”進(jìn)行查找。

3.返回小于等于lookup_value(查找值)的最大值。

4.Lookup_vector(查找區(qū)域)中如果有“錯(cuò)誤值“,那么LOOKUP函數(shù)在查找時(shí)將會(huì)忽略錯(cuò)誤值。

先看一個(gè)VLOOKUP函數(shù)應(yīng)用的例子:

常見(jiàn)的VLOOKUP查找案例

在綠色單元格輸入姓名,B12,C12通過(guò)VLOOKUP公式很容易可以查找到相應(yīng)部門和職務(wù),顯然這是單個(gè)條件(A12)的查找。


假如我想反過(guò)來(lái),輸入部門和職務(wù),查找到相應(yīng)的名字呢?怎么做?

嵌套IF函數(shù)當(dāng)然可以完成,但是多重嵌套IF函數(shù)容易出錯(cuò),效率低。一般我們盡量避免嵌套多重IF函數(shù)。沒(méi)錯(cuò),用LOOKUP函數(shù)。

我來(lái)解釋一下=LOOKUP(1,0/((B2:B8=E2)*(C2:C8=F2)),A2:A8)這個(gè)公式。

B2:B8=E2

B2:B8與E2比較,返回的是一個(gè)數(shù)組,結(jié)果只有TURE和FALSE(即1和0)。如果在查找區(qū)域找到了“研發(fā)部“,那返回的數(shù)組里有一個(gè)1和六個(gè)0。


C2:C8=F2

C2:C8與F2比較,返回的是一個(gè)數(shù)組,結(jié)果只有TURE和FALSE(即1和0)。如果在查找區(qū)域找到了“副經(jīng)理“,那返回的數(shù)組里有一個(gè)1和六個(gè)0。


((B2:B8=E2)*(C2:C8=F2))

兩個(gè)數(shù)組進(jìn)行乘法運(yùn)算,最后得出的也是一個(gè)7行一列的數(shù)組,同樣可能包含1和0。

(關(guān)于數(shù)組以及數(shù)組運(yùn)算的原理,之前的文章有詳細(xì)介紹。)


0/((B2:B8=E2)*(C2:C8=F2))

0除以任何數(shù)(0除外)等于0;但如果被除數(shù)為0,則返回錯(cuò)誤值。


到此為止,如果在B列和C列都找到符合條件的數(shù)據(jù),那么0/((B2:B8=E2)*(C2:C8=F2))返回的數(shù)組里就一定有一個(gè)0值,其它為錯(cuò)誤值。見(jiàn)下圖:(需要查看某一段公式的運(yùn)算結(jié)果,在公式欄中將其“抹黑”,再按F9鍵即可。)

LOOKUP(1,0/((B2:B8=E2)*(C2:C8=F2)),A2:A8)

在{#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!}里查找1,結(jié)果返回A2:A8的對(duì)應(yīng)數(shù)據(jù)。

PS:請(qǐng)?jiān)诨仡^看看上面的“要點(diǎn)“。

0小于1,同時(shí)忽略了錯(cuò)誤值。0為數(shù)組中的第六行數(shù)據(jù),所以返回的結(jié)果必然是A2:A8中的第六行數(shù)據(jù)(即A7)。這就是LOOKUP函數(shù)中的模糊查找


上面的例子是兩個(gè)條件查找,多個(gè)條件查找也是同樣的格式:

LOOKUP(1,0/((條件1)*(條件2)*(條件3)*…(條件n)),結(jié)果區(qū)域)

這個(gè)公式涉及了數(shù)組,一旦理解了這個(gè)公式,那么在多條件查找的時(shí)候?qū)⒎浅:糜谩?/p>


IFERROR(LOOKUP(1,0/((B2:B8=E2)*(C2:C8=F2)),A2:A8),"無(wú)記錄")

這個(gè)公式在原來(lái)公式的基礎(chǔ)要再套了一個(gè)IFERROR函數(shù),目的是萬(wàn)一源數(shù)據(jù)表里沒(méi)有相關(guān)記錄,不至于出現(xiàn)”#N/A!”這種不和諧的符號(hào)而已。

IFERROR函數(shù)

當(dāng)然,LOOKUP函數(shù)的用法遠(yuǎn)不止這一種,利用LOOKUP函數(shù)“模糊查找”的屬性,還可以是實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的等級(jí)判定,銷售人員的傭金比例等級(jí)判定等等。}"?}?

當(dāng)你需要多條件查找的時(shí)候,第一時(shí)間應(yīng)考慮用LOOKUP函數(shù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容