查看原文
其他

这样查找合并单元格,我被领导夸到爆!

卫星酱 秋叶Excel
2024-09-16
 本文作者:卫星酱本文编辑:竺兰

锵锵~大家好哇!我是卫星酱~
合并单元格这个小妖精,几乎每逢数据统计,都要被拉出来批判一遍,因为它实在是太磨人了!

今天的故事,就要从我那与合并单元格杠上了的同事小雯说起……
她做了这样一份表格:

希望按照「产品」这一条件求总数量。
我只好给了她这样一个公式:
=SUMPRODUCT($D$3:$D$11*(F3=LOOKUP(ROW($3:$11),IF($B$3:$B$11<>"",ROW($3:$11)),$B$3:$B$11)))

这家伙却「得寸进尺」:这也太长了,有没有更简单的公式呢?
好吧,还真的有……有请我们今天的主角——SCAN 函数
=SUM((SCAN(,$B$3:$B$11,LAMBDA(x,y,IF(y="",x,y)))=F3)*$D$3:$D$11)

怎么样,这个公式容易多了吧?
想要更高效地解决工作难题,避免无效加班,掌握一些 Excel 函数知识很有必要!
如果你想学习更多,欢迎加入秋叶 Excel 3 天集训营~
表格排版+数据整理+图表美化提升自己就现在马上扫描下方二维码给自己的职场能力充值吧!👇👇👇

认识 SCAN 函数

有的同学可能不太理解上面的公式,毕竟出现了两个有点陌生的函数~
没关系,卫某这就来给大家介绍一下。
SCAN,是 Office 365 中新出的函数,在 WPS 中也可以使用。
它的作用是扫描:

SCAN 共有三个参数,第一个是累加器的起始值,第二个是要扫描的数组,第三个是函数 LAMBDA。
而 LAMBDA,是一个不需编程便能让我们自创函数的函数。
有点绕?
举个栗子:
=LAMBDA(x,y,x+y)
这个公式就是一个自定义函数。
它的意思是,设一个函数中有参数 x 和 y,对这两个参数进行 x+y 的运算,也就是求和。
把 x+y 替换成任意复杂的公式,并在【公式】选项卡下【定义名称】:

这样,下次使用这个复杂公式的步骤就大大缩减了。

公式解析

认识了 SCAN 函数,我们再来把前文提到的公式解析一番~
公式回顾:
=SUM((SCAN(,$B$3:$B$11,LAMBDA(x,y,IF(y="",x,y)))=F3)*$D$3:$D$11)

❶ LAMBDA(x,y,IF(y="",x,y)❷ SCAN(,$B$3:$B$11,❶)❸ SUM((❷)=F3)*$D$3:$D$11)
❶ 对参与计算的参数 x 和 y,进行 IF 判断,也即当 y 为空时,结果输出 x,否则输出 y。
❷ SCAN 函数为❶提供了选区$B$3:$B$11,将合并单元格转化为数组:

❸ 对数据区域$D$3:$D$11 按照 F3 单元格中的内容筛选并求和。
以上公式,实际就是利用 SCAN 函数将合并单元格转化为完整的数组,再用 SUM 求和。
拖动下拉公式即可得出其他产品的结果哦~

其它用法

除了合并单元格求和,SCAN 还有更多强大的用法!
❶ 查找合并单元格
=XLOOKUP(F3&G3,SCAN(,$B$3:$B$11,LAMBDA(x,y,IF(y="",x,y)))&$C$3:$C$11,$D$3:$D$11)

❷ 求连续出现的次数
=MAX(SCAN(0,$B$3:$B$24,LAMBDA(x,y,IF(y=D3,x+1))))

写在最后

好啦,今天我们主要分享了用 SCAN 函数对合并单元格求和,顺便了解这个函数的更多用法~
如果本文对你有帮助,欢迎点赞&在看,支持一下卫某!
如果你想学习更多关于函数的知识,更多 Excel 小技巧!
那我推荐你参加秋叶《3 天 Excel 集训营》,大神带你学习表格飞速排版、数据高效整理、图表美化设计……!!和志同道合的小伙伴一起交流进步~
秋叶《3 天 Excel 集训营》课程原价 99 元 但只要你是秋叶 Excel 的读者就能限时 0 元秒杀!!
仅需 3 天你就可能成为 Excel 高手!赶紧扫码抢课吧!!👇👇👇
↑↑↑优惠名额有限,先到先得!现在扫码报名《81 个函数手册》

💬


继续滑动看下一个
秋叶Excel
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存