You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel中通过单个公式实现类透视表汇总并完成文本合并?

如何在Excel中通过单个公式实现类透视表汇总并完成文本合并?

我完全懂你的需求——想用单个公式搞定从原始销售数据到按类别汇总,再到最终合并成指定格式文本的全流程,不用拆分步骤。好在Excel 365/2021的动态数组函数正好能解决这个问题,下面给你具体的实现方案:

一、单个公式生成按水果类型汇总的透视表样式结果

如果你想先得到示例里的两列汇总表(水果类型+总销量),可以在任意空白单元格(比如A10)输入以下公式:

=HSTACK(UNIQUE(FRUIT_SALES[Fruit Type]), BYROW(UNIQUE(FRUIT_SALES[Fruit Type]), LAMBDA(fruit, SUMIF(FRUIT_SALES[Fruit Type], fruit, FRUIT_SALES[No. Sold]))))

公式逻辑拆解:

  • UNIQUE(FRUIT_SALES[Fruit Type]):提取所有不重复的水果类型,生成动态数组
  • BYROW(...):遍历每个唯一水果类型,用SUMIF计算对应类别的总销量
  • HSTACK(...):把“唯一水果类型”和“对应总销量”两个数组横向拼接,生成完整的汇总表

输入后公式会自动扩展成两列,正好是你想要的汇总结果。

二、单个公式直接生成目标文本字符串

如果想一步到位直接得到"Apple (410), Banana (110)"这种格式的文本,用MAP+TEXTJOIN组合会更简洁:

=TEXTJOIN(", ", TRUE, MAP(UNIQUE(FRUIT_SALES[Fruit Type]), LAMBDA(fruit, fruit&" ("&SUMIF(FRUIT_SALES[Fruit Type], fruit, FRUIT_SALES[No. Sold])&")")))

公式逻辑拆解:

  • MAP(...):逐个处理每个唯一水果类型,把水果名和对应总销量拼接成"Apple (410)"这样的单个字符串
  • TEXTJOIN(", ", TRUE, ...):把所有拼接好的字符串用, 分隔连接起来,TRUE参数表示忽略空值

注意事项

  • 以上公式仅支持Excel 365/2021及以后版本,因为用到了动态数组函数(UNIQUE、MAP、HSTACK等),旧版Excel无法运行
  • 如果你用的是旧版Excel,可能需要结合数组公式(按Ctrl+Shift+Enter确认),但步骤会复杂很多,建议优先升级到支持动态数组的版本

备注:内容来源于stack exchange,提问作者user1605665

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 12:23:03