根据 Google 表格中的日期,将 2 个表格中的数据合并为一个 sheet

Combine data from 2 forms to one sheet depending on the date in Google Sheets

我有 2 个表格,我有相同的结果 sheet。我使用了以下公式

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

我想要全部 1 个表格的结果和取决于日期 的结果 来自同一个 sheet.

我在 7 月尝试了以下公式

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

但它只显示两种表格中日期为 7 月的结果。

如何合并结果?

编辑 2
(跟随 OP 的

...Looks like it works only when there are entries with July in the date in the second spreadsheet. I need all the entries in the first spreadsheet to be visualized at any time

我们可以通过用 IFERROR 函数

包装整个公式来轻松解决这个问题
=IFERROR({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)},
          QUERY(IMPORTRANGE("xxxxxx","form1!A1:E"), "where Col1 is not null"))

只需确保结果 sheet 中的 Col1时间戳)的格式为 Date time

最后这个公式表示:
导入来自第一个sheet的数据并在其下追加来自[=65]的数据=]第二sheet基于某月.
如果 那个月丢失了(这会导致错误),从 just 第一个 sheet.
导入数据


编辑
(跟随 OP 的

...but my results are not on the same spreadsheets. I'd like to keep them on different spreadsheets.

由于涉及不同的价差sheet,您必须使用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 个月,但我们使用 month(todate(Col1))=6。那是因为 在 "query language" 一月份是第 0 个月而不是第 1 个月
2. 在我们的第二部分中,我们使用 as headers 0。这样我们就可以避免在第二次查询时返回它们。
3. 由于导入来自我们保持开放范围的表单,因此当提交新答案时,也会导入。


如果您所有的sheet都在相同的价差sheet中,您就不需要IMPORTRANGE
使用 INDEX - "lighter" - 你的公式将是:

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

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