求Excel 365按分类合并数据且子分类换行的TEXTJOIN公式
Excel 365 按分类合并子项并换行的公式方案
核心公式
假设主分类数据在A列(示例范围:A2:A10),子分类数据在B列(示例范围:B2:B10),在空白单元格(如D2)输入以下公式:
=BYROW(UNIQUE(A2:A10), LAMBDA(cat, cat & CHAR(10) & TEXTJOIN(CHAR(10), TRUE, FILTER(B2:B10, A2:A10=cat))))
关键说明
UNIQUE(A2:A10):提取A列所有不重复的主分类BYROW(..., LAMBDA(cat, ...)):对每个唯一分类执行合并逻辑TEXTJOIN(CHAR(10), TRUE, FILTER(...)):筛选当前分类对应的子项,用换行符(CHAR(10))合并,TRUE参数自动忽略空值- 必须设置单元格自动换行:右键目标单元格 → 「设置单元格格式」→ 「对齐」→ 勾选「自动换行」,否则换行符无法显示效果
扩展调整
- 若要在主分类和子项间添加分隔符(如冒号),修改公式:
=BYROW(UNIQUE(A2:A10), LAMBDA(cat, cat & ": " & CHAR(10) & TEXTJOIN(CHAR(10), TRUE, FILTER(B2:B10, A2:A10=cat))))
- 若需去除子分类中的重复项,在FILTER外层套UNIQUE:
=BYROW(UNIQUE(A2:A10), LAMBDA(cat, cat & CHAR(10) & TEXTJOIN(CHAR(10), TRUE, UNIQUE(FILTER(B2:B10, A2:A10=cat)))))
内容的提问来源于stack exchange,提问作者Ronan
相关产品推荐
相关产品推荐

