如何在 Excel 中減去日期的 3 種簡單方法

如何在 Excel 中減去日期的 3 種簡單方法

有時,在使用 Excel 時,您需要計算兩個日期之間的天數。

幸運的是,Excel 提供了多種方法來減去日期以獲得它們之間的天數差異。

在 Excel 中如何減去日期有三種簡單的方法,它們是:

  1. 簡單的減法
  2. 使用 DAYS() 函數
  3. 使用 NETWORKDAYS() 函數

Microsoft 不再支持一種較舊的方法,即 DATEDIF() 函數。但是,列出的三種方法是可靠和準確的。您會很快發現項目時間表或業務分析等任務的日期之間的差異。

到本文結束時,您將能夠在自己的工作中應用每種方法來減去日期,從而輕鬆獲得天數。

讓我們開始吧。

目錄

了解 Excel 中的日期

Excel 中的日期有時會令人困惑,因為它們既充當數字又充當文本。當您了解Excel將日期存儲為序列號時,它就更有意義了。

Excel 的日期系統從 1900 年 1 月 1 日開始計算,它被分配了序列號 1。之後的每一天都被分配了下一個數字。

例如,1900 年 1 月 2 日的序號為 2。

您可能會看到,這使得減去兩個日期並找到它們之間的天數變得更簡單。讓我們來看看推薦的方法。

我建議你啟動一個新的工作簿。我給出的每個例子都是一個快速教程。

我的工作表使用單元格 B2 和單元格 C2 作為示例日期。您可以將這些示例用作您工作的模板。

如何在 Excel 中減去日期的 3 種簡單方法

1. 用簡單的減法得到天數

在Excel中查找兩個日期之間的天數的第一種方法是使用簡單的減法(減號)。這是格式:

=結束-開始

按著這些次序:

  1. 在單獨的單元格中輸入兩個日期。
  2. 在一個新的單元格中,寫一個這樣的公式:=C2-B2
  3. 按回車。

結果值將是兩個日期之間的天數。

在我們的示例中,我在 B2 中輸入了“2023 年 3 月 3 日”,在單元格 C2 中輸入了“2023 年 3 月 20 日”。計算結果為17。

下圖中的單元格 A2 只是對所用方法的描述。

如何在 Excel 中減去日期的 3 種簡單方法

添加自定義標籤

如果要使用自定義標籤顯示結果,請使用以下公式:

=C2-B2 & "天數"

此公式將單元格引用的計算日期差異與文本“天”連接起來。這提供了更具描述性的結果。

例如,如果兩個日期之間有 17 天,則結果將顯示為“17 天”。

2.使用DAYS函數計算天數

DAYS Excel 函數是一個內置日期函數,用於計算日期之間的天數。這是格式:

=DAYS(結束,開始)

按著這些次序:

  1. 在單獨的單元格中輸入兩個日期。
  2. 在一個新的單元格中,寫一個這樣的公式:=DAYS(C2, B2)
  3. 按回車。

結果值將是兩個日期之間的總天數。

我使用與上一個示例相同的日期來測試該功能。結果數字相同。

如何在 Excel 中減去日期的 3 種簡單方法

結果總是一個整數。如果您希望它顯示為小數(尾隨零),請使用格式選項卡更改數字格式。

3. 使用 NETWORKDAYS 函數

NETWORKDAYS 日期函數計算兩個日期之間的工作日數。由於這是工作日,因此計算不包括週末和指定假期。

這是格式:

= NETWORKDAYS(開始、結束、[假期])

第三個參數(假期)是可選的。如果您不使用它,該公式將排除週末。

按照以下步驟使用最簡單的公式而不指定假期:

  1. 在單獨的單元格中輸入兩個日期。
  2. 在一個新單元格中,鍵入如下公式:=NETWORKDAYS(B2, C2)
  3. 按回車。

以我在上一個示例中使用的日期(2023 年 1 月 3 日和 2023 年 1 月 20 日)為例,此 Excel 函數的結果是 14。

