Skip to main content

Kutools for Office — 一套工具,五種功能。完成更多工作。

如何在 Excel 中正確顯示負時間?

Author Xiaoyang Last modified

在 Excel 中進行時間計算時,如果從較早的時間減去較晚的時間可能會很有挑戰性。例如,如果你從 10:15 減去 12:20,Excel 會返回 ###### 錯誤,而不是負的時間值,如下方的截圖所示。這個問題通常發生是因為 Excel 在其標準日期系統中默認只支持正的時間值。解決這個問題對於準確的排程、工時表管理以及任何需要反映負時間持續時間或加班計算的情況非常重要。

a screenshot of using formula to subtract a later time from an earlier timea screenshot of an arrowa screenshot showing the result as # error


通過更改 Excel 的默認日期系統正確顯示負時間

在處理時間計算時,一個簡單的方法來顯示負時間值是將工作簿切換到 1904 日期系統。這能讓負結果正確顯示(例如,“-2:05”),而不是錯誤。當你需要經常顯示負持續時間時,如項目追蹤或班次規劃中,這很方便。

注意:

  • 切換到 1904 日期系統會使工作簿中的所有現有日期移動約 1,462 天(~4 年)。變更後請檢查其他日期欄位。
  • 此設置是針對工作簿的(不會影響其他文件)。
  • 在協作時,請注意使用默認 1900 日期系統的用戶如果混合使用工作簿,可能會看到不同的結果。
  • 你不能在同一個工作簿中同時使用 1900 和 1904 日期系統。

1. 打開 Excel 選項 對話框。在 Excel 2010/2013 中,前往 文件 > 選項。在 Excel 2007 中,點擊 Office 按鈕 並選擇 Excel 選項

2.Excel 選項中,點擊 高級。在 計算此工作簿時 下,勾選 使用 1904 日期系統。參見下面的截圖:

a screenshot of checking the Use 1904 date system option in the Excel Options window

3. 點擊 確定。負時間差現在將正確顯示,如下所示:

a screenshot showing the default # error result an arrow a screenshot showing the negative time result

提示:

  • 如果保留歷史日期的準確性至關重要,請考慮其他方法(例如,通過公式或 VBA 自定義文本輸出),而不是切換日期系統。
  • 在工作簿中記錄日期系統的變更(例如,在“ReadMe”工作表上),以防止其他用戶混淆。
a screenshot of kutools for excel ai

使用 Kutools AI 解鎖 Excel 的魔法

  • 智能執行:執行單元格操作、分析數據並創建圖表——所有這些都由簡單的指令驅動。
  • 自訂公式:生成量身定制的公式,簡化您的工作流程。
  • VBA 編碼:輕鬆編寫和實現 VBA 代碼。
  • 公式解釋:輕鬆理解複雜的公式。
  • 文本翻譯:打破電子表格中的語言障礙。
通過人工智能工具增強您的 Excel 能力。立即下載,體驗前所未有的效率!

使用公式正確顯示負時間

如果你的工作流程不允許更改日期系統(出於兼容性或報告原因),你可以使用公式來實現正確的負時間顯示。此方法將負持續時間顯示為文本,提供清晰的視覺結果而不觸發 Excel 的錯誤。這種方法廣泛用於工作小時虧缺計算、項目超支追蹤或經過時間比較等場景。

1. 在兩個單獨的單元格中輸入你想要計算的時間(例如,A1 和 A2)。在空白單元格中,輸入以下公式來計算和格式化負差異:

=TEXT(MAX($A$1:$A$2)-MIN($A$1:$A$2),"-H::MM")

這裡,A1A2 代表兩個時間值。根據你的數據調整單元格引用。這個公式提供文本結果,因此即使 Excel 在計算中通常返回錯誤,你也可以看到負號。

a screenshot showing how to use formula to display negative time properly

2. 按 Enter。結果將作為帶有負號的格式化時間字符串出現(如果是負數),如下所示:

a screenshot showing the negative time result2

替代公式:

你也可以使用此公式,該公式在結果為負時條件性地顯示負號:

=IF(A2-A1<0, "-" & TEXT(ABS(A2-A1),"hh:mm"), A2-A1)

在此設置中,A2 是較小或較早的時間,A1 是較晚的時間,但你應根據計算方向適當調整這些。此方法為負值生成文本結果,使其更易於報告,但也請注意,生成的值無法在無額外轉換的情況下總計或求和為時間。

注意:

  • 結果是文本,不是真正的時間值,因此進一步的時間計算將無法工作,除非你將輸出轉換回時間格式。
  • 公式方法與工作簿無關,適合共享,並避免全局設置衝突。
  • 注意引用正確的單元格方向,以免邏輯錯誤(例如,從開始減去結束以獲得負數)。

使用 VBA 代碼(自定義文本格式)顯示負時間

另一種有效處理 Excel 中負時間的方法是使用 VBA 宏。這在你希望有一種無縫方式自動檢測和顯示工作表中的負時間計算時特別有用——即使是大批量處理——而無需更改系統設置或依賴每個單元格的公式。此方法適用於管理持續時間數據錄入的高級用戶,如員工班次記錄,並且通過將負時間結果轉換為自定義文本字符串(例如,前綴帶有負號)來防止 ###### 錯誤。

