在工作中經(jīng)常會遇到查找文本的問題,單個條件的唯一值查找,首選使用VLOOKUP函數(shù),也可以使用INDEX,LOOKUP函數(shù)。如果要通過多個條件來查找一個唯一值,上面三個函數(shù)也都是可以的,我們今天就來介紹三種多條件查找唯一值的公式組合:
問題描述:我們有一個表格,表格中的數(shù)據(jù)通過兩個條件能夠鎖定一個唯一值,我們要通過兩個條件來查找到這個唯一值。
這里的這個結(jié)果我們限定為文本,數(shù)值也沒有問題,也能夠查找出來,當(dāng)然如果是通過兩個條件來查找唯一的數(shù)值,那就更簡單了,可以使用SUMIFS,SUM,SUMPRODUCT函數(shù)來查找。
VLOOKUP+IF{1,0}
這個組合我們之前也用過,可以使用IF {1,0}來重新排列數(shù)據(jù)源的索引列的位置,用來查找索引列不在第一列的這種數(shù)據(jù)源,拿上圖來舉個例子,如果要通過條件2來查找條件1的話,就要使用這個組合:
=VLOOKUP(F2,IF({1,0},B2:B5,A2:A5),2,0)
這是一個數(shù)組公式,需要使用CTRL+SHIFT+ENTER三鍵結(jié)束公式。
本篇里的其他兩種組合也都是數(shù)組公式,同樣需要使用三鍵。
我們來看,如果是多條件如何查找:
=VLOOKUP(E2&F2,IF({1,0},$A$2:$A$5&$B$2:$B$5,$C$2:$C$5),2,0)
其實很簡單,就是構(gòu)造兩個內(nèi)容:
- 索引:E2&F2,兩個條件用&符號連接成一個字符串,作為第一參數(shù)。
- 索引列:$A$2:$A$5&$B$2:$B$5,將數(shù)據(jù)源中的兩個條件列用&符號連接,作為索引列,用IF {1,0},重新構(gòu)造數(shù)據(jù)源。
這就是這個組合公式的原理。
INDEX+MATCH
INDEX+MATCH也是一個常用的查找組合,單條件查找肯定沒問題,我們直接來看多條查找:
=INDEX($C$2:$C$5,MATCH(E2&F2,$A$2:$A$5&$B$2:$B$5,))
這個公式看起來是不是和上一個公式有些相近,對,也是使用了連字符&,目標(biāo)數(shù)據(jù)是一列數(shù)據(jù),要找到其中一個,就要找到對應(yīng)的行號,MATCH就起到通過兩個條件來查找對應(yīng)行號的作用。這個公式最容易出錯的地方是,MATCH函數(shù)的第三參數(shù),我們在函數(shù)專欄里講過,MATCH函數(shù)有三個參數(shù):
公式里只寫了一個逗號,那么第三參數(shù)就默認(rèn)為0--精確匹配,這個很重要,如果沒有這個逗號,就沒有指定精確匹配,公式的結(jié)果就有可能不正確,所以一定要記得加上這個逗號。
LOOKUP+1,0/()
LOOKUP我寫了兩個公式:
一個同前兩個組合一樣使用的是連字符&:
=LOOKUP(1,0/(E2&F2=$A$2:$A$5&$B$2:$B$5),$C$2:$C$5)
一個使用的是乘號*:
=LOOKUP(1,0/($A$2:$A$5=E2)*($B$2:$B$5=F2),$C$2:$C$5)
這兩個符號的功能是一樣的,都是為了使兩個條件同時成立,就是我們所說的AND邏輯。
LOOKUP這種寫法,就是典型的二分法,把數(shù)據(jù)分成符合條件與不符合條件的兩面,然后取出符合條件的內(nèi)容。
以上就是今天介紹的三種,多條件查找唯一值數(shù)據(jù)的方法,建議大家使用LOOKUP,最后再提示一下,今天將的都是數(shù)組公式,寫好公式后,別忘了使用CTRL+SHIFT+ENTER。