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

问题描述:

我有一张包含3列的表格:名称(A),开始时间(B),结束时间(C)。在Google表格查询中选择两次之间的差异

我一直在试图运行一个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 
+0

你可以分享一个示例表吗?这将有助于解决这个问题 – JPV 2015-04-05 20:42:25

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

=datedif(start date, end date, unit) 

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

如果根据您的需要,您需要按日期和时间区分日期。然后,您需要用时间和其他东西来查看时间元素。

我建议看看TIMEVALUE函数。 为了得到两个时间之间的区别,你可以尝试像

=timevalue(a2)-timevalue(a3) 

这一次从另一个给你的差别扣除。

希望这有助于让你开始

+1

谢谢你的回答我可能不清楚我的问题我在做这个查询谷歌的查询doesn' t似乎有timevalue()作为函数,而Query中的dateDiff()只接受两个参数,并且接受dateTime作为变量,但看起来问题在于它截断了时间,所以我不能使用dateDiff。 – Nulpoints 2015-04-05 17:21:43

+0

这样回答/为你解决问题吗? – Munkey 2015-04-05 17:23:47

+0

对不起,我碰到了发送太快了。第一次:-)所以不,它仍然不能解决我的问题:( – Nulpoints 2015-04-05 17:24:52

我能与此查询来获取时间:

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

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