Hello,,大家好,,最近有粉絲問到:有沒有什么簡單的方法,能在不添加輔助列的情況下快速的搞定多條件查詢,,他覺得利用輔助列比較low,。今天跟大家分享一種我覺得非常適合新手使用的方法,就是利用lookup函數(shù),,使用這個函數(shù)即使我們不理解公式的含義,,只需要記得固定的格式,直接套用即可,,下面就讓我們來學習一下吧 一,、認識lookup函數(shù) 大多數(shù)人非常熟悉的vlookup函數(shù),就是由lookup函數(shù)改進得來的,,所以lookup函數(shù)也是一個查找函數(shù),。 Lookup函數(shù):從單行或單列中查找數(shù)據(jù) 語法:=LOOKUP(lookup_value, lookup_vector, result_vector) 第一參數(shù):需要查找值 第二參數(shù):查找的數(shù)據(jù)區(qū)域,一行或者一列 第三參數(shù):返回的結果列,,需要注意的是第三參數(shù)的數(shù)據(jù)個數(shù)必須與第二參數(shù)的數(shù)據(jù)格式相等 在使用lookup之前,,我們還需要對第二參數(shù)查找的數(shù)據(jù)區(qū)域進行升序排序,否則的話可能會返回錯誤的結果,。還有一點需要注意的是lookup的查找原理與vlookup的近似匹配是一模一樣的,,如果找不到精確的結果,lookup就會返回小于或等于查找值的最大值,。下面我們來通過一個實際的例子來了解下lookup函數(shù) 二,、使用lookup函數(shù) 比如在這里,我們想要求一下張飛的考核得分,,如果我們不對數(shù)據(jù)區(qū)域進行升序排序,,直接使用lookup函數(shù)來查找結果,公式為:=LOOKUP(L4,B2:B9,C2:C9),,他的結果是208,,這個結果并不是張飛對應的考核得分,當我們對查找區(qū)域進行升序排序后,,才能找到張飛對應的195分,,所以當我們使用lookup函數(shù)的時候,需要首先對查找數(shù)據(jù)區(qū)域進行升序排序。還有就是第三與第二參數(shù)的數(shù)據(jù)個數(shù)必須相等,,否則的話函數(shù)就會返回錯誤值 三,、利用lookup函數(shù)解決多條件查詢 1.為什么要使用多條件查詢 在Excel中如果我們的查找值在查找區(qū)域中存在重復,那么函數(shù)僅僅會返回第一個找到的結果,,這樣的話就可能得到一個錯誤的結果 如下圖,,李白是存在重復值的,在這里我們想要查找3班李白的總分,,如果僅僅將李白作為查找值,,我們使用vlookup函數(shù)來查找數(shù)據(jù)他的結果是186,這個是1班李白對應的分數(shù),,并不是3班李白對應的分數(shù),,這樣的話結果就是錯誤的,之所以會產(chǎn)生這樣的結果的原因是因為186是第一個李白對應的數(shù)據(jù) 2.lookup多條件查詢 既然一個條件我們不能查找到精確的結果,,那么我們就要增加條件來獲得精確的結果,,這個就是多條件查詢存在的意義 在這里我們只需要將公式設置為:=LOOKUP(1,0/((B2:B9=J4)*(C2:C9=K4)),D2:D9)然后點擊回車即可查找到正確的結果。這個函數(shù)是一個數(shù)組公式,,理解起來可能比較困難,,下面我們來剖析下這個函數(shù)的結構 公式:=LOOKUP(1,0/((B2:B9=J4)*(C2:C9=K4)),D2:D9) 第一參數(shù):查找值,1 第二參數(shù):查找的數(shù)據(jù)區(qū)域,,0/((B2:B9=J4)*(C2:C9=K4)) 第三參數(shù):返回的結果列,,D2:D9 主要跟大家將講解下他的第二參數(shù),0/((B2:B9=J4)*(C2:C9=K4))這是一個數(shù)組公式,,B2:B9=J4與C2:C9=K4會與數(shù)據(jù)區(qū)域的中的每一個元素都發(fā)生計算,,如下圖所示 B2:B9=J4他的意思是:班級等于3班的,它的結果如下圖橙色區(qū)域所示,,是一列邏輯值,。C2:C9=K4的結果如下圖綠色區(qū)域所示,它的意思是姓名等于李白,。隨后將這兩列結果相乘,,可以將fales看作是0,true看作是1,,相乘之后會得到一列0和1的數(shù)字,只有兩個條件都滿足它的結果才是1,,最后我們再用0除以相乘結果,,分母為0的話就會返回錯誤值,lookup會自動的將錯誤值忽略掉,,這樣的話就僅僅只剩0這個結果了,,這樣的話也就不用進行升序排序了。這個就是第二參數(shù)的計算過程 如果你覺得這個函數(shù)比較難懂,只需要記得這個公式的設置格式即可,。格式為:=lookup(1,0/((條件1)*(條件2)*(條件3)),結果列)有幾個條件就設置幾個條件 以上就是今天分享的全部內(nèi)容,,怎么樣?你學會了嗎,? 我是Excel從零到一,,關注我,持續(xù)分享更多Excel技巧 |
|