
Lookup函數(shù)最經(jīng)典的公式
Lookup函數(shù)是最牛的Excel查找函數(shù),特別是lookup(1,0/)模式橫掃無(wú)數(shù)查找難題,比如反向查找、多條件查找、查找最后一個(gè)等。但,絕大多數(shù)用戶只會(huì)套用,卻不懂其中的原理。
小編搜遍百度,也沒有找到一個(gè)能明白的教程,所以小編必須要寫一個(gè)詳細(xì)的教程了。
首先,先看一下lookup函數(shù)的一個(gè)查找特性:
給一個(gè)足夠大的數(shù)(比范圍內(nèi)所有數(shù)都大),必定返回最后一個(gè)值。(原理是二分法查找,這里不再細(xì) )
無(wú)論你添加什么類型數(shù)值,只要小于給定的值,都會(huì)返回最后一個(gè)
如果有錯(cuò)誤值,直接忽略
這個(gè)忽略錯(cuò)誤值的特征非常重要,因?yàn)楫?dāng)根據(jù)條件查找時(shí),只需要把不符合條件的全變成錯(cuò)誤值,就可以用lookup查找后最后符合條件的。
不符合條件的怎么變成錯(cuò)誤值?任意數(shù)字除0就會(huì)變成錯(cuò)誤值 #Div/0!,下面舉一個(gè)例子。要求根據(jù)姓名查找對(duì)應(yīng)的工資
E2公式:
=LOOKUP(1,0/(A2:A8=D2),B2:B8)
A2:A8=D2 是用A列的姓名和D2的姓名進(jìn)行逐一對(duì)比,結(jié)果只有兩個(gè):相同返回True,不同返回False。按F9鍵可以查看。
在四則運(yùn)算時(shí),True相當(dāng)于數(shù)字1,F(xiàn)alse相當(dāng)于數(shù)字0,所以不符合條件的值變成了錯(cuò)誤值,符合條件變成了0。
根據(jù)lookup忽略錯(cuò)誤值、用足夠大的數(shù)查找最后一個(gè)數(shù)字的原理,就可以準(zhǔn)時(shí)查找到符合符件的值。
=LOOKUP(1,{#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!},B2:B8)
公式中為什么用1和0,其他數(shù)字可以嗎?當(dāng)然可以,只要第一個(gè)數(shù)字大于第二個(gè)數(shù)字。
如:
=LOOKUP(9999999,9999998/(A2:A8=D2),B2:B8)
用1和0只是看著簡(jiǎn)便而已,現(xiàn)在明白了吧。
所以利用這個(gè)原理,多列判斷也可以實(shí)現(xiàn),只是添加對(duì)比條件而已。
=LOOKUP(5,3/((A2:A7=E2)*(B2:B7=F2)),C2:C7)
小編說:每次分享lookup函數(shù)公式,總會(huì)有人提問1,0的含義。現(xiàn)在你明白了嗎?你身邊肯定有99%的同事不理解,就幫小編把本文分享出去吧。

