LOOKUP(1,0/(条件),(查询区域))这个公式到底该怎么用?

文摘   教育   2024-11-06 20:00   上海  




欢迎转发和点一下“看”,文末留言互动!

置顶公众号或设为星标及时接收更新不迷路





小伙伴们好,今天要和大家聊聊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操作问题时不再迷茫无助


我就知道你“在看”


推荐阅读

Excel应用之家
介绍、交流EXCEL各项功能在工作中的实际应用; 为你答疑解惑;分享各类图表、表格和模板;提供有偿代工服务。
 最新文章