excel多條件查找方法:lookup、vlookup、indexmatch多條件查找

2021-02-23 兮訣文案

 辦公微生活 2019-06-01 13:37

本文分享三種excel多條件查找函數方法,分別是:lookup多條件查詢、vlookup多條件查找、indexmatch多條件查找。

下面通過一個實例跟大家分享一下常用的3種excel多條件查找函數。

下表是某電商公司的客戶投訴表,現在需要通過A表中的客戶姓名與地區兩個條件來查詢B表中的產品型號,返回到A表的E列中。

下面是三種excel雙條件查找返回的方法,依次來看:

第一 excellookup多條件查詢

函數公式:=LOOKUP(1,0/(A3=$I$3:$I$19)*(B3=$J$3:$J$19),$K$3:$K$19)

公式解析:首先通過A3單元格與B表I列數據做對比,同時用B3單元格與B表J列信息做對比。

在excel中如果兩個單元格對比,相等則返回TRUE,在四則運算中用1表示。如果不相等則返回FALSE,使用0表示。

那麼(A3=$I$3:$I$19)*(B3=$J$3:$J$19)這部分運算的結果就只有0或者1兩種情況,因為只有0*1、1*1、1*0這三種情況。

按照二分法原理,lookup函數會在二分位處查找符合條件的數據。大家都知道lookup函數想要精準查找那麼這組數值必須要升序,但實際上這組數據運算結果0和1的順序是混亂的。

所以就想到了用0來除以0和1的方式來區分。由於分母不能為0,所以0/0返回的是錯誤,0/1返回的結果為0。Lookup函數在查找的時候是忽略錯誤的,所以只有數據運算結果為1的公式滿足條件。

那麼我們就很好理解0/(A3=$I$3:$I$19)*(B3=$J$3:$J$19)的目的就是將正確結果用0表示,其他的變成錯誤值,利用函數查找忽略錯誤這個特點完成查找。

總結:本函數由於使用了二分法原理查找,所以如果數據量較大時運算會很慢。

第二 vlookup多條件查找

vlookup函數是我們最常用的函數,vlookup函數主要用於垂直方向上向右查找。如下圖:

使用G2單元格在A列中查找,如果查找到對應單元格則返回A列向右第二列的數據。簡而言之:=VLOOKUP(查找什麼,在哪查找,從條件所在列算起找到後返回對應的第幾列數據,精確或模糊查找)。

那vlookup如何才能完成多條件查詢呢?。

還以客戶投訴表為例,按照姓名&地區來匹配產品型號返回到E裡中。

其實我們是可以將A、B兩表中插入輔助列,將姓名和地區都合併到一個單元格中然後使用vlookup來完成。

但是插入2個輔助列後整個表列數發生變動,在工作中往往單元格中有很多公式,如果列數發生變化將直接導致表格中函數公式運算結果錯誤。所以添加輔助列的方式雖然簡單,但不是最好的方式。

那麼不用輔助列如何才能完成多條件查詢呢?

首先我們查找值合併很簡單,輸入函數vlookup時第一個參數可以寫成A3&B3,即可將A3、B3兩個單元格內容合併,作為查找值。

現在問題查找區域也需要做合併。

如果把兩列內容合併在一起,可輸入公式=H2:H19&I2:I19,按ctrl+shift+回車生成結果,然後下拉公式,這樣兩個條件就變成了一個。

接下來通過IF函數提取對應的J列數據,可輸入公式=IF({0,1},H2:H19&I2:I19,J2:J19),按ctrl+shift+回車生成結果,然後下拉公式,{0,1}表示邏輯值{FALSE,TRUE}。

下面我們詳細來解析一下:

首先在excel中0表示錯誤,1以及其他所有數值表示正確。如下表示例:

通過上面的例子我看到如果IF判斷0則返回錯誤,判斷1則返回正確。

現在我們可以將公式拆分為以下兩種情況:

IF(0, H2:H19&I2:I19,J2:J19),0表示FALSE,所以只能返回J列數據。

IF(1, H2:H19&I2:I19,J2:J19),1表示TRUE,所以只能返回H列和I列合併結果。

那麼IF({0,1},H2:H19&I2:I19,J2:J19)怎麼理解呢?

既然是數組公式,那麼可以將它理解為同時返回兩組數據,0對應的是J2:J19,1對應的H2:H19&I2:I19,構建了兩列數據。

最後我們使用vlookup函數完成嵌套,=VLOOKUP(A3&B3,IF({1,0},H3:H20&I3:I20,J3:J20),2,0),這裡我們就可以理解為用A3&B3在H3:H20&I3:I20中查找對應J3:J20中的數據。因為公式中IF({1,0},H3:H20&I3:I20,J3:J20)返回的順序是先返回H3:H20&I3:I20再返回J3:J20。

