当前位置: 代码网 > 办公软件>Excel>Excel > Excel 中利用 SCAN 函数查找合并单元格

Excel 中利用 SCAN 函数查找合并单元格

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

锵锵~ 大家好哇!我是卫星酱~

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

今天的故事,就要从我那与合并单元格杠上了的同事小雯说起……

她做了这样一份表格:

希望按照「产品」这一条件求总数量。

我只好给了她这样一个公式:

=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)

怎么样,这个公式容易多了吧?

1、认识 scan 函数

有的同学可能不太理解上面的公式,毕竟出现了两个有点陌生的函数~

没关系,卫某这就来给大家介绍一下。

scan,是 office 365 中新出的函数,在 wps 中也可以使用。

它的作用是扫描:

scan 共有三个参数,第一个是累加器的起始值,第二个是要扫描的数组,第三个是函数 lambda。

而 lambda,是一个不需编程便能让我们自创函数的函数。

有点绕?

举个栗子:

=lambda(x,y,x+y)

这个公式就是一个自定义函数。

它的意思是,设一个函数中有参数 x 和 y,对这两个参数进行 x+y 的运算,也就是求和。

把 x+y 替换成任意复杂的公式,并在【公式】选项卡下【定义名称】:

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

2、公式解析

认识了 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 求和。

拖动下拉公式即可得出其他产品的结果哦~

3、其它用法

除了合并单元格求和,scan 还有更多强大的用法!

❶ 查找合并单元格

=xlookup(f3&g3,scan($b$3$b$11lambda(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))))

4、写在最后

好啦,今天我们主要分享了用 scan 函数对合并单元格求和,顺便了解这个函数的更多用法~

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com