3

我有一张包含三列的表格:名称 (A)、开始时间 (B)、结束时间 (C),并且一直在尝试运行将显示持续时间 ( endTime - startTime) 的 Google 表格查询。

问题似乎是查询如何识别startTimeendTime值。

我已将单元格格式化为:10:00AM, 4:30PM. 当我单击相同值的原始工作表时,它们显示为:10:00:00 AM, 4:30:00 PM

当我在执行查询后单击该值时:

=QUERY(Sheet1!A:C, "select A, B, C")

它看起来像:1/1/1900 10:00:00, 1/1/1900 16:30:00

我努力了:

=QUERY(Sheet1!A:C, "select A, C-B") 

错误:无法对非数字值执行函数差异

=QUERY(Sheet1!A:C, "select A, dateDiff(C,B)")  

错误:无法对不是 Date 或 DateTime 值的值执行函数“dateDiff”

4

2 回答 2

4

我能够通过此查询获得持续时间:

=QUERY(
    QUERY(
        QUERY(
            Sheet1!A:I
            "select A, hour(B)+minute(B)/60, hour(C)+minute(C)/60"),
        "select Col!, Col3-Col2"),
    "select Col1, sum(Col2) group by Col1")

我真的希望有另一种方法。:(

于 2015-04-11T06:26:47.873 回答
-1

您对 datedif 的使用不正确,这会计算两个日期的差异,而不是时间。

=datedif(start date, end date, unit) 

这就是它应该如何使用,例如。=datedif(A2, A3, "D")将比较 a2 和 a3 并给出 DAYS 的差异。

如果出于您的需要,您需要按 DAYS 和 TIME 区分日期。然后你将需要 datedif 和其他东西来查看时间元素。

我建议看看TIMEVALUE功能。要获得两次之间的差异,您可以尝试类似

=timevalue(a2)-timevalue(a3)

这将从另一个中扣除一个时间,从而给您带来差异。

希望这可以帮助您入门

于 2015-04-05T13:48:30.367 回答