如何用单公式直接从Data表生成带分组总计的汇总表
需求:无需辅助表的Google Sheets单公式汇总方案
原始Data表数据
| 代理姓名 | 商家名称 | 承诺资金 | 活动周期 |
|---|---|---|---|
| adyanti | Digicodes | 7500000 | 11.11 (Oct W4) |
| adyanti | Digicodes | 5000000 | 10.10 (Sep W4) |
| adyanti | ID Cloud Host | 10000000 | 11.11 (Oct W4) |
| adyanti | Karyakarsa | 17500000 | 10.10 (Sep W4) |
| adyanti | Karyakarsa | 14000000 | BAU (Oct W2) |
| adyanti | Karyakarsa | 14000000 | BAU (Oct W3) |
| adyanti | Karyakarsa | 14000000 | SPD&SMS Oct (Oct W4) |
| adyanti | KoinWorks | 60000000 | Tactical (Oct W4) |
| adyanti | Vision+ | 900000 | 10.10 (Sep W4) |
| adyanti | Vision+ | 900000 | SPD&SMS Oct (Oct W4) |
期望汇总结果
| 代理姓名 | 商家名称 | 活动周期汇总 | 总预算 |
|---|---|---|---|
| adyanti | Digicodes | 11.11 (Oct W4), 10.10 (Sep W4) | 12500000 |
| adyanti | ID Cloud Host | 11.11 (Oct W4) | 10000000 |
| adyanti | Karyakarsa | 10.10 (Sep W4), BAU (Oct W2), BAU (Oct W3), SPD&SMS Oct (Oct W4) | 59500000 |
| adyanti | KoinWorks | Tactical (Oct W4) | 60000000 |
| adyanti | Vision+ | 10.10 (Sep W4), SPD&SMS Oct (Oct W4) | 1800000 |
| Total | 143800000 | ||
| Total All Submission | 2164552000 |
需求说明
目前需借助Helper表及三个公式生成辅助数据才能得到最终汇总结果,现寻求无需Helper表的单公式解决方案,直接从Data表生成上述期望的汇总表。
单公式解决方案
在Google Sheets的目标单元格中输入以下公式(假设Data表数据范围为Data!A2:D,表头在Data!A1:D1):
=LET( 源数据, Data!A2:D, 分组汇总, QUERY(源数据, "SELECT Col1, Col2, SUM(Col3) GROUP BY Col1, Col2"), 周期合并, BYROW(分组汇总, LAMBDA(行数据, TEXTJOIN(", ", TRUE, FILTER(INDEX(源数据,,4), INDEX(源数据,,1)=INDEX(行数据,1), INDEX(源数据,,2)=INDEX(行数据,2))))), 合并结果, HSTACK(INDEX(分组汇总,,1), INDEX(分组汇总,,2), 周期合并, INDEX(分组汇总,,3)), 小计行, {"Total", "", "", SUM(INDEX(分组汇总,,3))}, 总提交行, {"Total All Submission", "", "", 2164552000}, 最终表格, VSTACK({"代理姓名", "商家名称", "活动周期汇总", "总预算"}, 合并结果, 小计行, 总提交行), 最终表格 )
公式说明
LET函数:封装所有计算步骤,提升可读性和运行效率QUERY:按「代理姓名+商家名称」维度分组,自动计算每组的总预算BYROW+TEXTJOIN+FILTER:为每个分组匹配并合并所有对应的活动周期,用逗号分隔展示HSTACK:将分组信息、合并后的周期、总预算按列拼接成完整数据行VSTACK:添加自定义表头、小计行和总提交行,生成符合要求的完整汇总表格
内容的提问来源于stack exchange,提问作者byrmn__
相关产品推荐
相关产品推荐

