欢迎转发和点一下“在看”,文末留言互动!
置顶公众号或设为星标及时接收更新不迷路
小伙伴们好,今天要和大家聊聊LOOKUP(1,0/(条件),(数值区域))这个经典套路的用法。
大家都会遇到这样的问题:如何查找到符合条件的最后一个值?有很多方法都可以做到,但今天要介绍的这个公式是解决这类问题的最常用的方法。
请看下面这道题目。找到最后一名男性人物。
如何套用上面提到的公式呢?
01
LOOKUP函数
LOOKUP函数的这个应用堪称经典。
在单元格E2中输入下列公式即可。
=LOOKUP(1,0/($C$2:$C$14="男"),$B$2:$B$14)
思路稍后统一解释,现在我们再看一个复杂一些的例子。
02
增加一个条件
第二个问题提高了难度。需要找出水浒中的最后一位男性。
在单元格E2中输入下列公式即可。
=LOOKUP(1,0/(($C$2:$C$14="男")*($A$2:$A$14="水浒")),$B$2:$B$14)
03
再提高一些难度
在单元格E2中输入下列公式即可。
=LOOKUP(1,0/(($C$2:$C$14="男")*(($A$2:$A$14="红楼梦")+($A$2:$A$14="西游记"))),$B$2:$B$14)
04
概括性总结
现在针对这个公式的运算原理做一个总结。
这个结构LOOKUP(1,0/(条件区域=条件),查询区域)中,“条件区域=条件”是对条件做一个逻辑判断。例如第一个例子中的$C$2:$C$14="男",它返回的结果是一组逻辑值{TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;FALSE}。
在EXCEL世界中,0代表FALSE,所有非0的正数都代表TREU,因此0/(条件区域=条件)这部分是0/{TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;FALSE},结果是{0;0;0;0;0;#DIV/0!;0;0;0;#DIV/0!;0;0;#DIV/0!}。数学中由于0不能作为除数,因此0/FASLE就返回错误值。
而对于LOOKUP函数,这个公式的运算机理是,查找一个数,若找不到,就返回小于等于这个数的最大的那个数。因此LOOKUP函数查找1一直找不到,就返回最后一个小于等于1的最大的那个数0所对应的单元格区域相同位置上的数值。
由于在这个结构下,LOOKUP函数默认数据已经做了从小到大的排列,因此它会找到最后一个数值。
这里可以将1换成任何大于0的数字。
其余几个例子中的条件区域只要根据题意增加条件就可以了,其运算原理都是一样的。
所以,这个公式可以总结为下面的套路:
=LOOKUP(1,0/((条件1)*(条件2)*(条件3)...),查询区域)
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
我就知道你“在看”