我有2个表格,并且它们的结果在同一张纸上。我使用以下公式
=Query({importrange(...);importrange(...)}, "SELECT * where Col1 is not null")
我想从同一张纸上的另一张表格中得到all结果,而取决于日期中的结果。
我在7月尝试了以下公式
=Query({importrange(...);importrange(...)}, "WHERE month(Col1)=5")
但是它仅显示两个表格中日期中带有7月的结果。
如何合并结果?
EDIT(在OP的clarification之后)
...但是我的结果不在同一电子表格中。我想将它们保留在不同的电子表格中。
由于存在涉及不同的电子表格,您必须使用IMPORTRANGE
功能(因为您已经很正确地做到了)。那么公式将是:
={QUERY(IMPORTRANGE("xxxxxx","form1!A1:E"), "where Col1 is not null");
QUERY(IMPORTRANGE("xxxxxx","form2!A1:E"), "where Col1 is not null and month(todate(Col1))=6",0)}
(和以前一样,请根据需要调整范围。只需确保保持相同的列数)
注意:1.尽管7月是第7个月,但我们使用month(todate(Col1))=6
。这是因为在“查询语言”中,一月是月份0,而不是1。2.在第二部分中,我们将其用作标题0
。这样,我们可以避免为第二个查询返回它们。3.由于导入来自表单,因此我们保持开放范围,因此在提交新答案时也将导入。
如果所有工作表都在同一电子表格中,则不需要IMPORTRANGE
。使用INDEX
-更“轻”-您的公式将是:
[={QUERY({form1!A2:O29}, "where Col1 is not null");
QUERY({form2!A2:O29}, "WHERE month(Col1)=6")}
] >>现在您的form2
结果将被放置在form1
]的结果下方
具有附加查询,您可以将它们都按列1中的timestamp
排序
[=QUERY({QUERY({form1!A2:O29}, "where Col1 is not null");
QUERY({form2!A2:O29}, "WHERE month(Col1)=7")},"order by Col1")
] >>((请根据您的需要调整所有工作表名称和范围)