对于15个不同的用户,我有15张使用相同模板的工作表。我想对所有工作表进行查询,并在单独的工作表中显示结果:
=QUERY(Mona!A3:U300; "select A, D where C != ''")
其中Mona
是15张纸中1张的名称。
所以我需要的是在所有工作表上进行此QUERY并显示结果。列(A,D)应该只出现一次。
我该如何做到这一点?
答案 0 :(得分:7)
让我建议使用{}
收集所有数据:
3张样本公式:
=QUERY({'1'!A1:D13;'2'!A2:D13;'3'!A2:D13},"select Col1, Col2")
此处我们仅在工作表#1中使用标题一次:范围'1'!A1:D13
包含标题,范围'2'!A2:D13
而其他标题不包含。我们还用Col1,Col2,Col3代替A,B,C表示法......
看看example workbook,可能会有人觉得它很糟糕。
答案 1 :(得分:2)
这不能解决问题的合并部分,但查询所有工作表的有效方法是:
=QUERY(Indirect(A1); "select A, D where C != ''")
其中,单元格A1
的文字值为Mona!A3:U300
使用此方法,您可以在单元格中列出不同的工作表名称,并查找每个工作表。
也许可以使用ArrayFormula
将查询合并到一个公式中,但我不确定查询对此有多好用 - 使用Sumproduct
或Filter
使用多个标准查找值可能会更好。