根据Google表格中的日期将2种形式的数据合并到一张表格中

问题描述 投票:1回答:1

我有2个表格,并且它们的结果在同一张纸上。我使用以下公式

=Query({importrange(...);importrange(...)}, "SELECT * where Col1 is not null")

我想从同一张纸上的另一张表格中得到all结果,而取决于日期中的结果。

我在7月尝试了以下公式

=Query({importrange(...);importrange(...)}, "WHERE month(Col1)=5")

但是它仅显示两个表格中日期中带有7月的结果。

如何合并结果?

google-sheets google-sheets-formula google-form google-sheets-query
1个回答
1
投票

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")

] >>

((请根据您的需要调整所有工作表名称和范围)

© www.soinside.com 2019 - 2024. All rights reserved.