Excel中多条件查询
一般,原来在Excel中查询用的最多的就是vlookup,后来有了xlookup,很多时候更方便就用xlookup了。
不过 ,这都是针对一个条件的查询。
举个例子,比如要查询表格中某个人的总分。
因为,不同班级会有相同姓名的情况,所以不能直接按姓名来查询。
查询的时候需要两个条件:一个是班级,另一个是姓名,同时满足这两个条件才能查询到这个人。
(当然,假设同一个班级里没有相同姓名。如果同一个班级里都有相同姓名,多添加一列学号/序号就行了)
如下图所示:
思路:
- 用 match 函数找到同时满足两个条件的索引号;
- 用 index 函数通过索引号查询。
1.index 函数
功能:返回表元素或数组元素的值,该元素是通过行号和列号索引选定的。
语法:INDEX(array, row_num, [column_num])
我们会用到的就是在一列里的,所以举例都是一列中的。
举例(上面的表格):
1 | INDEX(D2:D31,1) 表示D2:D31的单元格内容作为一个数组,取第1个值,即D2的值(388) |
那我们只需要这个学生对应的索引行号,就可以查询到了。用match函数。
2.match 函数
功能:在指定范围单元格中搜索特定的项,然后返回该项在此区域中的相对位置。
语法:MATCH(lookup_value, lookup_array, [match_type])
举例(上面的表格):
1 | MATCH(F2,$B$2:$B$31,0) 表示在B2:B31中,查询F2(201)的位置,结果是:11(第1个201) |
3.公式组合
同时满足班级:F2(201)和姓名:G2(荀彧)的条件,查询其总分的公式:
1 | =INDEX($D$2:$D$31,MATCH(F2&G2,$B$2:$B$31&$C$2:$C$31,0)) |
返回的结果就是255。
如果3个条件的话,match函数查询索引号的时候,继续加一个条件就行。
PS.注意,我这里标题没算进去,所以起始行号都是第2行,即用match函数查询、index函数查询的时候起始行号要保持一致。要么都算标题行,要么都不算。因为match函数返回的是第几个。
- 本文标题:Excel中多条件查询
- 本文作者:HDUZN
- 创建时间:2022-07-01 21:30:39
- 本文链接:http://hduzn.cn/2022/07/01/Excel中多条件查询/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
评论