Google Sheets两列垂直合并为一列(保留空白)的公式方法
Google Sheets 两列垂直合并(保留空白+自动适配新增行)解决方案
你需要将两列垂直合并,保留所有空白单元格,同时支持自动识别新增行,此前使用ARRAYFORMULA({A:A;B:B})、FLATTEN时因总行数超限报错,UNIQUE会移除空白和重复项不符合需求。以下是针对性解决方案:
方法一:动态匹配有效数据范围(推荐)
该公式会自动识别A、B列最后一个非空单元格的行号,仅合并包含空白的有效数据范围,避免整列合并导致的行数超限问题,且支持自动适配新增行:
=ARRAYFORMULA({A1:INDEX(A:A, MAX(IF(A:A<>"", ROW(A:A), 0))); B1:INDEX(B:B, MAX(IF(B:B<>"", ROW(B:B), 0)))})
公式解析:
MAX(IF(A:A<>"", ROW(A:A), 0)):定位A列最后一个非空单元格的行号A1:INDEX(A:A, ...):提取A列从第1行到最后一个非空行的完整范围(包含中间空白行){范围1;范围2}:垂直拼接两个数据范围ARRAYFORMULA:确保公式自动扩展,覆盖新增的行数据
方法二:整列合并(需手动扩展行)
如果必须合并整列的所有行(包括列末空白),需先在目标列插入足够的空白行(总行数需≥A列行数+B列行数),再使用基础合并公式:
=ARRAYFORMULA({A:A; B:B})
注意:Google Sheets单列最大行数为1048576,因此整列合并后总行数不能超过该限制,否则仍会提示需添加行。
效果验证
以你提供的示例数据测试:
原表格:
| Column A | Column B |
|---|---|
| Cell 1 | Cell 2 |
| Cell 3 | |
| Cell 4 | Cell 5 |
| Cell 6 |
使用方法一公式后,合并结果完全符合需求:
| Combined |
|---|
| Cell 1 |
| Cell 3 |
| Cell 4 |
| Cell 6 |
| Cell 2 |
| Cell 5 |
内容的提问来源于stack exchange,提问作者Ersan Rasubala
相关产品推荐
相关产品推荐

