【问题标题】:How to query multiple sheets and merge the data?如何查询多张工作表并合并数据?
【发布时间】:2012-08-08 11:36:48
【问题描述】:
我有 15 张使用相同模板的工作表,用于 15 个不同的用户。我想对所有工作表进行查询,并将结果显示在单独的工作表中:
=QUERY(Mona!A3:U300; "select A, D where C != ''")
其中Mona 是 15 张纸中的一张的名称。
所以我需要在所有工作表上进行此查询并显示结果。 (A,D) 列只能出现一次。
我怎样才能做到这一点?
【问题讨论】:
标签:
google-sheets
google-sheets-query
【解决方案1】:
让我建议使用{} 收集所有数据:
3 张的示例公式:
=QUERY({'1'!A1:D13;'2'!A2:D13;'3'!A2:D13},"select Col1, Col2")
这里我们在工作表 #1 中只使用一次标题:范围 '1'!A1:D13 包含标题,范围 '2'!A2:D13 和其他不包含。此外,我们将 A、B、C 符号替换为 Col1、Col2、Col3...
看看example workbook,可能有人会觉得它很重要。
【解决方案2】:
这并不能解决您问题的合并部分,但查询所有工作表的有效方法是:
=QUERY(Indirect(A1); "select A, D where C != ''")
其中单元格A1 的文本值为Mona!A3:U300
使用此方法,您可以在单元格中列出不同的工作表名称并查找每个工作表。
也许可以使用ArrayFormula 将查询组合成一个公式,但我不确定查询对此的效果如何——使用Sumproduct 或Filter 来查找使用多个值的值标准可能会更好。