注意:很多人不明白為什麼嵌套的時候IF第一參數又變成了{1,0},因為這裡我們需要返回的是H和I合併結果作為查找區域。PS:所有數組公式完成輸入後要使用數組三鍵ctrl+shift+ener來返回運算結果!

這樣我們不用輔助列也能通過vlookup函數完成多條件查詢。

第三 OFFSET+MATCH函數公式

很多excel高手都知道offset可以當vlookup函數使用,但職場新人大多都不了解。

下面舉例跟大家分享一下通過offset函數完成多條件查詢。

函數公式:{=OFFSET($J$2,MATCH(A3&B3,$H$3:$H$19&$I$3:$I$19,0),)}

公式解析:

完成多條件查詢第一步先要確定A表中姓名&地區合併後對應在B表中姓名&地區的順序。這裡我們通過MATCH來完成,我們用個簡單的例子說明。

=MATCH(A2,E:E,0)表示使用A2單元格在E列中查找,0表示精確查找、1小於、-1大於,通常情況下都是精確查找。

MATCH(A3&B3,$H$3:$H$19&$I$3:$I$19,0)表示將A3與B3合併作為查找內容,H列和I列合併作為查找區域,0表示精確查找。

確定順序後我們通過OFFSET函數以順序數據作為偏移行數返回對應數值。

OFFSET函數的功能是以指定的單元格引用為參照系,通過給定偏移量得到新的引用。

返回的引用可以為一個單元格或區域。並可以指定返回的行數或列數。Reference 作為偏移量參照系的引用區域。Reference 必須為對單元格或相連單元格區域的引用;否則,函數 OFFSET 返回錯誤值#VALUE!。

=OFFSET(J2,1,0,1,1)表示以J2單元格作為參照物向下偏移1行,向右偏移0列,返回1行1列數據區域。

=OFFSET($J$2,MATCH(A3&B3,$H$3:$H$19&$I$3:$I$19,0),)表示以$J$2為參照單元格,通過MATCH查找出來順序作為向下偏移的行數,偏移列數量省略表示不偏移,第三個、第四個參數省略表示只返回一個單元格區域。

