分享

这些技巧不简单,学会还是你加班

 EXCEL应用之家 2024-04-25 发布于上海


送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!



数据处理是我们每天都要面对的工作内容。这不是,今天要向大家介绍的就是这样一道看起来非常简单的财务问题。



要在相应的单元格里自动填充在C列上对应的收入的金额。这个函数怎么写呢?


01

使用LARGE函数我们可以解决此问题。



这道题目中有两个条件,一个是姓名,另一个是收入要大于0。由于目标值都是唯一的,因此在满足条件前提下那个最大的值就是正确答案。

($C$3:$C$12>0)*($E$3:$E$12=F$2)

这部分返回的结果是{1,0,0,0,0,0,0,0,0,0}

LARGE(($C$3:$C$12>0)*($E$3:$E$12=F$2),1)

这部分返回结果是1。

=LARGE(($C$3:$C$12>0)*($E$3:$E$12=F$2),1)*($C$3:$C$12)

最后再乘以求和区域,得到最终答案。

可是为什么一个单独的数字乘以一个数组后会返回一个单独的值,而不是返回数组的原值呢?

和群里的各位大佬沟通后,他们一致认为这是一个隐含交集运算。简单说,就公式所在当前行的数据才会参与运算,其它行的都不参与。

这就解释了上面那个疑问了!

朋友们对这个公式不太好理解,其实它是等同于下面这个公式的:

=LARGE(($C$3:$C$12>0)*($E$3:$E$12=F$2)*($C$3:$C$12),1)

这样写,就很好理解了,是吧!

这个公式本来是用不到LARGE这个函数的。但塞翁失马,却正好学习了隐含交集的知识,善莫大焉!


02

稍微简化一下上面的公式。



换一种思路,公式也许写得就很简单。

=IF(AND($C3<>0,$E3=F$2),$C3,0)

公式比较简单,不再详细介绍了。这个公式看起来已经很短了,还可以有更短的公式吗?


03

当然还可以有更短的公式!



由于姓名是唯一的,也就是说只要姓名相符,就可以返回对应的收入了,连收入是否不为“0”都不需要判断了。

=IF(F$2=$E3,$C3,"")

看起来这个是最短的公式了。反正我是写不出更短的来了,哈哈哈!


好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

推荐阅读

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多