這比使用簡單的減法少了三天。那是因為在那個時間範圍內有兩個週末(我仔細檢查過)。

如何在 Excel 中減去日期的 3 種簡單方法

指定假期

您可以為公式提供要在計算中排除的假期列表。

為此,您可以將每個假期輸入一個單元格範圍並將該範圍放入假期的參數中。

通過一個有效的例子,這更容易理解。

  1. 這兩個日期位於單元格 B2 和 C2 中。
  2. 第一個假期日期在單元格 D2 中,第二個假期日期在單元格 E2 中。
  3. 在單元格 F2 中,使用公式:=NETWORKDAYS(B2, C2, D2:E2)
  4. 按 Enter 鍵查看結果。

在我們的示例中,結果為 12。這比之前的計算少了兩天,因為公式在我們提供的單元格範圍內找到了日期列表。

如何在 Excel 中減去日期的 3 種簡單方法

我沒有在圖片中顯示單元格 A1 和 A2。單元格 A1 是空白的,A2 包含描述。)。

順便說一句,如果您有一長串假期日期並且您不確定它是否包含重複項,下面的視頻將向您展示如何檢查數據。

它還向您展示瞭如何刪除重複項!

為周末指定不同的日子

請注意,NETWORKDAYS 使用周六和周日作為其計算的默認週末。

如果您的周末不同,您可以使用 NETWORKDAYS.INTL 函數來自定義週末。

如果您想了解有關該格式的更多信息,請參閱此處的 Microsoft文檔

較舊的 DATEDIF 函數(不推薦)

在當前版本的 Microsoft Excel 的內置函數列表中找不到 DATEDIF 函數。

但是,仍然可以使用它。微軟沒有列出它,因為該公司不再支持除特殊情況外的功能。

問題是它並不總是準確的。這就是為什麼我建議您避免使用此功能。

如果您使用的是舊版本的軟件,我將對其進行描述。您也可以在您使用的舊模板中找到它。語法是:

= DATEDIF(開始,結束,“d”)

在第三個參數中使用“d”告訴函數以天為單位進行計算。確保將“d”放在雙引號中。

作為另一種用法,“m”計算月數,而“y”給出年數。

以下是步驟:

  1. 在相鄰的單元格中輸入兩個日期。
  2. 在新單元格中,鍵入如下公式:=DATEDIF(Start_Date, End_Date, "d")
  3. 按回車。

這將返回兩個日期之間的天數。

使用我們之前示例中的單元格,函數為:DATEDIF(B2, C2, “d”)。

與其他函數不同,這個函數顯示#NUM!如果第一個日期在第二個日期之後,則會出錯。

在計算中使用當前日期

如果您希望計算中的日期之一是當前日期,Excel會為您提供方便的 Today 函數。

您只需將其中一個單元格引用替換為 TODAY()。在我的工作表中,我只需要 B 列來保存日期。這是一個例子:

=DAYS(今天(), B2)

有點令人困惑的是,VBA 中的等效函數具有不同的名稱。如果您正在編寫宏代碼,請使用 Date() 函數。

如何減去月或年以找到一天

如果您要查找恰好一個月前的日期,您可能會想從 TODAY() 函數的輸出中減去 30 天。

但是,這僅在部分月份內是準確的,因此這不是一個好方法。

EDATE 函數就是為了這個目的。語法是:

= EDATE(開始,月份)

對於一個月前的具體示例,我將使用:

=EDATE(今天(), -1)

這給了我過去整整一個月的日期。這是減去月份的最佳方法。

如果您需要減去年數,YEAR 函數會計算從給定日期算起的年數。

如果開始日期晚於結束日期怎麼辦?

如果第一個日期大於第二個日期,推薦的方法不會將其視為錯誤。他們將進行計算並提供一個負數。

例如,如果我錯誤地切換了示例中的日期,結果是 -17。

