Excel表格Lookup函式的使用方法(excel表格lookup函式怎麼用)

在日常工作中,excel的查詢函式可以稱得上是函式的精髓之一,因為查詢函式單獨使用就可以實現很多日常操作需要,更別說很多複雜的函式往往也會巢狀查詢函式使用,常用的查詢函式有vlookup、index—match、lookup函式等,這些函式非常相似,有些查詢選擇這些函式任意一個都可以完成,今天小編給大家介紹一下lookup函式的幾種用法,這個函式非常靈活,可以在很多種情況下運用。

       

本文概要

一:基本正向查詢與反向查詢

其實查詢本來沒有必要分成正向查詢或者反向查詢,因為vlookup函式用的人實在太多了,vlookup函式進行正向查詢比較簡單,反向查詢稍顯複雜,所以正向查詢和反向查詢會做出區分。

但是在lookup函式中,正向查詢和反向查詢的公式完全一樣,即公式=lookup(1,0/(條件區域=條件),返回結果區域)。這個格式是lookup函式常用的固定套路,可能比較難以理解,下面就以案例介紹這個函式的含義

以下圖中根據姓名查詢成績為例,E2單元格輸入的函式=LOOKUP(1,0/($A$2:$A$10=D2),$B$2:$B$10)

在這個函式中,第二個引數的分母部分是($A$2:$A$10=D2),表示判斷D2單元格是否等於A2到A10單元格,如果等於返回的結果是true,否則返回的結果是false,此處返回的結果是{FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE},即第四個判斷為true。

0/($A$2:$A$10=D2)中,其實true可以看做是1,false可以看做是0,計算結果只有第四個返回的值為0,其他為錯誤值,因為0作為分母無意義,此處返回的結果是{#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}

在lookup函式查詢中,查詢的結果會忽略錯誤值,而第二個引數只有第四個為0,不是錯誤值,所以第一個引數1在第二個引數中查詢,返回的查詢結果是第四個數,即“趙雲”,第三個引數$B$2:$B$10為返回的結果,即最終計算結果返回“趙雲”對應的成績。

查詢完成後,向下拖動即可填充公式,同理,只要成績不唯一(此處只為舉例),根據成績反向查詢姓名公式含義不變。

二:多條件查詢

通過上述基本查詢的介紹,相信大家對lookup函式的公式含義有一定的瞭解,其實在多條件查詢中,仍然使用的是與基本查詢相同的套路,即函式公式=lookup(1,0/((條件區域1=條件1)*(條件區域2=條件2)),返回結果區域)

下圖中根據區域和產品型號查詢銷量,那麼在H2單元格輸入的函式公式為=LOOKUP(1,0/(($A$2:$A$21=F2)*($B$2:$B$21=G2)),$C$2:$C$21),這個函式中第二個引數的分母部分發生變化,用乘號連線表示需要同時滿足這兩個條件,乘號前面和後面的條件判斷結果false可以看作為0,true可以看作為1,所以兩者相乘返回的結果就是1或者0。最後分母部分返回的結果是{0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0},其他引數的含義就和上面介紹的一樣了。

三:模糊查詢

在下圖中,EF兩列為評價標準和評價型別,我們要根據EF列的標準,在C列中顯示B列銷量資料的評價型別,該如何設定公式呢?

這種查詢的基本函式=lookup(查詢依據,查詢區域,返回結果區域)。所以我們在C2單元格輸入的公式為=LOOKUP(B2,$E$2:$E$7,$F$2:$F$7),其實這個函式可以說是lookup函式的基本用法,lookup函式在查詢中,如果查詢不到準確的值,那麼就會返回到小於查詢值的最大值對應的結果,前提是對查詢範圍進行升序排序,即下圖中E列資料按從小到大順序排列。

在C2單元格中,根據B2單元格的內容在E2到E7單元格中進行查詢,因為520在查詢區域中沒有準確的查詢依據,所以返回查詢的依據是500,最後返回第三個引數對應的結果,即“一類”。然後向下拖動即可填充公式。

四:查詢最後一次出現的記錄

在下圖中,如何查詢“一班”、“二班”、“三班”對應的最後一個名字及成績呢?

這裡又用到了lookup函式的基本查詢了,即F2單元格的公式=LOOKUP(1,0/($A$2:$A$10=E2),$B$2:$B$10)。第二個引數的分母($A$2:$A$10=E2)中的判斷結果有兩個會返回true,所以0/($A$2:$A$10=E2)返回的結果為{#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!},而lookup函式查詢不到滿足條件的值時,會忽略錯誤並返回最後一個值。所以此處會查詢到班級對應的最後一個姓名和成績。

五:根據簡稱在全稱中查詢

在下圖中,D列是查詢依據,AB兩列是查詢資料來源,但是此處查詢依據是簡稱,其他查詢函式就不好實現了,利用lookup函式仍然非常容易。

這種查詢的基本公式仍然為=lookup(查詢依據,查詢區域,返回結果區域)。所以在E2單元格中輸入公式=LOOKUP(9^9,FIND(D2,$A$2:$A$5),$B$2:$B$5)即可。第二個引數FIND(D2,$A$2:$A$5)表示D2單元格在A2到A5單元格進行查詢,返回的結果為{#VALUE!;#VALUE!;5;#VALUE!},因為只有在第三個單元格可以查到“會計”並且返回的結果為5,即“會計”在“中級財務會計”中第5個字元開始。而其他結果都為錯誤值,所以9^9查到不到準確結果,忽略錯誤值後,只會返回5對應的成績。

這裡第一個引數9^9只是為了保證準確,此例中A列的單元格最多為8個字元,find函式返回的最大結果也不可能超過8,所以此處第一個引數輸入一個9也能返回正確的結果。

六:根據全稱在簡稱中查詢

和上面情況相反,如果查詢的資料來源是簡稱,我們要根據全稱查詢對應的內容,該如何操作呢?

此時在E2單元格輸入的公式為=LOOKUP(1,0/FIND($A$2:$A$5,D2),$B$2:$B$5),這個函式和上面的根據簡稱查詢全稱十分相似,主要差異是在第二個引數,第二個引數的分母函式為FIND($A$2:$A$5,D2),即查詢資料來源中的簡稱在查詢依據中的位置,返回的結果是{#VALUE!;3;#VALUE!;#VALUE!},忽略錯誤值後,會返回第二個引數對應的值。

這就是本文介紹的lookup函式的一些典型用法,可以看到=lookup(1,0/(條件區域=條件),返回結果區域)是lookup函式的常用套路,lookup函式可以忽略錯誤值並且返回最後一個值或最大值,再加上模糊查詢功能,賦予了lookup函式更加靈活的用法。