合并两个数据集以添加缺失数据的默认值

时间:2018-05-10 08:58:01

标签: google-sheets google-sheets-query

我尝试合并两个数据集,以便为缺失的数据插入默认行。用例是我列出了这些日期的培训课程的日期和出勤人数,但如果我没有任何记录进行培训,那么它就会从列表中遗漏。

目前在我的工作表中我有两列日期和出勤人数,在另一张表中,我已经计算了我们所有会议的开始和结束日期之间的所有周三和周五(培训日)数据。

有没有办法将两个数据集合并在一起,以便每个会话的零出勤率是基本集合,然后我合并到我有数据的行?我尝试过使用一些查询命令,但如果我使用{Sheet1!A1:A,Sheet2!B1:B}指定两个数据集,则会出现数组错误。

目前通过以下查询收集出勤信息:

=QUERY({Records!A2:B}, "SELECT Col1, COUNT(Col2) WHERE (Col1 IS NOT NULL) GROUP BY Col1 ORDER BY Col1 ASC LABEL Col1 'Session Date', COUNT(Col2) 'Skaters'")其中记录表只是日期和名称。

如果我更新它以从两个数据集(=QUERY({Records!A2:B, Scratch!B2:B}, "SELECT Col1, COUNT(Col2) WHERE (Col1 IS NOT NULL) GROUP BY Col1 ORDER BY Col1 ASC LABEL Col1 'Session Date', COUNT(Col2) 'Skaters'")读取,那么我得到Function ARRAY_ROW parameter 2 has mismatched row size. Expected: 982. Actual: 999的REF错误。似乎公平,因为它创建了未对齐的数据集,而不是基于日期列进行合并。

我可能对电子表格的处理方式有点像数据库,虽然我更愿意放入脚本编辑器来解决这个问题,但我试图学习一些电子表格技术。

数据

记录看起来像这样:

| 2018-05-04 | Bob | | 2018-05-04 | Fred | | 2018-05-12 | Bob |

因此没有人参加9日的比赛,所以当鲍勃得到100%的误导性出勤记录时,统计数据会出现偏差。

1 个答案:

答案 0 :(得分:0)

我不了解您要执行的操作的详细信息,但由于它涉及将一个仅包含日期的列表与至少两个日期和名称的列表进行组合,因此提供了以下示例:

SO50269101 example

公式为:

=ArrayFormula(query({Sheet1!B1:C20;Sheet2!E1:F20;Sheet3!I1:J20},"select * where Col2 is not NULL order by Col1 "))