查找在Excel中用到的非常多,但是大家一般常用的就是基本的VLOOKUP、LOOKUP、SUMPRUDOCT等,一般都是單條件查詢,如果要一對(duì)多查詢就得用到萬(wàn)金油了,學(xué)會(huì)萬(wàn)金油在Excel里基本上沒有查找不了的。 如下動(dòng)畫,根據(jù)配件名稱分別查詢?nèi)掌?、配件?hào)、配件名稱及金額 G5單元格公式 =IFERROR(INDEX(B$2:B$509,SMALL(IF($D$2:$D$509=$I$2,ROW($1:$508),9^9),ROW(A1))),'')按三鍵【CTRL SHIFT ENTER】,向下拉在向右拉公式 公式解釋 1、IF($D$2:$D$509=$I$2,ROW($1:$508),9^9),先判斷D2:D509是否等于I2單元格的值 ,是即為TRUE,不是為FALSE,得到一組TRUE和FALSE的數(shù)組,在用IF判斷為TRUE的就返回ROW($1:$508)對(duì)應(yīng)的行號(hào)(即D2:D509區(qū)域?qū)?yīng)的行號(hào)。如果為FALSE就返回9^9,即9的9次方冪結(jié)果為387420489,相當(dāng)于最大的行號(hào) 2、SMALL(IF($D$2:$D$509=$I$2,ROW($1:$508),9^9),ROW(A1)),用SMALL函數(shù)取IF結(jié)果中的第一最小值、第二最小值、、、、,ROW(A1)下拉公式就是1、2、3、4、5、、、 3、INDEX(B$2:B$509,SMALL(IF($D$2:$D$509=$I$2,ROW($1:$508),9^9),ROW(A1))),INDEX函數(shù)就是返回B2:B509區(qū)域符合條件的某一行的值 4、=IFERROR(INDEX(B$2:B$509,SMALL(IF($D$2:$D$509=$I$2,ROW($1:$508),9^9),ROW(A1))),''),IFERROR函數(shù)是容錯(cuò)函數(shù),當(dāng)查找不到是錯(cuò)誤值的時(shí)候就返回空值 |
|
來(lái)自: L羅樂 > 《一對(duì)多查詢》