防止自己犯錯總是一個好主意。您可以使用 IF 函數來檢查無效的日期範圍並顯示一條錯誤消息。

下面是如何將 IF 函數與 DAYS 函數合併的示例:

=IF(B2 > C2, "無效日期", DAYS(B2, C2, "d"))

Excel公式檢查第一個日期是否大於第二個日期。如果是這種情況,將顯示“無效日期”文本。

否則,它將像以前一樣計算天數差異。

在下面的示例中,我調換了兩個日期。該函數顯示我為 IF() 函數指定的文本。

如何在 Excel 中減去日期的 3 種簡單方法

準確減去日期的技巧

在Excel中處理日期時,確保計算的準確性很重要。

以下是幫助您使用日期計算的最佳提示。

  •  

提示 1. 使用正確的公式

我建議您不要使用 DATEDIF() 函數。它並不總是可靠的。

相反,選擇本文中描述的其他三種方法之一。

技巧 2. 正確格式化日期

確保開始日期和結束日期單元格都被格式化為日期。

為此,請按照下列步驟操作:

  1. 右鍵單擊單元格。
  2. 選擇“設置單元格格式”(或按 ctrl + 1 打開對話框)。
  3. 在“數字”選項卡下選擇“日期”。

這將有助於避免計算中的潛在錯誤。

技巧 3. 計算閏年

請注意,閏年會影響兩個日期之間的天數。

Excel 在其日期計算中自動考慮閏年,因此如果您遵循正確的公式和格式,您應該會得到準確的結果。

您可以在此處找到閏年列表。

Tip 4. 清楚地顯示日期和結果

要提高數據和結果的可讀性,請考慮使用 Excel 的一些格式設置功能:

  • 調整列寬以適應內容的寬度。
  • 在每個單元格的中心對齊日期數據。
  • 應用樣式,例如粗體或斜體,使列標題更加明顯。

常見錯誤和故障排除

如何在 Excel 中減去日期的 3 種簡單方法

在 Excel 中處理日期時,您可能會遇到一些常見錯誤。以下是一些故障排除提示,可幫助您解決這些問題:

錯誤 1:#VALUE!

當單元格值未被識別為正確日期時,會發生此錯誤。

要解決此問題:

  • 確保兩個日期單元格都格式化為日期。
  • 檢查您的區域設置以正確解釋日期。

不同的語言環境有不同的日期佈局(例如,dd/mm/yy 或 mm/dd/yy)。

錯誤 2:結果不正確

如果您獲得的結果不正確,請考慮以下事項

  • 仔細檢查您輸入日期的方式。混淆月份和日期會導致計算錯誤。
  • 如果您只想使用 NETWORKDAYS() 函數計算兩個日期之間的工作日,請使用網絡日。
  • 在整個工作表中始終使用相同的日期格式設置方式,以避免混淆和錯誤。
  • 使用本文中的方法避免手動計算。

結論

在本文中,我們探討了在 Excel 中減去日期併計算兩個日期之間的天數差異的各種方法。

到目前為止,您應該有信心使用 DAYS 函數、NETWORKDAYS 函數和簡單的減法來獲得準確的結果。

請記住始終仔細檢查您的數據,因為不正確或無效的格式可能會導致意外結果。

在應用所討論的任何方法時,請確保開始日期和結束日期的格式正確,以便 Excel 能夠識別它們。

現在您已經掌握了這些知識,您可以有效地跟踪項目持續時間、分析趨勢和管理截止日期以及其他任務。

不斷練習和試驗不同的日期格式和函數,以充分發揮 Excel 日期功能的潛力。計算愉快!

準備好讓您的 Excel 技能更上一層樓了嗎?查看我們的


什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。

DAX Studio 中數據緩存的物化想法

DAX Studio 中數據緩存的物化想法

本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。

使用 LuckyTemplates 進行業務報告

使用 LuckyTemplates 進行業務報告

如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的