如何在Google Sheets中使用公式拼接包含空白单元格的多个范围
Google Sheets多水平范围拼接(保留空白值)解决方案
核心方案
直接使用VSTACK函数即可实现同列数多范围的垂直拼接,该函数原生保留输入范围内的所有空白单元格,无需额外过滤处理。
基础用法(两个范围拼接)
以拼接Sheet1!A2:C、Sheet1!D2:F两个3列范围为例,公式如下:=VSTACK(Sheet1!A2:C, Sheet1!D2:F)
多范围扩展用法
如果需要拼接更多同列数的水平区块,只需将范围依次加入VSTACK的参数列表即可:=VSTACK(Sheet1!A2:C, Sheet1!D2:F, Sheet1!G2:I, Sheet1!J2:L)
原有方案失效原因说明
- 你尝试的
{sheet1!A2:C,sheet1!D2:F}是水平拼接语法,会将第二个范围的列拼接在第一个范围的右侧,而非行拼接在下方,不符合需求 - 搭配
TRANSPOSE的写法会改变原数据的行列顺序,且默认会忽略部分空白值,无法满足保留空白的要求
低版本兼容方案
如果你的表格版本不支持VSTACK函数,可以使用以下数组公式实现同等效果:
=ARRAYFORMULA( IF( SEQUENCE(ROWS(Sheet1!A2:C) + ROWS(Sheet1!D2:F)) <= ROWS(Sheet1!A2:C), Sheet1!A2:C, OFFSET(Sheet1!D2:F, SEQUENCE(ROWS(Sheet1!A2:C) + ROWS(Sheet1!D2:F), 1, 1 - ROWS(Sheet1!A2:C)), 0) ) )
内容的提问来源于stack exchange,提问作者onit
相关产品推荐
相关产品推荐

