【Excel函數教程】解析lookup的經典查找方式

2021-02-19 excel教程

 提示:點擊上方"excel教程"↑免費訂閱

  學習是需要技巧和經驗的。感謝盧子老師為大家分享和交流他的實戰經驗。下面是本期講座的全部內容。

  本期講座包括兩部分內容:第一,lookup函數用法介紹;第二,通過實例講解lookup函數經典的條件查找解法,通用公式基本可以寫為:LOOKUP(2,1/(條件),查找數組或區域)或LOOKUP(1,0/(條件),查找數組或區域)。

  第一部分:lookup函數用法介紹

  lookup函數和vlookup函數是excel中最常用的兩個查找函數。vlookup函數能做到的lookup函數同樣可以做到,而且可以做得更好。

  LOOKUP函數有兩種語法形式:向量和數組。本期就向量形式的展開交流和探討。

  向量形式的語法為:LOOKUP(lookup_value,lookup_vector,result_vector)

  其中的參數意義如下:

  Lookup_value:為所要查找的數值。Lookup_value 可以為數字、文本、邏輯值或包含數值的名稱或引用。
  Lookup_vector:為只包含一行或一列的區域。Lookup_vector 的數值可以為文本、數字或邏輯值。Lookup_vector的數值必須按升序排序:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE,否則, LOOKUP不能返回正確的結果。文本不區分大小寫。
  Result_vector:只包含一行或一列的區域,其大小必須與 lookup_vector 相同。
  比如lookup(A1,B1:B10,C2:C11),其中C2:C11的尺寸要與B1:B10相同,且如果A1對應B列中的位置是B2的話,那麼返回的將是C3的值。

  LOOKUP函數說明:

  第一,如果函數 LOOKUP 找不到 lookup_value,則查找 lookup_vector 中小於或等於 lookup_value 的最大數值。這就是為何返回最後一個滿足條件的值的原理。
  第二,如果 lookup_value 小於 lookup_vector 中的最小值,函數 LOOKUP 返回錯誤值 #N/A。
  利用這個特性,我們可以用=LOOKUP(1,0/(條件),引用區域)這樣一個通用公式來作查找引用。

  第二部分:lookup函數實例運用

  運用一:模糊查找

  模糊查找的核心是第二個參數排序必須是升序,否則會導致查找值錯誤。下圖所示的表1是按升序排序的,表2沒有排序。

  分別在表1和表2下面對應的單元格輸入公式。

  表1的數據源是按升序排序的,根據lookup函數用法:=LOOKUP(要查找的數據,查找範圍,結果),在C24單元格設置公式:=LOOKUP(B24,$B$5:$B$17,$C$5:$C$17),然後下拉得到正確結果。

  表2的數據源是沒有排序的,在J24單元格輸入公式:=LOOKUP(I24,$I$5:$I$17,$J$5:$J$17) ,然後下拉,發現J25單元格得到的結果是H126,顯然不對。通過表2的源數據可以看到I25單元格對應的值應該為J8單元格的值H142。

  為什麼會出錯呢?這就印證了第一部分的用法介紹中所講到的:Lookup_vector的數值必須按升序排序:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE,否則, LOOKUP不能返回正確的結果。文本不區分大小寫。

  模糊查找,數據源一定要以升序先進行排序,否則就會出錯。在數據源沒有排序的情況下,如何才能查找到正確結果?LOOKUP函數有一個經典的條件查找解法,可以很好的解決此問題。

  在第一部分有提到,通用公式基本可以寫為:LOOKUP(2,1/(條件),查找數組或區域) 或LOOKUP(1,0/(條件),查找數組或區域)。

  公式中的2、1、0等數字的含義是什麼? 首先,條件是一組邏輯判斷的值或邏輯運算得到的由TRUE和FALSE組成或者0與非0組成的數組,因而:0/(條件)的作用是用於構建一個由0或者#DIV!0錯誤組成的值。比如數據源中能查找到對應值就是ture,沒有就是false。形式如:0/True=0,0/false=#DIV0!,查找到就0,沒有就是錯誤值。

  如果 LOOKUP 函數找不到 lookup_value (即:1),則它與 lookup_vector 中小於或等於 lookup_value 的最大值(即:0)匹配。

  也就是說,要在一個由0和#DIV!0組成的數組中查找1,肯定找不到1,因而將返回小於或等於1的最大值(也就是0)匹配。用大於0的數來查找0,肯定能查到最後一個滿足條件的。

  以上的原理,被俗稱為「以大欺小法」。這種技巧在LOOKUP函數上的運用是很常見的。

  利用上面的原理,不管有沒有排序,只要使用上面的「以大欺小法」都能得到正確結果。比如上面實例中,在J25單元格輸入公式:=LOOKUP(1,0/(I25=$I$5:$I$17),$J$5:$J$17),就可以了。

  運用二:精確查找

  第一,查找的數據沒有對應值,可以利用ISNA(ISERROR)函數屏蔽錯誤值。


  如上圖所示,表3是數據源,在下面左邊根據「番號」查找「俗稱」。單擊C51單元格,輸入公式=LOOKUP(1,0/(B51=$B$42:$B$45),$C$42:$C$45),然後下拉可以看到下面的C52和C54單元格出現錯誤值。這種情況可以利用ISNA(ISERROR)函數屏蔽錯誤值。

  只要在公式外面嵌套個if(isna(lookup(),"",lookup()),這樣的形式就可以把錯誤值屏蔽。在H51單元格,輸入這樣的公式:=IF(ISNA(LOOKUP(1,0/(G51=$B$42:$B$45),$C$42:$C$45)),"",LOOKUP(1,0/(G51=$B$42:$B$45),$C$42:$C$45)),下拉,就可以屏蔽錯誤值了。將錯誤值屏蔽了,表格就好看多了。

  上面公式中,"",是顯示空的意思,錯誤就顯示空,沒有就查找。

  第二,藉助錯誤值來判定產品是否存在。

  下圖所示根據左邊的數據源,來判定右邊對應的數據是否在番號列中。

  只需要嵌套一個isna函數就可以做到,如果沒有存在就錯誤,有存在就.這樣的形式。在H62單元格輸入公式:=IF(ISNA(LOOKUP(1,0/(G62=$B$62:$B$74))),"否","是"),下拉就即可得出結果。

  「圖啥」網友問:iserror與isna函數的區別。ISNA只屏蔽#N/A錯誤,ISERROR屏蔽所有錯誤。

  第三,LOOKUP函數多條件查找。

  如上圖所示,根據「俗稱」和「訂單號」來查找「訂單數」和「尾數」,可以套用這樣的公式:=LOOKUP(1,0/(條件(1)*(2)*(3).。。。。。),引用區域),用*或&將各個條件連接起來,*就是和的意思。

  此題有兩種方法:
  第一,在K112單元格輸入公式:=LOOKUP(1,0/(($I112=$B$112:$B$120)*($J112=$C$112:$C$120)),D$112:D$120),複製公式就可以得到結果。
  第二,另外也可以使用這個公式:=LOOKUP(1,0/($I112&$J112=$B$112:$B$120&$C$112:$C$120),D$112:D$120)

  第四,含某個字符查找。

  按照上圖所示,根據左邊的數據源,來對含有某個字符進行查找。單擊G128單元格,輸入公式:=LOOKUP(1,0/(FIND($F128,$B$128:$B$131)),B$128:B$131),就可以得到結果。

  VLOOKUP函數與lookup函數對比:

  第一,在多條件查找方面,就能看出lookup函數好用。用vlookup多條件查找,最簡單的方法就是借用輔助列。
  第二, VLOOKUP函數對於反向查找是需要嵌套其餘函數才能實現,而LOOKUP函數沒有正反之分,因此在這方面LOOKUP函數會更加容易實現。
  第三, vlookup在查找字符方面,可以使用*號類通配符。LOOKUP是不支持通配符的,但可以使用FIND (查找字符,數據源區域)的形式代替。


excel急速貫通班

越努力越幸運,部落窩與你同行

學習QQ群:133240130


相關焦點

  • excel中的經典查找引用函數之lookup函數的使用
    excel表格的眾多函數中,我們常用的查找引用函數大致有3個,分別是有縱向查找功能的vlookup函數、有橫向查找功能的hlookup函數和可以任意多條件查找引用的lookup函數。下面我們來介紹lookup函數的用法。
  • EXCEL查找函數【LOOKUP】和【HLOOKUP】
    簡單點說,LOOKUP的功能是根據特定的值進行模糊查找;     VLOOKUP的功能是根據特定的值在指定的列進行精確匹配,並返回對應列的值,同時兼具LOOKUP功能;    excel給出的LOOK UP函數語為:LOOKUP(lookup_value,lookup_vector,result_vector)
  • excel查找技巧:嵌套函數在區間查找中的應用解析
    在上一期區間查詢的教程中,我們掌握了IF、LOOKUP、VLOOKUP三種最基礎的函數解法,相信小夥伴們再次面對區間查詢的問題時也能沉著應對啦。但僅僅三種基礎的函數解法怎麼夠,今天我們要說的是比VLOOKUP函數更厲害的三大經典嵌套組合。學會了這三種經典嵌套組合,相信小夥伴們也能在職場上縱橫一番了。
  • excel查找技巧:嵌套函數在區間查找中的應用解析
    在上一期區間查詢的教程中,我們掌握了IF、LOOKUP、VLOOKUP三種最基礎的函數解法,相信小夥伴們再次面對區間查詢的問題時也能沉著應對啦。但僅僅三種基礎的函數解法怎麼夠,今天我們要說的是比VLOOKUP函數更厲害的三大經典嵌套組合。學會了這三種經典嵌套組合,相信小夥伴們也能在職場上縱橫一番了。
  • excel多條件查找方法:lookup、vlookup、indexmatch多條件查找
    多條件查找函數方法,分別是:lookup多條件查詢、vlookup多條件查找、indexmatch多條件查找。在excel中如果兩個單元格對比,相等則返回TRUE,在四則運算中用1表示。如果不相等則返回FALSE,使用0表示。那麼(A3=$I$3:$I$19)*(B3=$J$3:$J$19)這部分運算的結果就只有0或者1兩種情況,因為只有0*1、1*1、1*0這三種情況。按照二分法原理,lookup函數會在二分位處查找符合條件的數據。
  • excel函數公式:lookup函數多條件匹配查找應用
    此例中主要涉及以下幾個問題點:1.如何才能根據用戶的完成率、籤單金額數據查找對應的完成率檔位?2.提成對照表的排版方式是二維形式,給整個表格匹配增加難度。下面我們分步來跟大家一起分析解決這個問題。第一步:將完成率數據分別匹配到對應的檔位。
  • excel學習查找函數,如何能少的了lookup函數呢?
    在日常工作中,excel的查找函數可以稱得上是函數的精髓之一,因為查找函數單獨使用就可以實現很多日常操作需要,更別說很多複雜的函數往往也會嵌套查找函數使用,常用的查找函數有vlookup、index—match、lookup函數等,這些函數非常相似,有些查找選擇這些函數任意一個都可以完成,今天小編給大家介紹一下lookup函數的幾種用法,這個函數非常靈活,可以在很多種情況下運用
  • Excel查找,除了LOOKUP函數還有這對CP函數組合
    我們都知道Excel的VLOOKUP函數是經典的查找引用函數。但很多小夥伴們不知道的是INDEX+MATCH這個CP組合,其操作上更靈活,很多時候比VLOOKUP函數更高效。>MATCH(找誰, 從哪裡找, 匹配方式)其中:match_type可選參數,match_type 參數指定 Excel 如何在 lookup_array 中查找 lookup_value 的值。
  • Excel函數公式:萬能查找函數Lookup函數的神應用和技巧
    提起查找函數,大家第一時間想到的肯定是Vlookup,其實大多數人不知道,Lookup才是查找函數之王,它幾乎能高效地實現Vlookup函數的所有功能,部分功能是Vlookup函數無法比擬的。一、語法結構和基本使用方法。
  • 全面取代Vlookup,Xlookup函數10個經典用法
    Xlookup函數的出現,讓Vlookup、Lookup立刻變得暗淡無光。今天,蘭色全面整理一下Xlookup的經典用法。
  • LOOKUP函數經典用法
    Vlookup是我們最常用的查找函數,但在實際查找過程中,它有時卻顯得力不從心,如
  • Excel小技巧:讓你秒懂得lookup函數區間查找星座
    2、但是我們都知道關於文本型數字排序後並不是我們想要的結果,lookup函數和vlookup函數的模糊查找要求源數據是需要【按照升序排列】,因為根據日期區間查詢的,所有選擇這兩個函數來查找!11月9日,在源數據中是查找不到,它是在10月24日至11月22日之間,所以返回小於11月9日的最大值10月24日對應的天蠍座!
  • excel查找技巧:單個函數在區間查找中的應用解析
    就拿excel中的區間查找來說,在我們的工作中隨時都會用到,比如等級評定,績效考核等等。所以我們將推出關於區間取值的系列教程,該系列教程共分為3篇,分別是常規函數篇、經典嵌套函數篇、數組函數篇,將為小夥伴分享9種區間取值的方法,希望能豐富小夥伴們的excel知識。
  • Excel中Vlookup、Lookup、Hlookup函數用法小結
    我曾經撰文說過:對於從事物流行業而言,不懂Vlookup,就不懂excel函數,更不懂什麼是數據分析了。所以說,vlookup是函數之王。 對於Lookup函數,大家也許用的不多。其實,這個函數也很實用。lookup函數也是查找函數,可返回一行或一列區域中或者數組中的某個值。Lookup函數有兩種語法形式:向量型和數組型。
  • 職場這樣使用lookup函數才好用!不需要excel升序排列
    課程信息卡課程:《Excel天天訓練營》2.0圖文版章節:第2章-精通函數內容:查找(lookup)上節課我們講了lookup其實,lookup函數還有個經典使用方式:不需要按升序排列。如圖中案例表格,A列工號無需按升序排列,而且還可以實現多條件查詢,根據工號以及職位2個條件來查詢手機號。如果你沒有學會這些函數,那麼就無法應對大量數據的表格。
  • excel查找技巧:數組函數在區間查找中的應用解析
    相信在看過前兩期區間查找的教程後,小夥伴們已經大致掌握了6種關於區間查找的方法了,可以說在區間查找的問題上,已經能沉著應對了。但excel最大的魅力就是它的多元性,任何一道題都是一題多解的。本篇是區間查找系列的最後一篇教程——數組函數篇,同時它也是本次系列教程中最難的一篇。快跟著小編一起來學習吧!
  • excel查找技巧:數組函數在區間查找中的應用解析
    相信在看過前兩期區間查找的教程後,小夥伴們已經大致掌握了6種關於區間查找的方法了,可以說在區間查找的問題上,已經能沉著應對了。但excel最大的魅力就是它的多元性,任何一道題都是一題多解的。本篇是區間查找系列的最後一篇教程——數組函數篇,同時它也是本次系列教程中最難的一篇。快跟著小編一起來學習吧!
  • 應用技巧九:妙用LOOKUP函數升序與亂序查找
    數組語法的第二參數可以使單行或單列,也可以是多行或 多列,此時LOOKUP函數會根據第二參數的尺寸執行類似VLOOKUP函數或H LOOKUP函數升序查找的功能。LOOKUP函數要求第二參數(如為數組語法,則是第二參數的首行或首列)按升序排列,並與小於或等於查找值的最大值匹配。
  • 比Vlookup好用10倍,Lookup函數用法詳解
    在最新的Office365版中,新增Xlookup函數幾乎要完全取代Vlookup。
  • lookup經典用法,學會秒變excel達人
    我們在日常工作中,經常會看到這樣的公式:=LOOKUP(1,0/(查找範圍=查找值),結果範圍),如=LOOKUP(1,0/(A11=$B$2:$B$7),$A$2:$A$7),對於此公式,確實比較難理解,下面我們舉例說明,該公式的用法:如圖片所示,我們的目標是,找出符合兩個條件所對應的金額