Excel中的多條件搜索其實(shí)并不是很難,。很多朋友都知道lookup和vlookup函數(shù)是用來搜索的,但是對(duì)于如何使用卻很茫然,。
今天,,我將與你分享多標(biāo)準(zhǔn)搜索最常用的八種方法。如果之前沒看懂,,現(xiàn)在看這篇文章一定會(huì)給你帶來收獲~
下圖是一個(gè)科目成績(jī)表,。我們需要通過左表的姓名和學(xué)號(hào)找到右表對(duì)應(yīng)的成績(jī),并返回到左表的E列,。
方法1:使用查找功能,。
具體操作步驟如下:
1.選擇單元格E2-在編輯字段中輸入公式“=lookup (1,0/(A2=$ g $ 2: $ g $ 11)*(B2=$ h $ 2: $ h $ 11),,$ i $2: $ i $11)”,。
2.動(dòng)畫演示如下。
3.公式分析,。
(1)(A2=$ G $ 2: $ G $ 11)*(B2=$ H $ 2: $ H $ 11):
首先,,將單元格A2的內(nèi)容與單元格區(qū)域G2:G11的內(nèi)容進(jìn)行比較,并將單元格B2的內(nèi)容與單元格區(qū)域H2:H11的內(nèi)容進(jìn)行比較,。如果單元格A2的內(nèi)容等于單元格區(qū)域G2:G11的內(nèi)容,,則返回TRUE如果單元格B2的內(nèi)容等于單元格區(qū)域H2:H11的內(nèi)容,則返回FALSE,。根據(jù)真=1和假=0的邏輯值,,這部分公式可能得到三種結(jié)果:0 * 1;1*1;1*0,。公式A2=$G$2:$G$11返回{ 0,;0;0;0;0;1;0;0;0;0},因?yàn)橹挥蠫6單元格的值等于A2,。公式B2=$H$2:$H$11返回{ 0,;0;0;0;0;1;0;0;0;0},因?yàn)橹挥袉卧馠6的值等于B2,。所以公式(A2=$ G $ 2: $ G $ 11)*(B2=$ H $ 2: $ H $ 11)返回{ 0,;0;0;0;0;1;0;0;0;0}。
(2)0/(A2=$ G $ 2: $ G $ 11)*(B2=$ H $ 2: $ H $ 11):
LOOKUP函數(shù),,要想準(zhǔn)確找到,,第二個(gè)參數(shù)搜索區(qū)域必須按升序排序,結(jié)果正確,。但我們這里不按升序排序,我們用查找函數(shù)的二分法原理,將這個(gè)公式的結(jié)果值除以0(A2=$ G $ 23360 $ G $ 11)*(B2=$ H $ 2: $ H $ 11),,這里只會(huì)出現(xiàn)兩種情況:0/0或者0/1,。除法運(yùn)算中被除數(shù)不能為0,也就是分母不能為0,,所以在Excel中,,0/0會(huì)得到錯(cuò)誤值#DIV/0!0/1的結(jié)果是0,。所以這個(gè)公式返回的結(jié)果是{#DIV/0,!#DIV/0!#DIV/0,!#DIV/0,!#DIV/0!0;#DIV/0,!#DIV/0,!#DIV/0!#DIV/0,!}。
(3)=LOOKUP(1,,0/(A2=$ G $ 2: $ G $ 11)*(B2=$ H $ 2: $ H $ 11),,$I$2:$I$11):
根據(jù)步驟(2)中的公式返回的結(jié)果{#DIV/0!#DIV/0,!#DIV/0,!#DIV/0!#DIV/0,!0;#DIV/0,!#DIV/0!#DIV/0,!#DIV/0,!},然后根據(jù)查找原理,,忽略錯(cuò)誤值搜索,,所以這個(gè)公式的意義就是找到最接近1的值。在步驟(2)返回的結(jié)果數(shù)組中,,錯(cuò)誤值被忽略,,只有一個(gè)0,01,,所以返回I2:I11單元格范圍內(nèi)的第六個(gè)數(shù)據(jù),,即I7單元格“68”的內(nèi)容。
方法二:使用VLOOKUP函數(shù)。
具體操作步驟如下:
1.選擇單元格E2-在編輯字段中輸入公式“=vlookup (a2b2,,if ({1,,0},$ g $2: $ g $11 $ h $2: $ h $11,,$ i $2: $ i $11),2,。
2.動(dòng)畫演示如下,。
3.公式分析。
(1)A2B2:
眾所周知,,VLOOKUP函數(shù)的查找值默認(rèn)只能有一個(gè)條件。我們?cè)谶@里尋找多個(gè)條件,,所以我們可以通過文本連接器將兩個(gè)條件連接起來作為新的查找值,。新的搜索值也是“姓名和學(xué)號(hào)”,。
(2)如果({1,0},,$G$2:$G$11$H$2:$H$11,,$I$2:$I$11):
{1,,0}等效于{TRUE,,F(xiàn)ALSE}。所以這個(gè)公式有兩種情況:第一種情況:=if (1,,$ G $2: $ G $11 $ H $2: $ H $11,,$ I $2: $ I $11),返回單元格區(qū)域G2:G11和H 2: H的內(nèi)容第二種情況:=if (0,,$ g $2: $ g $11 $ h $23360 $ h $11,,$ I $ 233330因此,{1,,0}相當(dāng)于重構(gòu)兩列數(shù)據(jù),。第一列數(shù)據(jù)是合并單元格區(qū)域G2:G11和單元格區(qū)域H2:H11的內(nèi)容得到的數(shù)據(jù),第二列數(shù)據(jù)是單元格區(qū)域I2:I11構(gòu)建的數(shù)據(jù),,如下圖所示,。
(3)=VLOOKUP(A2B2,IF({1,,0},,$G$2:$G$11$H$2:$H$11,,$I$2:$I$11),2,,0):
第一個(gè)參數(shù)查找值“A2B2”,,要返回的結(jié)果值屬于IF構(gòu)建的新數(shù)據(jù)區(qū)的第二列,所以第三個(gè)參數(shù)是2,,這里是精確搜索,,所以第四個(gè)參數(shù)是0或者FALSE。
方法3:使用OFFSET函數(shù)和MATCH函數(shù),。
具體操作步驟如下:
1.選擇單元格E2-在編輯字段中輸入公式“=offset ($ i $1,,match (a2b2,$ g $2: $ g $11 $ h $2: $ h $11,,0)”,,按組合鍵“Ctrl Shift Enter”并輸入公式。
2.動(dòng)畫演示如下,。
3.公式分析。
(1)匹配(A2B2,,$ G $ 2: $ G $ 11 $ H $ 2: $ H $ 11,0):
通過文本連接將單元格A2的名稱與單元格B2的學(xué)號(hào)匹配作為新的搜索內(nèi)容,,通過文本連接將G列的名稱與H列的學(xué)號(hào)匹配作為新的搜索區(qū)域,0表示精確搜索,。此公式返回的結(jié)果是“6”,。
(2)=OFFSET($I$1,MATCH(A2B2,,$ G $ 2: $ G $ 11 $ H $ 2: $ H $ 11,0),,):
OFFSET函數(shù)是指通過基于指定的單元格引用給出偏移量來獲取新的引用,。返回對(duì)具有指定行數(shù)和列數(shù)的單元格或單元格區(qū)域的引用,。返回的引用可以是單個(gè)單元格或一組單元格。您可以指定要返回的行數(shù)和列數(shù),。公式指示$I$1用作引用單元格,,MATCH找到的序列用作要下移的行數(shù)。省略偏移量列數(shù)意味著沒有偏移量,,省略第三和第四個(gè)參數(shù)意味著只返回一個(gè)單元格區(qū)域,。步驟(1)中MATCH函數(shù)的結(jié)果是6,所以“68”下移6行就找到了,。
方法4:使用SUM函數(shù),。
具體操作步驟如下:
1.選擇單元格E2-在編輯字段中輸入公式“=sum((A2=$ G $ 2: $ G $ 11)*(B2=$ H $ 2: $ H $ 11)*($ I $ 2: $ I $ 11)”-按。
2.動(dòng)畫演示如下,。
3.公式分析,。
(1)A2=G $ 2:G $ 11:
判斷單元格A2的內(nèi)容是否等于單元格區(qū)域G2:G11的內(nèi)容,,如果相等則返回TRUE,否則返回FALSE,。該公式返回邏輯值數(shù)組{ FALSE假的,;假的;假的,;假的,;真實(shí);假的,;假的,;假的;FALSE} .
(2)B2=2:加元11加元:
確定單元格B2的內(nèi)容是否等于單元格區(qū)域H2:H11的內(nèi)容,,如果相等則返回TRUE,,否則返回FALSE。該公式返回邏輯值數(shù)組{ FALSE假的,;假的,;假的;假的,;真實(shí),;假的;假的,;假的,;FALSE} .
(3)=SUM((A2=$ G $ 2: $ G $ 11)*(B2=$ H $ 2: $ H $ 11)*(I $ 2: $ I $ 11)):
將三個(gè)值相乘。只有前兩個(gè)值為真,,最終結(jié)果才為真,,而真=1,假=0,。從上面兩步可以看出,,只有第六個(gè)值為真,其余都為假,。與I2:I11的值相乘,,最后用SUM函數(shù)將得到的值相加,最終結(jié)果為“68”,。向下填充公式以獲取其他單元格的值,。
方法5:使用SUMPRODUCT函數(shù)。
具體操作步驟如下:
1.選擇單元格E2-在編輯字段中輸入公式“=sum product((A2=$ G $ 2: $ G $ 11)*(B2=$ H $ 2: $ H $ 11)*($ I $ 2: $ I $ 11)”,。
2.動(dòng)畫演示如下,。
3.公式分析。
(1)A2=G $ 2:G $ 11:
判斷單元格A2的內(nèi)容是否等于單元格區(qū)域G2:G11的內(nèi)容,,如果相等則返回TRUE,,否則返回FALSE,。該公式返回邏輯值數(shù)組{ FALSE假的;假的,;假的,;假的;真實(shí),;假的,;假的;假的,;FALSE} .
(2)B2=2:加元11加元:
確定單元格B2的內(nèi)容是否等于單元格區(qū)域H2:H11的內(nèi)容,,如果相等則返回TRUE,否則返回FALSE,。該公式返回邏輯值數(shù)組{ FALSE假的,;假的;假的,;假的,;真實(shí);假的,;假的,;假的;FALSE} .
(3)=sum product((A2=$ G $ 2: $ G $ 11)*(B2=$ H $ 2: $ H $ 11)*($ I $ 2: $ I $ 11)):
將三個(gè)值相乘,。只有前兩個(gè)值為真,,最終結(jié)果才為真,而真=1,,假=0。從上面兩步可以看出,,只有第六個(gè)值為真,,其余都為假。然后乘以I2:I11的值,,最后用SUMPRODUCT函數(shù)乘以每個(gè)數(shù)組對(duì)應(yīng)元素的值,,最后相加得到結(jié)果“68”,。向下填充公式以獲取其他單元格的值,。
方法六:使用MAX函數(shù)。
具體操作步驟如下:
1.選擇單元格E2-在編輯字段中輸入公式"=max((A2=$ g $ 2: $ g $ 11)*(B2=$ h $ 2: $ h $ 11)*($ I $ 2: $ I $ 11)"按下,。
2.動(dòng)畫演示如下,。
3.公式分析。
(1)A2=G $ 2:G $ 11:
判斷單元格A2的內(nèi)容是否等于單元格區(qū)域G2:G11的內(nèi)容,,如果相等則返回TRUE,,否則返回FALSE,。該公式返回邏輯值數(shù)組{ FALSE假的;假的,;假的,;假的;真實(shí),;假的,;假的;假的,;FALSE} .
(2)B2=2:加元11加元:
確定單元格B2的內(nèi)容是否等于單元格區(qū)域H2:H11的內(nèi)容,,如果相等則返回TRUE,否則返回FALSE,。該公式返回邏輯值數(shù)組{ FALSE假的,;假的;假的,;假的,;真實(shí);假的,;假的,;假的;FALSE} .
(3)=MAX((A2=$ G $ 2: $ G $ 11)*(B2=$ H $ 2: $ H $ 11)*($ I $ 2: $ I $ 11)):
將這三個(gè)數(shù)組相乘(A2=$ G $ 2: $ G $ 11)*(B2=$ H $ 23360 $ H $ 11)*($ I $ 2: $ I $ 11),,最后的結(jié)果是{ 0,;0;0;0;0;68;0;0;0;0},根據(jù)MAX函數(shù)原理,,在一組值中找出最大值并返回,。顯然,結(jié)果數(shù)組中的最大值是“68”,,所以返回的結(jié)果是68,。向下填充公式以獲取其他單元格的值。
方法7:使用MIN函數(shù)IF函數(shù),。
1.選擇單元格E2-在編輯字段中輸入公式“=min(if((A2=$ g $ 2: $ g $ 11)*(B2=$ h $ 2: $ h $ 11),,$ i $2: $ i $11)”。
2.動(dòng)畫演示如下,。
3.公式分析,。
(1)(A2=$ G $ 2: $ G $ 11)*(B2=$ H $ 2: $ H $ 11):
判斷單元格A2的內(nèi)容是否等于單元格區(qū)域G2:G11的內(nèi)容,如果相等則返回TRUE,,否則返回FALSE,。確定單元格B2的內(nèi)容是否等于單元格區(qū)域H2:H11的內(nèi)容,如果相等則返回TRUE,,否則返回FALSE,。該公式返回0和1的數(shù)組{ 0,;0;0;0;0;1;0;0;0;0}。
(2)如果((A2=$ G $ 2: $ G $ 11)*(B2=$ H $ 2: $ H $ 11),,$I$2:$I$11):
如果(a2=$ g $ 2: $ g $ 11)*(B2=$ h $ 2: $ h $ 11)為真,,則返回$I$2:$I$11的單元格區(qū)域的內(nèi)容;如果是假的,,就是空的,。所以這個(gè)公式返回的結(jié)果是{ FALSE假的;假的,;假的,;假的;68;假的,;假的,;假的;FALSE} .
(3)=MIN(IF((A2=$ G $ 2: $ G $ 11)*(B2=$ H $ 2: $ H $ 11),,$I$2:$I$11)):
MIN函數(shù)返回一組值中的最小值,,空單元格、邏輯值和文本將被忽略,。根據(jù)步驟(2),,只有68是數(shù)值,所以返回的結(jié)果是68,。向下填充公式以獲取其他單元格的值,。
方法8:使用索引函數(shù)MATCH函數(shù)。
1.選擇E2單元格-在編輯字段中輸入公式“=index ($ I $2: $ I $11,,match (A2b2,,$ G $2: $ G $11 $ h $2: $ h $11,0)”并按下組合鍵“Ctrl Shift”,。
2.動(dòng)畫演示如下,。
3.公式分析。
2:美元,;
要返回的結(jié)果所在的單元格區(qū)域,。這個(gè)公式給出了一組數(shù)組{ 80;71;82;84;70;68;90;74;70;89},。
(2)匹配(A2B2,,$ G $ 2: $ G $ 11 $ H $ 2: $ H $ 11,0):
通過文本連接將單元格A2的名稱與單元格B2的學(xué)號(hào)匹配作為新的搜索內(nèi)容,通過文本連接將G列的名稱與H列的學(xué)號(hào)匹配作為新的搜索區(qū)域,,0表示精確搜索,。此公式返回的結(jié)果是“6”,。
(3)=INDEX($I$2:$I$11,,MATCH(A2B2,,$ G $ 2: $ G $ 11 $ H $ 2: $ H $ 11,0)):
INDEX函數(shù)返回一個(gè)值或?qū)Ρ砀窕騾^(qū)域中的值的引用。從步驟(1)和(2)獲得的上述公式的結(jié)果可以寫成=INDEX({ 80,;71;82;84;70;68;90;74;70;89},6),。6是行號(hào),即從{ 80,;71;82;84;70;68;90;74;70;89}這組值返回第6行單元格值的引用,,所以是68。向下填充公式以獲取其他單元格的值,。
官方微信
TOP