Google Sheets:合并跨工作表两表并加额外列的QUERY公式报错求助
修正合并表格并添加额外列的QUERY公式
你的公式报错核心原因是额外列的行数和前面的表格区域不匹配:原公式里ARRAYFORMULA("Company A")只会生成1个单元格的内容,但Sheet1!A2:G6是5行的区域,两者行数不一致,导致数组拼接失败。
给你两个可用的修正公式:
方法1:用REPT生成对应行数的文本
=QUERY( {Sheet1!A2:G6, ARRAYFORMULA(REPT("Company A", ROWS(Sheet1!A2:G6))); Sheet1!H2:N6, ARRAYFORMULA(REPT("Company B", ROWS(Sheet1!H2:N6)))}, "SELECT * WHERE Col2 IS NOT NULL" )
方法2:用ROW函数快速生成匹配行数
=QUERY( {Sheet1!A2:G6, ARRAYFORMULA(IF(ROW(Sheet1!A2:G6), "Company A")); Sheet1!H2:N6, ARRAYFORMULA(IF(ROW(Sheet1!H2:N6), "Company B"))}, "SELECT * WHERE Col2 IS NOT NULL" )
修正说明:
- 两种方法都是让额外列的行数和前面的表格区域完全一致,确保上下两个拼接的数组结构统一(都是5行8列),这样QUERY就能正常识别并执行筛选逻辑。
- 最终效果会把两个表格合并,同时给第一组数据加上"Company A"列、第二组加上"Company B"列,再排除Col2为空的行,和你预期的结果一致。
内容的提问来源于stack exchange,提问作者Conservative Liberal
相关产品推荐
相关产品推荐

