文章編號: 214134 - 上次校閱: 2007年2月6日 - 版次: 5.0

如何在 Excel 中計算兩個日期之間的月數

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

結論

本文會提供逐步指示,告訴您如何計算任何兩個日期之間的月數。

若要計算任何兩個日期之間的月數,請使用下列其中一種方法。注意,這兩種方法都使用下列資訊:
  • EDate = 較早日期
  • LDate = 較晚日期注意:如果您直接在此公式中輸入 LDate 或 EDate,而不是輸入到其儲存格參照中,就必須以雙引號括住 (例如 "9/7/00")。

無條件進位

此方法不在其計算中使用月份日期。例如,假設開始日期是 10/31/00,結束日期是 11/2/00,即使只過了兩天,也會傳回一個月。

針對此方法,請使用下列公式
=(YEAR(LDate)-YEAR(EDate))*12+MONTH(LDate)-MONTH(EDate)
如以下列範例所示:
  1. 在儲存格 A1 中輸入 10/31/99。
  2. 在儲存格 A2 中輸入下列公式:
    =(YEAR(NOW())-YEAR(A1))*12+MONTH(NOW())-MONTH(A1)
    傳回的數字等於從 10/31/99 到今天日期的月數,並無條件進位到下一個整數。

無條件捨去

此方法在其計算中使用天數,並將最接近的完整月數後面無條件捨去。例如,假設開始日期是 10/30/00,結束日期是 11/30/00,則會傳回一個月;不過,結束日期若為 11/29/00,則傳回 0。

針對此方法,請使用下列公式
=IF(DAY(LDate)>=DAY(EDate),0,-1)+(YEAR(LDate)-YEAR(EDate))
*12+MONTH(LDate)-MONTH(EDate)
如以下列範例所示:
  1. 在儲存格 A1 中輸入 10/31/99。
  2. 在儲存格 B1 中輸入下列公式:
    =IF(DAY(NOW())>=DAY(A1),0,-1)+(YEAR(NOW())-YEAR(A1)) *12+MONTH(NOW())-MONTH(A1)
    注意:請確定儲存格 B1 已格式化為 [通用格式]。傳回的數字等於從 10/31/99 到今天日期的月數,並將最接近的完整月數後面無條件捨去。

這篇文章中的資訊適用於:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
關鍵字:?
kbdatetime kbformula kbinfo kbhowtomaster KB214134
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。