在Google表格查询中选择两次之间的差异

时间:2015-04-05 00:24:45

标签: google-sheets spreadsheet

我有一个包含3列的工作表:名称(A),开始时间(B),结束时间(C)。

我一直在尝试运行Google表格查询,该查询会显示持续时间(endTime - startTime)。

问题似乎是查询如何识别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")  
Error:Can't perform function difference on values that are not numbers  

=QUERY(Sheet1!A:C, "select A, dateDiff(C,B)")  
Error:Can't perform function 'dateDiff' on values that are not a Date or DateTime values

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

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

=datedif(start date, end date, unit) 

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

如果您需要,您需要在DAYS和TIME之间的日期差异。然后你需要使用datedif和其他东西来查看时间元素。

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

的内容
=timevalue(a2)-timevalue(a3)

这将从另一次扣除一次,给你带来不同。

希望这有助于您入门