图 7.53 所示的成绩表中行标题为姓名,列标题为科目,能否在输入姓名和科目名称后自动给出对应的成绩?

Excel 是否可以根据姓名和科目自动查找对应成绩?-Excel22

解题步骤

根据已知的两个条件查询对应的数据,达成此需求有多种方法,其中使用公式灵活性最好,具体操作步骤如下。

1.在I1:K1中分别输入“姓名”、“科目”和“成绩”。

2.在I2:J2分别输入“朱明”和“化学”。

3.在K2单元格输入以下公式:

Excel 是否可以根据姓名和科目自动查找对应成绩?-Excel22

此时公式返回朱明的化学成绩94,效果如图7.54所示。

Excel 是否可以根据姓名和科目自动查找对应成绩?-Excel22

图7.54 查找朱明的化学成绩

4.将姓名修改为“曹锦荣”,将科目修改为“语文”,此时K2的公式会返回成绩“100”(见图7.55)。

Excel 是否可以根据姓名和科目自动查找对应成绩?-Excel22

图7.55 查找曹锦荣的语文成绩

知识扩展

1.MATCH函数用于计算一个字符串在一维数组或单行/单列区域的出现位置。例如,在图7.55中,曹锦荣在A2:C11区域中的出现位置是第8位,那么公式“=MATCH(I2,A2:A11,0)”的返回值就是8。MATCH函数的语法如下:

Excel 是否可以根据姓名和科目自动查找对应成绩?-Excel22

其中第一参数是查找对象,第二参数是一维数组或单列区域/单行区域,第三参数则用于控制查找方式,赋值为0时表示精确查找,赋值为1或-1时表示模糊查找,工作中用得最多的是精确查找。简言之,MATCH函数的功能就是在第二参数中查找第一参数的位置,并由第三参数决定查找方式。

2.INDEX函数的功能是在一个区域或数组中按位置查找对应的值,由于MATCH函数的功能正是计算位置,因此INDEX函数经常搭配MATCH函数使用,本例正是此类型的应用案例。

3.在本例公式中,第一个MATCH函数用于计算纵向位置,第二个MATCH函数用于计算横向位置,两者的交叉点刚好是B2:G11区域中对应的成绩。

4.了解公式的含义和计算过程的最好方法是使用公式求值工具。以图7.54中的公式为例,了解公式的方法是选中K2单元格,然后单击功能区的“公式”→“公式求值”,并在对话框中单击“求值”按钮,图7.56所示的窗口中表达式“MATCH(I2,A2:A11,0)”的下画线表明下一步会计算这个表达式,此时再次单击“求值”按钮,对话框会变为图 7.57 所示的效果,图中说明了两个问题,一是表达式“MATCH(I2,A2:A11,0)”的计算结果为6,二是下一步要计算的表达式是J2的值。

Excel 是否可以根据姓名和科目自动查找对应成绩?-Excel22

图7.56 表示下一步要计算MATCH(I2,A2∶A11,0)

Excel 是否可以根据姓名和科目自动查找对应成绩?-Excel22

图7.57 表明下一步要计算J2

再次单击“求值”按钮,窗口内容会变成图7.58所示的状态,表示J2的计算结果是“化学”,下一步要计算的表达式是“MATCH(J2,B1:G1,0)”。

Excel 是否可以根据姓名和科目自动查找对应成绩?-Excel22

图7.58 表明下一步要计算MATCH(J2,B1∶G1,0)

再次单击“求值”按钮,窗口内容会变成图7.59所示的状态,表示“MATCH(J2,B1:G1,0)”的计算结果是4,下一步要计算的表达式是“INDEX(B2:G11,6,4))”。

Excel 是否可以根据姓名和科目自动查找对应成绩?-Excel22

图7.59 表明下一步计算INDEX(B2∶G11,6,4))

再次单击“求值”按钮,窗口内容会变成图7.60所示的状态,表明公式的最终结果是94。

Excel 是否可以根据姓名和科目自动查找对应成绩?-Excel22

图7.60 公式的最终计算结果