昨天写了怎么用 index 和 match 函数组合查询二维表格,所用的示例比较简单,行列各一个查询条件。今天我们说一下进阶版:如果行列有多个条件需要查询怎么实现?
我用的版本是 Excel 2016,其他版本的界面可能略有不同。
示例:
还是昨天的表格,但是每门课程的成绩在 B 列细分为上学期和下学期,我们查询的条件就变成了 3 个:比如,查询张三同学语文上学期的成绩。
Excel 如何查询 3 个以上条件?
解决方案:
1. 增加一列“学期”下拉菜单,制作方法不赘述
Excel 如何查询 3 个以上条件?
2. “成绩” 列的公式如下:
=INDEX(C2:J7,MATCH(B11&C11,A2:A7&B2:B7,0),MATCH(A11,C1:J1,0))
重点看红色的新增部分:
C11:下拉框所选的“学期”值
B2:B7:“学期”数据源
为什么要用 “&”符号串联呢?
因为“学期”和“学科”同在原始表格的纵向上,也就是说,第一个 match 函数的返回行数值,必须同时满足“学科”和“学期”两个查询条件
第二个 MATCH 仍然是返回该同学所在的列数值
* 请注意:index 函数规定,行和列值的返回顺序不可以反过来,也就是说,上面两个 match 函数的位置不能互换。
3. 敲黑板:
因为用到了 &,表示该公式用到了数组,所以公式输完后不能直接按回车,而要按“Ctrl + Shift + Enter”键!
然后可以看到公式前后多了大括号,表示成功使用了数组。
Excel 如何查询 3 个以上条件?
4. 现在就完成了。当我们选择不同的姓名、学科、学期时,成绩单元格就会准确返回值。