![Excel数据分析自学经典](https://wfqqreader-1252317822.image.myqcloud.com/cover/330/27110330/b_27110330.jpg)
4.2 多条件查找
在Excel中,除了进行单个条件的查找之外,还可以使用嵌套函数实现多条件查找,包括单向多条件查找、多向查找和多列查找等内容。
4.2.1 单向多条件查找
单向多条件查找是指查找的条件分布在一个方向,即列方向或行方向。
1.案例分析
例如,在“进销存统计表”数据表中,其原始数据存储在单元格区域B2:G12中。此时,需要根据单元格I3和J3中的条件,查找并返回相对应的“期末结存”数值。下面,将运用VLOOKUP嵌套IF函数,以及INDEX嵌套MATCH函数两种方法来进行单向多条件查找。
2.案例实现
首先,制作基础数据表。然后,选择单元格K3,在编辑栏中输入计算公式,按Shift+Ctrl+Enter键,返回对应的期末结存值。
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00385.jpg?sign=1739700273-yOnYqW8eieVA48uhQyBHehxWGs2MvckU-0-bd62701ab5c198e58f7c4c19bd3fbc8c)
同时,选择单元格K4,在编辑栏中输入计算公式,按Shift+Ctrl+Enter键,返回对应的期末结存值。
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00386.jpg?sign=1739700273-aQQIoE187S0o7TYGlOpHFsi5GzHZVEiH-0-240482396fdd9ebfc3dba7fb901bc310)
3.公式解析
方法一中的公式为:
=VLOOKUP(I3&J3,IF({1,0},$B$3:$B$ 12&$C$3:$C$12,$G$3:$G$12),2)
该公式是由VLOOKUP函数嵌套IF函数来实现的,其IF函数作为VLOOKUP函数的第2个参数进行运算。除此之外,在公式中还通过使用连接符&,将两个查询条件进行连接,以实现多条件查询功能。另外,在IF函数中,也同样使用连接符&连接两个数据区域。
方法二中的公式为:
=INDEX(G3:G12,MATCH(I4&J4,$B$3:$ B$12&$C$3:$C$12,))
该公式由INDEX函数嵌套MATCH函数来实现的,其MATCH函数作为VLOOKUP函数的第2个参数进行运算。而MATCH函数中,同样使用了连接符&连接条件和数据区域。需要注意的是,在该公式中必须使用Shift+Ctrl+Enter键结束公式的输入,以促使Excel实现多重运算。
4.2.2 多向查找
双向查找是指查找条件分别位于行或列中,而非单纯的唯一列或行中。
1.案例分析
例如,用户在编制科目成绩统计表时,需要统计不同科目不同部门下的成绩。此时,用户可以使用VLOOKUP嵌套IF函数、INDEX嵌套MATCH函数,以及LOOKUP函数,来实现多向查找。
2.函数介绍
Excel中的LOOKUP函数可以从单行、单列区域或数组中返回值,该函数主要包括向量与数组两种形式。
LOOKUP函数的向量形式的功能是在单行区域或单列区域中查找值,并返回第2个单行区域或单列区域中相应位置的值。LOOKUP函数向量形式的表达式为:
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00387.jpg?sign=1739700273-KDqoa07yU59JR3X9eFgGfn90ddjYA3zq-0-a44acfe94da91ddd31e571c50212064f)
其中,LOOKUP函数参数的注意事项如下表所示。
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/a27.jpg?sign=1739700273-q4LCqXteAhDf8KMB0fu2Ov4uPWbFZfcX-0-8e6ad56e9bcd01778ae52129fe2d30bd)
LOOKUP函数数组形式的功能是在数组的第1行或第1列中查找指定的数值,并返回数组最后1行或1列内相同位置的数值。该函数的表达式为:
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00388.jpg?sign=1739700273-fvDnJYmn3Zv34Xbe0ShGpnECbqVWqfIq-0-8210e300747f427af5cd1241a98fe516)
3.案例实现
首先,在工作表中输入基础数据,并设置数据表的对齐格式。
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00389.jpg?sign=1739700273-BWLRXUATmk57142NnT2FJc3k1g9bRixQ-0-0884540c89400b174e855f447c1bf36b)
方法一:选择单元格F4,在编辑栏中输入计算公式,按Shift+Ctrl+Enter键,返回查找结果。
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00390.jpg?sign=1739700273-89fDcRxZzDnmsOuzaQg906egXk4Ktn60-0-b11e89a1fb60fdf930c4a88cd082656c)
然后,选择单元格G4,向下填充公式;同时选择单元格区域G4:G7,向右填充公式。
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00391.jpg?sign=1739700273-W7YaiKlbWn1kmBvwcRiRglr64lsjMBcO-0-08f2f60256f76f401ab8248bb68b5278)
方法二:选择单元格I4,在编辑栏中输入计算公式,按下Shift+Ctrl+Enter键,返回查找结果。
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00392.jpg?sign=1739700273-QuNoqybik2pxrujlnLyIw8RuCuNLkhg2-0-22029adf5191ecaeee78db9c5f79aa7d)
然后,选择单元格J4,向下填充公式;同时选择单元格区域J4:J7,向右填充公式。
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00393.jpg?sign=1739700273-jCldplHF3sdKuc4k6x35oidWQVkIG6xh-0-fab8558077a5407235034438bed29e4f)
方法三:选择单元格L4,在编辑栏中输入计算公式,按Shift+Ctrl+Enter键,返回查找结果。
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00394.jpg?sign=1739700273-6k1jZfuP5b78vHakbtFu4q7NF8otjN5w-0-8e9f96c09822073a9c2c6a8840359155)
然后,选择单元格M4,向下填充公式;同时选择单元格区域M4:M7,向右填充公式。
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00395.jpg?sign=1739700273-4duLmgsMWZGgHGKTPEilVh7YMBt66z7t-0-92cfef0d6fdadf7a57c24c4242e2e604)
4.公式解析
方法一中的公式为:
=VLOOKUP($E4&F$3,IF({1,0},$A$4: $A$11&$B$4:$B$11,$C$4:$C$11),2, FALSE)
在该公式中,也是使用连接符&,通过连接两个条件,将多条件变成单条件进行运算。但是,在该公式中需要注意必须使用数组输入方式,才可以显示正确的运算结果。除此之外,还需要注意对单元格的引用类型,以确保可以正确填充各单元格中的公式。
方法二中的公式为:
=INDEX($C$4:$C$11,MATCH($H4&I$3, $A$4:$A$11&$B$4:$B$11,0))
在该公式中,使用了INDEX嵌套MATCH函数进行运算,而MATCH函数则作为INDEX函数的第2个参数参与运算。其实,整个公式没有太大的使用悬念,唯一需要注意的是必须使用数组运算,而且还需要注意单元格的引用类型。
方法三中的公式为:
=LOOKUP(1,0/(($A$4:$A$11=$K4)* ($B$4:$B$11=L$3)),$C$4:$C$11)
该公式中的LOOKUP函数是使用向量形式参与运算,整个公式没有太大的使用悬念,唯一需要注意的是必须使用数组运算。
4.2.3 连续多列查找
连续多列查找是根据指定条件同时查询多个列中的内容,其查询条件分别位于不同的列中。
1.案例分析
例如,在“员工基本信息”数据表中,包含工牌号、姓名、性别、所属部门、职务等信息。如果用户需要根据员工姓名,来查找相对应的性别、所属部门、工作年限等信息,则需要在不同条件下的单元格中,依次输入查找公式,以获取准确的查找信息。但这样一来,便突显出Excel函数的烦琐性了。此时,用户可以使用VLOOKUP嵌套COLUMN函数、VLOOKUP嵌套IF函数,以及INDEX嵌套MATCH函数的方法,批量显示多条件查找信息。
2.函数介绍
COLUMN函数的功能是返回指定单元格引用的列号,其函数表达式为:
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00396.jpg?sign=1739700273-HipeeJ14Jb4VGZWdZSTbtKZTK6i33M1r-0-16dc19dd31b8154b0e0efec732048336)
3.案例实现
首先,在工作表中输入基础数据,并设置数据表的对齐格式。
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00397.jpg?sign=1739700273-1RctTg4ICt3bWNfMJZNoFGcne5I1zrZH-0-78ed25c30de057bee6b44bd50ba93a8d)
方法一:选择单元格B9,在编辑栏中输入计算公式,按Enter键,返回单元格B9所对应的性别。随后,向右填充公式即可。
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00398.jpg?sign=1739700273-iKR6JBVzKBQZuvgyjGQPPuuHrTPp8KM8-0-98dfae652121757b4541f6dec7f4a585)
方法二:选择单元格B10,在编辑栏中输入计算公式,按Enter键,返回单元格B10所对应的性别。随后,向右填充公式即可。
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00399.jpg?sign=1739700273-Jph3uRJjqKbvPfC04gykgVgxutxfZYBD-0-c83009548ef2320fd38888c6192e527a)
方法三:选择单元格B11,在编辑栏中输入计算公式,按Shift+Ctrl+Enter键,返回单元格B11所对应的性别。随后,向右填充公式即可。
![](https://epubservercos.yuewen.com/6F295A/15477636404518106/epubprivate/OEBPS/Images/00400.jpg?sign=1739700273-paLohcHaTtsbxhJkFMeMqq3W47CfrBhw-0-6189eec7474182d7e369cdef573e5bce)
4.公式解析
方法一中的公式为:
=VLOOKUP($A$9,$B$2:$F$6,COLUMN())
在该公式中,COLUMN函数作为VLOOKUP函数的第3个参数参与运算,而COLUMN函数在参数省略的情况下,将会返回该函数所在单元格的列号。
提示
用户在使用COLUMN函数时,如果公式不放在B~D列中,其函数需要添加参数,参数为计算条件所位于的单元格,例如单元格B1等。
方法二中的公式为:
=INDEX($C$2:$F$6,MATCH($A$10,$B$2 :$B$6,0),MATCH(B8,$C$1:$F$1,0))
在该公式中,使用了INDEX嵌套MATCH函数进行运算,而MATCH函数则作为INDEX函数的第2和第3个参数参与运算。
方法三中的公式为:
=VLOOKUP($A11&B8,IF({1,0},$B2:$B6& C1,C2:C6),2,FALSE)
在该公式中,IF作为VLOOKUP函数的第2个参数参与计算。另外,该公式也是使用连接符&,通过连接两个条件,将多条件变成单条件进行运算。但是,在该公式中需要注意必须使用数组输入方式,才可以显示正确的运算结果。除此之外,还需要注意对单元格的引用类型,以确保可以正确填充各单元格中的公式。