如何实现多列动态求和并填入高度可变的合并单元格

实现方案
适用Excel 365/2021版本
直接在N列首个需要展示汇总结果的单元格输入以下数组公式,无需下拉,结果自动溢出填充,可自动适配每个user对应的数据行范围,不受合并单元格高度变动影响:
=LET( 数据范围,E4:M1000, // 按需修改为你的实际数据行范围 用户列,INDEX(数据范围,0,1), 汇总列,INDEX(数据范围,0,3):INDEX(数据范围,0,9), 去重用户,UNIQUE(FILTER(用户列,用户列<>"")), BYROW(去重用户,LAMBDA(u,SUMPRODUCT((用户列=u)*汇总列))) )
如果不需要自定义范围,也可以用精简写法:
=BYROW(UNIQUE(FILTER(E:E,E:E<>"")),LAMBDA(u,SUMPRODUCT((E:E=u)*G:M)))
适用Google Sheets版本
输入以下数组公式即可自动扩展所有汇总结果:
=ARRAYFORMULA(BYROW(UNIQUE(FILTER(E:E,E:E<>"")),LAMBDA(u,SUMIF(E:E,u,G:M))))
说明
- 公式返回结果的顺序和E列user首次出现的顺序完全匹配,和现有合并单元格的排序一致
- 可将公式内的整列引用修改为实际数据的行范围,降低不必要的计算消耗
- 无需手动调整公式范围,新增user或者修改已有user对应的行数量后,汇总结果自动更新
内容的提问来源于stack exchange,提问作者Gateway Intelligence
相关产品推荐
相关产品推荐

