2015-04-05 91 views
1

我有一張包含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

回答

0

您使用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

1

我能與此查詢來獲取時間:

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

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