Google Sheets公式:合并A列1-13个单元格的非空组至C列
修复Google Sheets连续非空单元格组合并公式(支持单个单元格组)
修复后的公式
=LET( range, A:A, result, REDUCE({"", ""}, range, LAMBDA(acc, cell, IF(ISBLANK(cell), IF(INDEX(acc, 1)<>"", {""; INDEX(acc, 1); ""}, acc), {INDEX(acc, 1)&IF(INDEX(acc, 1)<>"", ", ", "")&cell; INDEX(acc, 2)} ) )), FILTER(result, result<>"") )
公式说明
- 核心逻辑:用
REDUCE遍历A列所有单元格,实时维护两个状态:当前正在合并的连续非空组内容,以及已完成合并的结果集合。 - 空单元格处理:遇到空白单元格时,若当前组有内容,就将该组合并结果存入最终集合,同时重置当前组为空;若当前组为空则直接跳过。
- 非空单元格处理:将当前单元格内容追加到当前组,组内已有内容时自动添加分隔符(默认
,,可自行修改)。 - 结果过滤:用
FILTER剔除结果中的空值,得到所有连续非空组的合并结果,包括仅含单个单元格的组。
自定义调整
- 若需要换行分隔,把公式中的
", "替换为CHAR(10),并开启单元格的「自动换行」功能。 - 若要限定处理范围(比如只处理A1:A100),把
A:A改成对应范围即可。
测试示例
假设A列数据如下:
苹果
香蕉橙子
葡萄
草莓
蓝莓
公式返回结果(C列):
- 苹果, 香蕉
- 橙子
- 葡萄, 草莓, 蓝莓
内容的提问来源于stack exchange,提问作者Lod
相关产品推荐
相关产品推荐

