Google sheets Google Sheet查询日期列中连续值差异的输出

Google sheets Google Sheet查询日期列中连续值差异的输出,google-sheets,google-sheets-formula,google-sheets-query,Google Sheets,Google Sheets Formula,Google Sheets Query,我在一列中有一张谷歌表格,上面有日期(mm/dd/yyyy)。我想计算日期列中两个连续值(输入表)之间的差值,当差值大于1时,将输出返回到单独的表(汇总表)。尝试使用google sheet query,因为它具有执行查询结果并根据检索自动添加行的属性。第一个工作表(输入)主要是一个数据输入工作表,其中,当流程进行时,日期被输入为。因此,每当两个Consequitive date条目相差超过1时,我都要报告开始日期(即第I行中的日期值)和结束日期(即日期值I+1)行。对于汇总表中的每个i和i+1

我在一列中有一张谷歌表格,上面有日期(mm/dd/yyyy)。我想计算日期列中两个连续值(输入表)之间的差值,当差值大于1时,将输出返回到单独的表(汇总表)。尝试使用google sheet query,因为它具有执行查询结果并根据检索自动添加行的属性。第一个工作表(输入)主要是一个数据输入工作表,其中,当流程进行时,日期被输入为。因此,每当两个Consequitive date条目相差超过1时,我都要报告开始日期(即第I行中的日期值)和结束日期(即日期值I+1)行。对于汇总表中的每个i和i+1行,在列表列的“开始日期”(第i个值)和“结束日期”(第i+1个值)中添加一个新行。我们有没有办法做到这一点

更新了一些参考数据:


我认为在查询之外进行减法比较容易(因为查询不允许对日期进行算术运算),如下所示:

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

使用所需结果的示例共享工作表的副本我已使用示例工作表更新了问题。这里的要点是,当数据输入表中有符合日期差异标准的新条目时,汇总工作表将自动添加新行。拖动摘要表以计算数据输入表中较新行的结果可能不是最好的选择。这就是为什么使用谷歌查询将是一个更好的选择。谢谢。我会试着确认一下。对于复杂的谷歌表单计算没有太多想法。这就是为什么这里需要帮助。很抱歉迟到了,它起作用了,谢谢。但是,你能解释一下这个公式吗?一个更具体的问题是,{}是否定义了数据集查询应执行的操作,以及该查询的含义是什么;在花括号里?还有,为什么我们需要将其包装在ArrayFormula()函数中@TomI相信Tom的公式为查询提供了3列—Col1是A列中的所有日期,Col2是B列中除第一列之外的所有日期(最后一行添加了一个空白单元格,以使列的长度相同),Col3是Col1和Col2中日期的差。当该值大于thn 1时,日期间隔超过一天,并且满足WHERE标准。“;”元素是将两个范围相加,一个在另一个之上,即在同一列中。所以{A3:A;“”}在范围A3:A下面添加一个空格(或单元格),使范围与范围A2:A的长度相同。@Arunavo,我认为需要数组公式来启用要执行的减法运算,
{A3:A;“”}-{A2:A}
,即计算Col3的值。否则,数组减去数组将导致错误。如果我错了,有人会纠正我的。是的-@kirkg绝对正确。可能唯一需要添加的是,我必须使用内部的花括号来获取添加了单元格{A3:A;“”}的范围,以便正确解析。如果在日期之间有任何空行的可能性,您将得到一个虚假的输出,因此我将在我的答案中添加一个检查。