合并单元格求和只有200?一条公式转成结构化,SUMIFS瞬间对数

古哥计划
古哥计划 Lv.4 核心创作者KVP

Lv.4 核心创作者

📊 合并单元格求和只有200?一条公式转成结构化,SUMIFS瞬间对数

工厂的台账里,工厂、产品、型号这几列,十有八九都做了合并单元格。看着整齐,一算数就出事。

想统计顺德工厂的数据合计,顺手写一条:

=SUMIFS(G:G,A:A,A2)

返回 200。

顺德工厂明明有 5 行数据,2500 才对,怎么只剩 200?

坑就在合并单元格本身:值只挂在组首行,下面 4 行在 A 列其实是空的。SUMIFS 扫过去,只认到组首那 200,其他 4 行因为 A 列是空的,一个都没算进来。

想求和、想筛选、想透视,全部卡死在这一步。


一、转成结构化,秒变乖

同样一张表,把合并单元格去掉、每行补全,变成标准的一维长表。

还是那条 SUMIFS:

=SUMIFS(G:G,A:A,A2)

这次返回 2500,一分不差。

再进一步,按工厂汇总只要一条:

=GROUPBY(A:.A,G:.G,SUM)

宁波工厂 2000,顺德工厂 2500,总计 4500,瞬间出来。

结构化不是锦上添花,是一切分析的地基。

二、一条公式,一键转结构化

问题来了:合并单元格到处都是,手动取消合并、再逐列填充,太麻烦。

一条公式搞定:

=TRANSPOSE(SCAN("",TRANSPOSE(A2:G10),LAMBDA(X,Y,IF(Y="",X,Y))))

原理拆开看,就三步:

  • 内层 TRANSPOSE:把 9 行 7 列转成 7 行 9 列,原来的每一列变成一行,合并单元格的空值正好排在组首值后面

  • SCAN 扫描:沿行方向逐格扫,遇到空值就继承上一个值——顺德工厂、宁波工厂就这样一路填下去

  • 外层 TRANSPOSE:再转回来,输出就是标准的 7 列结构化长表

粘贴下去,一瞬间的功夫,多个合并单元格全部填完。


三、剩下 4 个方法,AI 全写完了

上面这条是古老师的方法1,思路是转置+扫描。

另外 4 个方法,全部是 AI 写的。每个方法思路不一样,速度和限制也不一样:

方法

思路

字符

推荐指数

方法2

LOOKUP 行号二分填充

128

★★★★★ 速度98

方法5

REDUCE 逐行遍历压栈

139

★★★★ 速度85

方法4

列优先坐标压缩反查

181

★★★ 速度75

方法3

MAP 逐格序号回溯

385

★★★ 速度70

方法2 长这样,查找引用家族,逐列把空值填成上方的组首值:

=LET(r,ROW(源数据!A2:A10),f,LAMBDA(c,LET(v,CHOOSECOLS(源数据!A2:D10,c),LOOKUP(r,r/(v<>""),v))),HSTACK(f(1),f(2),f(3),f(4),源数据!E2:G10))

说白了,让我一次性手写出这么复杂的公式,我也办不到。这些全是 AI 写的,我干的事情是:出题、验证、给每个方法打分排名。

用的工具就是灵犀专业版,5 个方法全部验证通过,汇总目录按速度自动排名。


四、最后说一句

非结构化数据不可怕,可怕的是直接在合并单元格上做分析。

先把数据转成结构化,后面的求和、筛选、聚合,都是顺手的事。

关注我,学习 AI,学习 PMC。


五、术语解释

文章里出现的技术名词,一句话说清楚:

动态数组公式:一条公式直接吐出一片结果(多个单元格),不用拖填充、不用下拉,WPS 里粘贴一条就覆盖整个区域。

SCAN:扫描函数,逐格扫一遍数据,每一格都可以"继承上一个值",处理合并单元格这种连续空白正好。

TRANSPOSE:转置函数,行列互换。9 行 7 列转成 7 行 9 列,让竖着排的空值变成横着排在组首值后面,方便扫描。

GROUPBY:分组聚合函数,按某一列分组、对另一列求和,类似数据透视表,但一条公式直接出结果。

一维长表:每行一条完整记录、没有合并单元格、没有小计行的标准表。所有分析函数(SUMIFS、透视表、GROUPBY)都认它。


古老师(古哥计划)|中小制造数字化专家|金山 KVP(金山办公最有价值专家)|金山多维表格应用场景专家|金山 WPS 社区优秀创作者

深耕中小制造业数字化落地,擅长用 WPS 多维表格 + AI 低代码方案,帮工厂快速搭建进销存、生产计划、质量追溯等轻量化系统。不用复杂 IT,低成本落地,已服务数百家制造企业,实战经验丰富。

#多维表格 #工厂管理 #AI应用


本文由 AI 辅助创作

工具:灵犀专业版

模型:GLM-5.3-Flash

浏览 36
收藏
1
分享
1 +1
+1
全部评论