優點: 允許批量處理所選單元格,保留原始數據,可按需格式化結果,且不影響 Excel 的日期系統設置。
缺點: 需要啟用宏,如果不僅僅為了顯示而維持 Excel 的原生時間值進行計算則不適合。

注意和提示:

  • 運行 VBA 腳本之前,務必保存文件的備份。
  • 此解決方案將負時間結果轉換為文本。如果需要未來的計算,請使用原始的數值數據,而不是宏生成的顯示結果。
  • 宏可能被 IT 政策禁用。在 Excel 中啟用宏以使用此解決方案。

1. 在 Excel 中,點擊 開發工具 > Visual Basic。在 VBA 編輯器窗口中,點擊 插入 > 模塊,然後將以下代碼粘貼到模塊窗口中:

Sub DisplayNegativeTimeAsText()
    Dim WorkRng As Range
    Dim Cell As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Select time calculation result cells", xTitleId, WorkRng.Address, Type:=8)
    For Each Cell In WorkRng
        If IsNumeric(Cell.Value) And Not IsEmpty(Cell.Value) Then
            If InStr(Cell.NumberFormat, ":") > 0 Then
                If Cell.Value < 0 Then
                    Cell.NumberFormat = "@"
                    Cell.Value = "-" & Format(Abs(Cell.Value), "h:mm")
                End If
            End If
        End If
    Next
End Sub

2。要執行宏,點擊 Run button 運行 按鈕在 VBA 編輯器中或按 F5。將出現一個對話框,允許你選擇包含時間差結果的單元格範圍(甚至那些顯示 ###### 錯誤的)。

宏將自動掃描所選範圍。對於包含負時間值的任何單元格(通常會顯示 ######),它會將單元格更改為文本格式並將值轉換為可讀格式,例如“-2:05”。正時間結果保持不變。如果你想恢復正常的時間格式,你必須恢復原始單元格值或使用撤銷/恢復操作。

故障排除和更多提示:

  • 如果你選擇的範圍沒有時間差(例如,空白單元格或非時間值),宏會安全地跳過它們。
  • 如果未選擇單元格,宏會提示範圍並不會影響其他數據。
  • 執行後務必檢查格式;受影響的單元格現在是文本,因此原始時間計算在重置之前不會工作。
  • 若要擴展或調整宏以適應其他顯示格式或更長的時分秒結構,請根據需要修改 Format(Abs(Cell.Value), "h:mm") 部分。

最佳 Office 生產力工具

🤖 Kutools AI 助手:以智能執行為基礎,革新數據分析 生成程式碼 創建自訂公式 分析數據並生成圖表 調用 Kutools 增強函數
熱門功能查找、選取項目的背景色或標記重複值刪除空行合併列或單元格且不遺失數據四捨五入(免公式)...
高級 LOOKUP多條件 VLookup多值 VLookup多表查找模糊查找...
高級下拉列表快速創建下拉列表 依賴型下拉列表 多選下拉列表...
列管理器添加指定數量的列移動列切換隱藏列的顯示狀態比較區域及列...
精選功能網格聚焦 設計檢視 增強編輯欄 工作簿及工作表管理器 資源庫(快捷文本) 日期提取器 合併資料 加密/解密儲存格 按列表發送電子郵件 超級篩選 特殊篩選(篩選粗體/傾斜/刪除線...)...
15 大工具集12 項文本工具添加文本刪除特定字符…)50+ 儀表 類型甘特圖等)40+ 實用 公式基於生日計算年齡等)19 項插入工具插入QR码根據路徑插入圖片等)12 項轉換工具金額轉大寫匯率轉換等)7 項合併與分割工具高級合併行分割儲存格等)...及更多
使用 Kutools,語言任你選 — 支援英語、西班牙語、德語、法語、中文及超過40 種語言!

運用 Kutools for Excel,全面提升您的 Excel 技能,體驗前所未有的高效。 Kutools for Excel 提供超過300 項進階功能,讓您提升工作效率、節省時間。 點此尋找您最需要的功能...


Office Tab 為 Office 帶來分頁介面,讓您的工作更加輕鬆簡單

  • 在 Word、Excel、PowerPoint 中啟用分頁編輯與閱讀
  • 在同一視窗的新分頁中打開與創建多份文件,而非開啟新視窗。
  • 提升您的生產力50%,每日可幫您減少數百次鼠標點擊!

所有 Kutools 外掛,一次安裝

Kutools for Office 套裝整合了 Excel、Word、Outlook 和 PowerPoint 的外掛,外加 Office Tab Pro,非常適合需要跨 Office 應用程式協同作業的團隊。

Excel Word Outlook Tabs PowerPoint
  • 全合一套裝 — Excel、Word、Outlook及 PowerPoint 外掛 + Office Tab Pro
  • 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI)
  • 協同運作更順暢 — Office 應用間無縫提升生產力
  • 30 天全功能試用 — 無需註冊、無需信用卡
  • 最超值 — 一次購買,節省單獨外掛費用