我在列中有一个保存日期(mm / dd / yyyy)的Google工作表。我想计算日期列中两个连续值(输入表)之间的差异,并在差异大于1时将输出返回到单独的表(摘要表)。尝试使用Google工作表查询,因为它具有执行查询结果的属性,并根据检索结果自动添加行。第一个工作表(输入)主要是一个数据输入工作表,其中输入日期作为过程进行时的日期。因此,每当两个相应的日期条目相差大于1时,我都想报告start_date(即第i行中的日期值)和end_date(即第i + 1个日期值)行。对于第i和第i + 1行,要在摘要表agaist列中的新行start_date(第i个值)和end_date(第i + 1个值)。我们可以通过Google表格来实现这一目标吗?
已更新一些参考数据:
https://docs.google.com/spreadsheets/d/1-PAwtw07LxH8OYJ9wvPdivcoLHjz1IRHBrqOieqixY8/edit?usp=sharing
答案 0 :(得分:2)
我认为在查询之外进行减法比较容易(因为Query不允许对日期进行算术运算),如下所示:
=ArrayFormula(query({{A2:A},{A3:A;""},{A3:A;""}-{A2:A}},"select Col1,Col2 where Col3>1 label Col1 'Start Date',Col2 'End Date'"))
编辑
您可能应该检查日期之间是否有空单元格,因此可以向Where子句添加另一个条件:
=ArrayFormula(query({{A2:A},{A3:A;""},{A3:A;""}-{A2:A}},"select Col1,Col2 where Col3>1 and Col1 is not null label Col1 'Start Date',Col2 'End Date'"))