在 Excel 試算表中計算時間長度,是透過使用公式 =B2-A2,從結束時間儲存格減去開始時間儲存格來完成,其中 A2 包含開始時間,B2 包含結束時間,然後套用自訂數值格式 [h]:mm:ss,以顯示超過 24 小時週期的累計小時數。Excel 將時間視為 24 小時一天的分數部分。例如,六小時在內部表示為 0.25,而十二小時則是 0.5。由於這個底層的序列數系統,從較晚的結束時間減去開始時間,會產生一個代表一天經過分數的小數值。為了讓這個小數值對人類而言易於閱讀,試算表軟體在很大程度上依賴儲存格格式化規則。如果您不變更預設的時間格式,Excel 會在累計總數跨越 24 小時標記時自動將顯示的時間長度重設為零,導致工時表、專案排程或多日事件追蹤的報告極不準確。透過調整儲存格格式以將小時符號加上方括號,您可以指示試算表引擎顯示絕對的、累計的經過小時數。或者,當您需要快速且零錯誤的計算,而無需設定複雜的自訂格式時,使用基於瀏覽器的時間長度計算機,即可立即獲得天數、小時、分鐘和秒數的明細。

how to calculate time duration in excel sheet
在 Excel 試算表中計算時間長度

在 Excel 中測量時間差的公式

根據試算表的結構方式,您可以使用幾種不同的公式來計算經過的時間。最直接的方法是標準減法。當您的開始和結束時間都發生在同一個日曆日上時,直接的數學方程式非常有效。

標準減法公式

如果您的開始時間在儲存格 A2 中,結束時間在儲存格 B2 中,請在儲存格 C2 中輸入以下公式:

=B2-A2

