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

Excel基于含空单元格的首列分组合并B列多行为单行的公式求解

Excel按A列分组合并B列内容公式方案

前提:默认数据存储在A、B两列,从第2行开始,你可以根据实际数据规模调整公式里的单元格范围;合并分隔符默认用顿号、,可自行替换为逗号、换行符等。

方案1:Excel 365 / 2021及以上版本(支持动态数组)

无需辅助列,单公式直接输出所有分组的合并结果,自动溢出:

=LET(
  分组列,A2:A1000,
  内容列,B2:B1000,
  非空分组,FILTER(分组列,分组列<>""),
  唯一分组,UNIQUE(非空分组),
  归属标记,SCAN("",分组列,LAMBDA(a,b,IF(b<>"",b,a))),
  HSTACK(唯一分组,BYROW(唯一分组,LAMBDA(x,TEXTJOIN("、",TRUE,FILTER(内容列,归属标记=x,"")))))
)

如果只需查询单个分组的合并结果,比如查询A17.9 未特指的神经系统结核病的合并内容,直接用以下公式即可:

=TEXTJOIN("、",TRUE,FILTER(B:B,SCAN("",A:A,LAMBDA(a,b,IF(b<>"",b,a)))="A17.9 未特指的神经系统结核病",""))

方案2:Excel 2019及更早版本

需要先新增辅助列处理A列空值:

  1. 选中C列作为辅助列,C2单元格输入公式=IF(A2<>"",A2,C1),下拉填充到所有数据行,此时C列会自动把空单元格填充为对应归属的分组值
  2. 要合并对应分组内容时,输入公式=TEXTJOIN("、",TRUE,IF(C:C="目标分组名称",B:B,"")),输入完成后按Ctrl+Shift+Enter组合键数组回车生效

注意事项

  • 如需合并后内容换行,把公式里的分隔符"、"替换为CHAR(10),再将目标单元格设置为「自动换行」即可
  • 可根据实际数据量调整公式里的行范围,避免引用过多无效行导致计算卡顿

内容的提问来源于stack exchange,提问作者The Art of Squi-Fu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:45:00