我有一个包含3列的工作表:名称(A),开始时间(B),结束时间(C)。
我一直在尝试运行Google表格查询,该查询会显示持续时间(endTime - startTime
)。
问题似乎是查询如何识别startTime
和endTime
值。
我将单元格格式化为:
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 :(得分: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)
这将从另一次扣除一次,给你带来不同。
希望这有助于您入门