在Google Sheets多数据源QUERY公式中添加数据来源列
解决Google Sheets合并数据时添加来源工作表列的问题
正确公式实现
直接使用以下公式即可实现需求,同时避免#REF!错误:
=QUERY( { 'yr Import'!A2:BH, ARRAYFORMULA(IF(ROW('yr Import'!A2:A), "yr Import")); 'ar Import'!A2:BH, ARRAYFORMULA(IF(ROW('ar Import'!A2:A), "ar Import")) }, "Select * where Col1 is not null" )
错误原因分析
你之前的公式报错是因为ARRAYFORMULA("yr Import")只会生成单个单元格的文本值,而前面的'yr Import'!A2:BM是多行数据区域,两者行数不匹配,数组拼接时出现维度错误,触发#REF!。
关键修正点
用ARRAYFORMULA(IF(ROW('工作表名'!A2:A), "工作表名"))替代单纯的ARRAYFORMULA("工作表名"):
ROW('工作表名'!A2:A)会返回该列从A2开始的所有行号IF(ROW(...), "文本")会为每一行生成对应的来源名称,保证新列行数和数据区域完全一致,解决维度不匹配问题
另外注意你原公式中把BH改成了BM,如果不需要扩展列范围,保持原数据列范围BH即可,避免引用不存在的列导致额外错误。
内容的提问来源于stack exchange,提问作者Stefan Meier
相关产品推荐
相关产品推荐

