若要在 Excel 中將秒數轉換為 HH:MM:SS,同時保留經過的小時數,請將小時計算為 INT(seconds/3600)、分鐘計算為 INT(MOD(seconds,3600)/60),秒數則計算為 MOD(seconds,60)。這種方法會將輸入視為經過的時間長度,而非時鐘讀值,因此當總時長超過一天時,仍會保留每一個完整小時。如果想要現成的結果,無須撰寫或維護工作表公式,秒數轉 HMS 轉換器可接受非負整數的經過秒數,並將其轉換為格式化的 HH:MM:SS 值。選擇 Convert to HH:MM:SS,檢查總小時、分鐘與秒數欄位,然後使用複製控制項,將精確的時間長度放入剪貼簿。對於多日總計,小時欄位刻意會維持高於 23,而分鐘與秒數則維持在 00 到 59 之間。此工具可接受 0 到 9,007,199,254,740,991 之間的精確整數值。它會拒絕小數,因為小數輸出需要另訂精確度規範;也會拒絕負值,因為輸出代表的是非負的經過時間間隔。

為什麼總小時數不得循環歸零
HMS 代表小時、分鐘與秒數。進行時間長度轉換時,小時欄位代表已經過的完整小時總數,而非 24 小時制時鐘上的小時。當輸入包含整整一天或多天時,這項差別非常重要。時鐘式顯示會在 24 小時後重複,並遺失資訊;經過時間顯示則會持續向上累加。
算術運算遵循標準時間單位關係:BIPM SI 簡明摘要將 1 分鐘定義為 60 秒、1 小時定義為 3,600 秒,而 NIST — 使用 SI 單位撰寫則將秒指定為時間間隔的 SI 單位。這些定義確立了轉換方式,但不會將結果轉變為日期、時區或日曆時間戳記。
轉換器的一般小時值使用兩位數,分鐘與秒數則一律使用兩位數。必要時,小時數可以超過兩位數。如此一來,結果仍然容易閱讀,同時確保分鐘與秒數持續表示受各自正常循環界限限制的餘數欄位。
| 讀者需求 | 適合的輸出 | 重要差別 |
|---|---|---|
| 易讀的經過時間長度 | 小時總數不受限的 HH:MM:SS | 保留每一個完整小時,而不會在 24 時歸零 |
| 在 Excel 中建立 literal 值 | 由 INT 與 MOD 公式產生的文字 | 容易複製,但不會以數值時間小數形式儲存 |
| further 試算表計算 | 以 [h]:mm:ss 顯示的 Excel 日小數 | 顯示經過小時數的同時維持數值形式 |
| 具有獨立日欄位的目的地 | 天數加上 00–23 的時鐘欄位 | 日界必須另行表示 |
| ISO 8601 目的地 | 該系統要求的時間長度語法 | 不得將冒號格式化的字串重新標示為 ISO 語法 |
在 Excel 中建立不會循環歸零的結果
- 將原始的非負整數以數值形式放在 A1 儲存格中。不要在儲存格內容加上 sec 或 seconds 之類的單位後綴。
- 在 B1 儲存格中輸入 =TEXT(INT(A1/3600),"00")&":"&TEXT(INT(MOD(A1,3600)/60),"00")&":"&TEXT(MOD(A1,60),"00")。這會傳回文字字串,其中小時部分直接取自完整輸入值。
- 檢查結果。分鐘與秒數是根據餘數計算,因此會維持在 00 到 59 之間,而小時文字則可持續超過 23。
- 若要轉換一整欄,請選取 B1,並向下拖曳填滿控制點。Excel 會針對每一列調整 A1 參照。
- 僅使用支援範圍內的非負整數值。在依賴精確的時間長度結果之前,請先移除或另行分類小數、負值,以及高於 9,007,199,254,740,991 的整數。
如果公式因為 Excel 安裝版本使用分號作為函式引數分隔符而回報引數錯誤,請將 INT、MOD 與 TEXT 內的逗號替換成分號。冒號文字與串接運算子維持不變。
讓 Excel 時間長度維持數值形式
當後續公式需要使用時間長度進行計算時,請使用日小數而非文字:
- 在另一個儲存格中輸入 =A1/86400,以一天的小數形式表示原始值。
- 開啟儲存格格式,選擇數值 tab,並選取自訂。
- 輸入格式代碼 [h]:mm:ss。
- 套用格式,並確認小時數會持續超過 23。h 外面的方括號很重要,因為它表示經過的小時數,而非時鐘欄位。
如果主要目標是可複製的 HH:MM:SS 字串,文字公式會很有用。如果時間長度必須保留供其他試算表算術運算使用,則自訂格式的日小數會更有用。
建立可複製的時間長度而無須使用公式
- 開啟秒數轉 HMS 轉換器,並輸入非負整數的經過秒數。
- 選擇 Convert to HH:MM:SS。
- 檢查明細卡,包括總小時欄位,以及剩餘的分鐘與秒數欄位。
- 選取複製按鈕,將精確的格式化時間長度放入剪貼簿,然後貼到所需的目的地。
格式化輸出適用於日誌、計時器、運動紀錄、媒體時間長度備註、工作執行時間、測試輸出,以及簡單的資料清理。將冒號格式化的結果貼入 Excel 時,如果儲存格必須精確保留該 literal 字串,請先將目的地儲存格格式化為文字;否則 Excel 可能會將其解讀為時鐘值。
逐步檢視一次多日轉換
對於原始值 98,765 秒,整數與餘數方法會依下列方式拆分總值:
- 小時:floor(98,765 ÷ 3,600) = 27,剩餘 1,565 秒。
- 分鐘:floor(1,565 ÷ 60) = 26,剩餘 5 秒。
- 最後的秒數餘數:5 秒。
產生的時間長度為 27:26:05。時鐘式的 03:26:05 會捨去整整一天。轉換器會將這一天保留在總小時欄位中。結果也可以反向還原:27 × 3,600 + 26 × 60 + 5 = 98,765,因此原始的整秒總值會完全還原。
維持精確的整秒精度
轉換器以 floor(total seconds ÷ 3,600) 計算總小時數,從扣除這些小時後的餘數計算分鐘,並使用最後的餘數計算秒數。由於它使用整數除法與餘數,而非四捨五入的小數除法,因此格式化字串具有確定性,且不會出現浮點數尾數。
輸入上限是 JavaScript 的最大安全整數:9,007,199,254,740,991。該範圍內的每個整數值都能精確表示。較大的輸入可能造成相鄰整數被壓縮成相同的數值表示,進而可能產生不正確的最後秒數欄位。因此,轉換器寧可明確回報範圍錯誤,也不提供看似合理但不精確的答案。
| 輸入條件 | 轉換器行為 | 實務原因 |
|---|---|---|
| 介於 0 到 9,007,199,254,740,991 之間的非負整數值 | 接受 | 能精確拆分完整的經過值 |
| 高於安全整數上限的整數值 | 拒絕 | 無法再保證精確保留 |
| 小數或分數值 | 拒絕 | 需要額外的精度與分隔符規範 |
| 負值 | 拒絕 | 此工具表示非負時間間隔,而非帶正負號的偏移量 |
| 包含 24 小時或以上的時間長度 | 接受且不循環歸零 | 所有完整小時數都應納入總小時欄位 |
小數輸出不在此工具的範圍內,因為選擇小數位數、小數分隔符與四捨五入規則,會構成另一個格式問題。負時間間隔也不在其定義用途之內。進行媒體作業時,請從相關播放器或中繼資料檢查器取得時間長度並輸入該值;轉換器本身不會讀取媒體檔案。
結果只描述已指定的秒數。它不會解讀日期、時區、日光節約時間、閏秒或日曆月份,因為這些概念都不會改變所提供秒數的基本拆分方式。
讓結果符合目的地需求
當目的地需要簡潔、易讀的經過時間長度,而且總小時數應維持在單一欄位中時,請使用 HH:MM:SS 輸出。這適用於許多日誌、紀錄與時間長度備註,因為它能保留完整時間間隔,而不必引入獨立的日欄位。
如果接收系統要求天數加上 00–23 的時鐘欄位,請分別將總值拆分為這些部分,或使用專門設計為包含天數部分的時間長度格式化工具。如果目的地要求 ISO 8601 時間長度語法,請提供該系統所預期的語法,而不要將冒號格式化的字串重新命名。保留正確值也取決於選擇與不受限經過小時數之意義相符的目的地。