Google Sheets导入多表数据时自动添加行的实现方案咨询
解决方案
直接用Excel的VSTACK函数把固定文本和各工作表的筛选结果一次性纵向拼接,自动适配行数,彻底解决因内容覆盖导致的#REF错误。
公式写法
固定文本为单行的情况
把公式放在目标工作表的起始单元格(比如A1):
=VSTACK( "固定文本数据1", IFERROR(FILTER('Car Parks'!A:AC, NOT(ISBLANK('Car Parks'!A:A))), ""), IFERROR(FILTER('Chapter 8'!A:AC, NOT(ISBLANK('Chapter 8'!A:A))), ""), IFERROR(FILTER('Production'!A:AC, NOT(ISBLANK('Production'!A:A))), ""), IFERROR(FILTER('CSAS'!A:AC, NOT(ISBLANK('CSAS'!A:A))), ""), "固定文本数据2" )
固定文本为多行的情况(比如客户信息、报价条款有多行)
用数组形式定义多行固定文本:
=VSTACK( {"客户名称:XXX","项目编号:XXX","联系电话:XXX"}, // 替换成你的固定文本数据1 IFERROR(FILTER('Car Parks'!A:AC, NOT(ISBLANK('Car Parks'!A:A))), ""), IFERROR(FILTER('Chapter 8'!A:AC, NOT(ISBLANK('Chapter 8'!A:A))), ""), IFERROR(FILTER('Production'!A:AC, NOT(ISBLANK('Production'!A:A))), ""), IFERROR(FILTER('CSAS'!A:AC, NOT(ISBLANK('CSAS'!A:A))), ""), {"条款1:XXX","条款2:XXX","条款3:XXX"} // 替换成你的固定文本数据2 )
关键说明
VSTACK会自动按顺序纵向排列所有内容,根据每个FILTER返回的行数自动扩展单元格,不会出现内容覆盖的问题- 加
IFERROR是为了防止某个工作表无数据时,FILTER返回错误导致整个公式失效,无数据时会返回空行占位 - 不需要手动调整行高或位置,公式会自动处理所有内容的排版
内容的提问来源于stack exchange,提问作者Miles
相关产品推荐
相关产品推荐

