如何查询多个工作表并合并数据?

Ken*_*nci 8 google-sheets google-sheets-query

我有15张使用相同模板的表,适用于15个不同的用户.我想对所有工作表进行查询,并在单独的工作表中显示结果:

=QUERY(Mona!A3:U300; "select A, D where C != ''")
Run Code Online (Sandbox Code Playgroud)

Mona15张纸中1张的名称在哪里.

所以我需要的是在所有工作表上进行此查询并显示结果.列(A,D)应该只出现一次.

我怎么能做到这一点?

Max*_*rov 7

让我建议使用{}收集所有数据:

3张样品配方:

=QUERY({'1'!A1:D13;'2'!A2:D13;'3'!A2:D13},"select Col1, Col2")
Run Code Online (Sandbox Code Playgroud)

这里我们在工作表#1中只使用一次头:范围'1'!A1:D13包含头,范围'2'!A2:D13和其他没有.我们还用Col1,Col2,Col3替换A,B,C表示法...

看一下示例工作簿,可能会有人发现它很糟糕.


s6m*_*ike 2

这并不能解决问题的合并部分,但查询所有工作表的有效方法是:

=QUERY(Indirect(A1); "select A, D where C != ''")
Run Code Online (Sandbox Code Playgroud)

其中单元格A1具有文本值Mona!A3:U300

使用此方法,您可以在单元格中列出不同的工作表名称,并查找每个工作表名称。

可能可以使用 anArrayFormula将查询合并到一个公式中,尽管我不确定查询对此的效果如何 - 使用SumproductFilter来使用多个条件查找值可能会效果更好。