【MATCH函数】和【INDEX函数】实现双条件查询
我们以前介绍过OFFSET函数,它的主要功能是在引用的单元格区域中按照指定的行数和列数,得到相对移动的单元格引用。在EXCEL中还有一个函数-INDEX函数的功能和OFFSET函数类似:在单元格区域中按照输入的行号和列号,返回行列交叉处特定的单元格引用。
INDEX函数分为两种:
单元格区域引用形式:
INDEX(reference,row_num,col_num,area_num)
reference: 指定的检索范围
Row_num: 指定的返回的第几行的行号
Col_num: 指定的返回的第几列的列号
Area_num: 选择引用中的一个区域。可省略。
数组形式:
INDEX(array,row_num,col_num)
Array: 指定的数值
Row_num: 数组中某行的行号
Col_num: 数组中某列的行号
在EXCEL中,MATCH函数可以用于查找数据的位置,而INDEX函数可以根据查找到的位置返回实际的单元格引用。因此在实际工作中可以使用二者的组合来完成条件查询计算。
下列中,我们需要按照姓名和学科来查询成绩。具体步骤如下:
步骤一:在单元格区域A11:B14中通过数据验证建立下拉清单。
步骤二:在单元格C11中输入并下拉即可
“=INDEX($A$1:$D$8,MATCH(A12,$A$1:$A$8,0),MATCH(B12,$A$1:$D$1,0))”
思路:
利用MATCH函数分别确定姓名和学科在第几行和第几列,并以此作为INDEX函数的输入参数
INDEX函数取得指定单元格的引用
注意:INDEX函数不支持生成内存数组,因此只能在多单元格数组公式中正常使用。
此例我们还可以用OFFSET函数完成。大家用兴趣可以自己动手试一试!
-END-
欢迎关注【Excel应用之家】专栏,了解更多的Excel实际应用技能,尽在Excel应用之家!
版权声明:本文归Excel应用之家专栏(微信公众号Excel应用之家)原创撰写,未经允许不得转载。欢迎关注专栏/公众号。