在日常工作中,我们除了需要做精确查找之外。有时还需要找到最后一个满足条件的内容。本文将结合实例,给大家介绍逆向查找的方法。
【例】下图是学生的考试成绩,需要找出考试成绩小于平均分的最后一名学生的姓名。
方法1:match + index
思路:
1.分别计算出每个学生的考试成绩是否低于平均分,得到例如{TRUE,False}的数组
2.0/第一步的结果,如果满足条件则为0 反之为#DIV/0.因此构造出{0,#DIV/0}的数组
3.借助match的模糊匹配功能,返回最后一个为0行数
4.借助index返回对应的学生信息
公式结果为:index(A:A,match(1,0/((B:B"")),1),1)
注意:因为是数组公式 一定要加上ctrl+shift+enter 三键哦
当然这里得index 可以替换为 indirect offset 都是可以的。你自己也可以四十o
方法2:lookup
思路:
1.分别计算出每个学生的考试成绩是否低于平均分,得到例如{TRUE,False}的数组
2.0/第一步的结果,如果满足条件则为0 反之为#DIV/0.因此构造出{0,#DIV/0}的数组
3.借助LOOKUP的模糊匹配功能,返回最后一个分数小于等于平均值的学生姓名
公式为:lookup(1,0/((B:B"")),A:A)
注意:因为是数组公式 一定要加上ctrl+shift+enter 三键哦
因为是数组公式,所以有些烧脑。而且还打破常规使用到了match lookup的模糊匹配功能。如果匹配不到值,返回最后一个小于等于查找值的最大值对应的内容或行数。
各位小伙伴,你们还有什么好的方法,也可以留言给勇哥,一起分享你的公式,分享Excel给你带来的美好体验吧。