查找满足条件的最后一个值
在Excel表格中数据的查询是我们经常会遇到的问题,常用的查询函数有vlookup、index、match等等,那么你知道如何查询最后一个符合条件的数据你知道吗?这篇文章就和朋友们一起来学习一下。
一.操作要求:
下图是某校三年级五个班级学生成绩评分的综合信息表,现要查找出每个班级的评分最高的的姓名。每个班级学生的评分是升序排序,也就是查找出每个班级最后一名学生的姓名。
二.操作方法:
方法一:
操作步骤:
1.在E2单元格输入下方的公式,按住Ctrl Shift Enter三键确定。
=INDEX(B:B,MAX(IF($A$2:$A$26=D2,ROW($A$2:$A$26),0)))
2.向下拖动填充到E6单元格就可以快速搞定。
公式解析:
1.IF($A$2:$A$26=D2,ROW($A$2:$A$26),0)判断A2:A26单元格中的内容是否等于D2单元格中的内容,如果等于返回其所在单元格的行数、否则返回数字0。
2.使用MAX函数取得符合查找条件的的数据中最后一个数据所在的行号。
3.使用INDEX函数根据MAX函数返回的行号提取B2:B26单元格区域对应位置的数值。
方法二:
操作步骤:
1.在E2单元格输入下方的公式确定。
=LOOKUP(1,0/($A$2:$A$26=D2),$B$2:$B$26)
2.向下拖动填充到E6单元格就可以快速搞定。
公式解析:
1.0/($A$2:$A$26=D2)判断A2:A26单元格中的内容是否等于D2单元格中的内容,如果等于返回0、否则错误值#DIV/0!。
2.利用lookup函数的二分法原理和忽略错误值的特性就可以匹配到最后一个0出现的位置,从而返回B2:B26单元格区域对应位置的数据。
三.注意事项:
1.注意单元格的引用方式。
2.确定数组公式时要按Ctrl Shift Enter三键确定。
总结,这两种方法你更喜欢哪一种呢?快去动手试试吧!