只要結束時間在時間順序上晚於同一日的開始時間,這個公式就能完美運作。然而,如果您的資料包含跨越午夜的班次,這個簡單的減法會產生負值,導致 Excel 顯示一連串的井字號 (###),因為它在預設的 1900 日期系統下無法原生顯示負的時間。

針對跨夜時段的 MOD 公式

若要在不顯示錯誤的情況下,計算跨越午夜的班次時間長度,請使用 MOD 函數。MOD 函數會傳回一個數字除以除數後的餘數。在時間追蹤中,除以 1(代表完整的 24 小時一天)可以修正負的差異。請使用以下公式:

=MOD(B2-A2, 1)

讓我們看一個已解出的數值範例,了解 Excel 在背後是如何處理這個公式的:

  • 開始時間 (儲存格 A2): 晚上 10:00 (Excel 將其儲存為小數 0.916667,或 24 小時中的 22 個小時)
  • 結束時間 (儲存格 B2): 隔天早上 6:00 (儲存為小數 0.25,或 24 小時中的 6 個小時)
  • 代入: =MOD(0.25 - 0.916667, 1)
  • 步驟 1: 時間相減得出 -0.666667。
  • 步驟 2: 使用除數為 1 的 MOD 函數,得出餘數 0.333333。
  • 結果: Excel 將小數 0.333333 轉換回時間格式,即正好 8 小時 (0.333333 乘以 24)。

如果您需要將這些時間長度乘以時薪來計算薪資,必須先將時間格式轉換為小數值。一份關於如何在 Excel 中將時間轉換為小數的完整指南,解釋了如何將經過時間乘以 24 以得到標準的小數小時數。

格式化儲存格以顯示累計時間

即使公式正確,如果儲存格格式不正確,您的 Excel 試算表仍可能顯示令人困惑的結果。根據預設,Excel 的標準「時間」格式會在 24 小時處循環。如果您的計算結果是總共經過 26 小時,Excel 會顯示「2:00」,因為它會捨去已完成的 24 小時一天。若要顯示真實的、累計的時間長度,您必須套用自訂數值格式。

  1. 選取包含您時間長度公式的儲存格或欄。
  2. 在選取區域上按一下滑鼠右鍵,然後從內容選單中選擇儲存格格式(或在 Windows 上按 Ctrl + 1 / 在 Mac 上按 Cmd + 1)。
  3. 在視窗左側的類別清單中,按一下自訂
  4. 在「類型」輸入框中,準確輸入:[h]:mm:ss(如果您不需要追蹤秒數,也可以輸入 [h]:mm)。
  5. 按一下確定以套用變更。

「h」周圍的方括號是關鍵指令,它會告訴 Excel 持續累計小時數,而不是在午夜重設為零。這可確保一個持續 50 小時的多日專案階段能正確顯示為 50:00:00,而不是 2:00:00。

解決格式障礙與負時間錯誤

雖然 Excel 是一個非常多功能的工具,但在處理混合資料、遺漏的項目或複雜排程時,管理時間公式很快就會變得繁瑣。下表比較了不同的 Excel 公式在各種真實情境下的表現。

計算情境 Excel 公式 所需的格式 行為與限制
同日時間長度 =B2-A2 [h]:mm 如果結束時間在時間順序上早於開始時間,會顯示錯誤。
跨夜班次 (跨越午夜) =MOD(B2-A2, 1) [h]:mm 準確計算差異,但僅限於 24 小時以內的時段。
多日時段 (包含日期) =B2-A2 [h]:mm:ss 要求您在兩個儲存格中連同時間一起輸入完整日期。

如果您的試算表欄位填滿了手動輸入的文字而非可辨識的時間值,Excel 將無法執行任何數學運算,並傳回 #VALUE! 錯誤。您必須先將這些文字區塊轉換為真正的序列數,才能繼續進行計算。當這些試算表錯誤累積起來,或者當您不在主要電腦旁時,使用專用的線上計算工具通常是最務實的解決方案。

使用時間長度計算機的即時替代方案

當您想跳過儲存格格式設定、語法除錯和小數轉換時,線上的時間長度計算機是理想的替代方案。它會測量兩個時刻之間的精確時間量。您只需輸入開始日期和時間以及結束日期和時間,它就會立即以人性化明細和累計總數的形式傳回經過的時段。

與 Excel 不同,這裡沒有提交按鈕,也沒有什麼需要設定。只要兩個欄位都包含有效的值,結果就會出現,並在您變更任一輸入時持續更新,因此您可以自由嘗試,即時觀察數字的反應。這個計算機的工作方式符合大多數人對碼錶的期望。開始和結束都被視為同一個普通時鐘的讀數,而時間長度就是它們之間的差異。沒有時區轉換,也沒有日光節約時間調整,這意味著結果完全可預測:在同一天選擇上午 9:00 和下午 5:00,您每次都會得到正好 8 小時,無論您或您的電腦身處何處。

這使得它對於計時班次、工作階段、旅行、烹飪、鍛鍊、學習區塊、專案階段、合約期或任何您想要原始經過時間而非具日曆感知、具時區感知數字的情境都非常有效。因為這個工具會同時報告明細和總數,您永遠不必手動進行轉換。如果您想知道一個兩天三小時的差距代表多少總分鐘,或一個多週的時段包含多少秒數,這些總數會與其他所有資訊一同顯示。

明細會為了可讀性而修剪空白的單位,所以一個整整一天的差距只會顯示為「1 day」,而不是用零小時、零分鐘和零秒來填充;而正好一小時三十分鐘的差距則會顯示為「1 hour, 30 minutes」。單數和複數的單位都能正確處理,因此您絕不會看到尷尬的輸出。此外,如果您輸入的結束時間早於開始時間,計算機並不會發生錯誤或顯示令人困惑的負數。相反地,它會顯示兩個時刻之間的絕對時間,並清楚標示結束時間早於開始時間,因此即使是反過來的一對也能為您提供一個有用且大小正確的答案。當開始和結束相同時,它會報告一個為零秒的時間長度,而不是空白結果。

一切都完全在您的瀏覽器中使用純 JavaScript 日期算術執行。不會上傳、記錄或傳送任何日期、時間或任何其他資訊到伺服器,而且該工具在頁面載入後不需要帳號,也不需要網路連線。這使得它快速、私密,即使在離線狀態下也值得信賴。

如何在線上計算時間長度

  1. 在第一個欄位中挑選或輸入開始日期和時間。
  2. 在第二個欄位中挑選或輸入結束日期和時間。
  3. 閱讀時間長度明細以及總天數、小時數、分鐘數和秒數,這些數字會在您編輯任一欄位時立即更新。

使用這個基於瀏覽器的工具,可讓您再次檢查 Excel 試算表中的公式,確保您的自訂格式和數學函數在沒有任何底層計算錯誤的情況下輸出正確的經過時間長度。

如果您正在權衡選項,如何在 Outlook 中為會議變更時區對此有詳細說明。