相關焦點

  • 多條件數據查詢,你選擇用lookup、vlookup還是index+Match函數?
    今天我們就來詳細的學習一下Excel非常實用查詢函數:lookup、vlookup以及Index+Match函數在不同情況下的多條件查詢使用。看看大家都喜歡用哪一類函數進行數據的多條件查詢。函數一:vlookup函數進行多條件數據查詢案例說明:我們需要利用vlookup函數根據產品和日期兩個條件,查詢對應的當天產品出庫數量。
  • excel中使用vlookup函數查找老出錯?試試index—match函數吧
    在excel中,運用查找函數是excel中進行數據統計分析最常用的操作之一,說起查找函數,很多人首先會想到vlookup函數,其實excel中的查找函數有很多種,比如lookup、index-match等,尤其是index—match函數的使用範圍比vlookup函數更加廣泛,在反向查找、橫向查找等方面能夠克服vloolup函數的不便,提供更加容易理解的查找思路
  • Excel中最難的多條件查找公式,幫你整理好了
    前面跟大家分享了Excel中多條件查詢的20種方法,但是當我們查找的結果區域是變化的時候怎麼辦?方法二:LOOKUP+offset函數查找的固定套路:Lookup函數用法之一,向量形式=lookup(查找值,條件區域,結果區域)數組形式=lookup(查找值,結果區域)公式解釋:
  • excel中怎樣進行多條件查找?
    在excel中,進行多條件查找的函數運用vlookup和index—match函數都比較簡單,下面就分別對這兩個函數做一個比較詳細的介紹。一、vlookup函數。如下圖所示,根據班級和姓名該如何查找成績呢?
  • excel中index—match查找函數實例講解
    在excel中,運用查找函數是excel中進行數據統計分析最常用的操作之一,說起查找函數,很多人首先會想到vlookup函數,其實excel中的查找函數有很多種
  • Vlookup函數的多列查找、多條件查找
    vlookup函數可能很多人用過,但多列查找和多條件查找很多人不會,我們來先回顧一下函數語法。
  • Excel中查找函數vlookup和index—match使用方法詳細介紹
    在Excel中,談到查找函數推薦最多的就是vlookup函數和index—match函數,很多人把兩個函數作為判斷Excel水平的重要指標,可想而知這兩個函數在Excel數據計算中的重要性,本文就和大家一起來看看這兩個函數的用法吧。
  • 工作中最常用的excel多條件計算公式
    本例為最簡單的情況,再多一點區間的話用if就會很麻煩,這時候可以使用lookup或者vlookup函數,具體參見:vlookup替換複雜判斷中的IF函數、LOOKUP函數的幾種經典用法(第5個例子)本例是countifs函數的典型用法,可以參考:條件計數函數COUNTIF&COUNTIFS5、多條件查找【例5】要求根據入庫時間和產品名稱進行查找
  • excel怎樣運用VLOOKUP函數與INDEX-MATCH函數進行查找?
    在實際工作中,我們經常使用vlookup函數與index-match函數進行查找,這倆個函數都可以實現查找的功能,下面就基本查找,反向查找,多條件查找對比下這兩個函數的運用方式。index-match函數中先輸入match函數,match函數第一個參數表示查找依據,第二個參數表示查找依據所在的列,第三個參數表示精確匹配,此時顯示查找的數據所在單元格第幾行。外面嵌套index函數,第一個參數表示所在列,第二個參數match表示所在行,此時就實現了查找的目的。
  • excel多條件查找公式大全
    今天學習多條件查找的方法,蘭色整理了10種方法和公式,同學們要收藏好,下次不要在微信平臺再問蘭色怎麼樣多條件查找了。
  • 扔掉vlookup,這才搞定多條件查找最簡單的方法
    我們都知道當我們使用vlookup函數來查找數據的時候,查找值在數據區域中是不能有重複值的,如果有重複值vlookup函數僅僅會返回第一個查找到的結果,如果要查找的結果不在數據區域的第一個位置,那麼函數就會返回錯誤的結果,這個時候我們就需要增加一個條件,來使查找值變得唯一,只有這樣的我們才能在數據表中查找到正確的結果,這也是所謂的多條件查詢二、使用vlookup
  • 10種excel多條件查詢的方法,很多人1種都沒見過,更別說用了
    如下圖在這裡我們想要查找2班李白的考試成績,使用vlookup函數查找李白成績的時候他返回的結果是86,這個86是1班李白的成績,並不是我們想要的,這個結果就是錯誤的。 那麼我們如何查找到正確的結果呢?
  • Excel小技巧:讓你秒懂得lookup函數區間查找星座
    2、但是我們都知道關於文本型數字排序後並不是我們想要的結果,lookup函數和vlookup函數的模糊查找要求源數據是需要【按照升序排列】,因為根據日期區間查詢的,所有選擇這兩個函數來查找!(以大欺小法)因此lookup函數向量用法也可以寫成那麼vlookup函數用法於此差不多,在F17中輸入公式=VLOOKUP(TEXT(B17,"mdd")*1,$C$2:$D$14,2)今天關於lookup和vlookup函數的區間查找你學會了嗎
  • LOOKUP多條件查找函數 你是不是還停留在VLOOKUP
    在EXCEL中,多條件查找匹配唯一值,例如這裡,我們用3個條件來匹配一個唯一值,以下是具體應用案例,LOOKUP函數案例介紹在這個表格中的I2單元格要通過F2 G2 H2三個單元格作為條件去匹配D列裡面對應的數據
  • Excel高手必備的20個多條件查詢的方法
    今天在製作一個簡單的公司人事查詢,總結了一下多條件查詢,原來Excel中竟然有這麼多的方法,那麼可能會有不少人會認為:我只要會一種最簡單的方法不就行了,幹嘛要費腦子學那麼多?其實學會更多不就是為了掌握理解Excel公式的解題思路,因為思路也會決定出路。
  • excel查找函數:如何用Vlookup進行多條件查找
    ,但是輔助列中日期變成了數字,那這時還能用Vlookup進行查找嗎?還有,能不能不用輔助列進行多條件查找呢?通常使用Vlookup函數進行多條件查找的時候從上圖可以看到,雖然輔助列姓名後不是日期,但我們使用vlookup進行查找還是能得到正確的結果,這是怎麼回事呢?
  • excel中的經典查找引用函數之lookup函數的使用
    excel表格的眾多函數中,我們常用的查找引用函數大致有3個,分別是有縱向查找功能的vlookup函數、有橫向查找功能的hlookup函數和可以任意多條件查找引用的lookup函數。下面我們來介紹lookup函數的用法。
  • Excel多條件複雜求和,三種方法,你會幾種?
    我們在excel中經常使用查詢,而最難的就是多條件查詢,因為條件比較多,有些函數在進行多條件查詢的時候,函數的參數比較複雜,這讓很多朋友望而生畏
  • Excel如何多條件查找匹配(行列交叉)欄位數值index+match
    對於辦公軟體Microsoft Office、WPS Office相信大家都不陌生;在工作中我們經常用到Excel表格對雜亂龐大的數據進行整理,但對於特定的數據欄位格式,按照多個條件進行行列交叉數據查找時
  • 【Excel函數教程】解析lookup的經典查找方式
    本期講座包括兩部分內容:第一,lookup函數用法介紹;第二,通過實例講解lookup函數經典的條件查找解法,通用公式基本可以寫為:LOOKUP(2,1/(條件),查找數組或區域)或LOOKUP(1,0/(條件),查找數組或區域)。