Skip to main content

按年、月計算 Excel 中的日期數量

Author: Xiaoyang Last Modified: 2025-05-13

在處理 Excel 工作表時,有時候您可能需要統計某個特定年份或月份的日期數量,如下方截圖所示。要完成這個任務,您可以使用 SUMPRODUCT、YEAR 和 MONTH 函數來創建公式,以計算屬於特定年份或月份的日期數量,滿足您的需求。

doc-count-dates-by-year-1


計算指定年份的日期數量

要計算指定年份中的日期數量,可以將 SUMPRODUCT 和 YEAR 函數結合使用,通用語法為:

=SUMPRODUCT(--(YEAR(日期範圍)=年份))
  • 日期範圍: 包含您要統計的日期的單元格列表;
  • 年份: 表示您要統計的年份的值或單元格引用。

1. 在您希望得到結果的空白單元格中輸入或複製以下公式:

=SUMPRODUCT(--(YEAR($A$2:$A$14)=C2))

注意:在此公式中,A2:A14 是包含日期的單元格範圍,C2 包含您要統計的特定年份。

2. 然後,向下拖動填充柄以將此公式應用於其他單元格,您將根據給定的年份獲得日期數量,請參見截圖:

doc-count-dates-by-year-2


公式解釋:

=SUMPRODUCT(--(YEAR($A$2:$A$14)=C2))

  • YEAR($A$2:$A$14)=C2: YEAR 函數從日期列表中提取年份值,例如:{2020;2019;2020;2021;2020;2021;2021;2021;2019;2020;2021;2019;2021};
    然後,每個年份與 C2 單元格中的年份進行比較,返回一個由 TRUE 和 FALSE 值組成的陣列:{FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE}。
  • --(YEAR($A$2:$A$14)=C2)=--{FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE}: 這兩個負號將 TRUE 轉換為 1,FALSE 轉換為 0。因此,您將得到這樣的結果:{0;1;0;0;0;0;0;0;1;0;0;1;0}。
  • SUMPRODUCT(--(YEAR($A$2:$A$14)=C2))= SUMPRODUCT({0;1;0;0;0;0;0;0;1;0;0;1;0}): 最終,這個 SUMPRODUCT 函數會對陣列中的所有項目求和,並返回結果:3。

計算指定月份的日期數量

如果您想根據指定的月份計算日期數量,SUMPRODUCT 和 MONTH 函數可能會有所幫助,通用語法為:

=SUMPRODUCT(--(MONTH(日期範圍)=月份))
  • 日期範圍: 包含您要統計的日期的單元格列表;
  • 月份: 表示您要統計的月份的值或單元格引用。

1. 在您希望得到結果的空白單元格中輸入或複製以下公式:

=SUMPRODUCT(--(MONTH($A$2:$A$14)=C2))

注意:在此公式中,A2:A14 是包含日期的單元格範圍,C2 包含您要統計的特定月份。

2. 然後,向下拖動填充柄以將此公式應用於其他單元格,您將根據給定的月份獲得日期數量,請參見截圖:

doc-count-dates-by-year-3


公式解釋:

=SUMPRODUCT(--(MONTH($A$2:$A$14)=C2))

  • MONTH($A$2:$A$14)=C2: 這個 MONTH 函數從日期列表中提取月份數字,例如:{12;3;8;4;8;12;5;5;10;5;7;12;5}。
    然後,每個月份與 C2 單元格中的月份數字進行比較,返回一個由 TRUE 和 FALSE 值組成的陣列:{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE}。
  • --(MONTH($A$2:$A$14)=C2)= --{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE} : 這兩個負號將 TRUE 轉換為 1,FALSE 轉換為 0。因此,您將得到這樣的結果:{0;0;0;0;0;0;1;1;0;1;0;0;1}。
  • SUMPRODUCT(--(MONTH($A$2:$A$14)=C2))= SUMPRODUCT({0;0;0;0;0;0;1;1;0;1;0;0;1}): 這個 SUMPRODUCT 函數會對陣列中的所有項目求和,並返回結果:4。

按年和月計算日期數量

如果要根據年份和月份一起計算日期數量,例如,我想知道 2021 年 5 月有多少日期。

doc-count-dates-by-year-4

在這種情況下,您可以使用 SUMPRODUCT、MONTH 和 YEAR 函數的組合來獲取結果,通用語法為:

=SUMPRODUCT((MONTH(日期範圍)=月份)*(YEAR(日期範圍)=年份))
  • 日期範圍: 包含您要統計的日期的單元格列表;
  • 月份: 表示您要統計的月份的值或單元格引用;
  • 年份: 表示您要統計的年份的值或單元格引用。

請在空白單元格中輸入或複製以下公式以輸出結果,然後按下 Enter 鍵以獲得計算結果,請參見截圖:

=SUMPRODUCT((MONTH($A$2:$A$14)=D2)*(YEAR($A$2:$A$14)=C2))

注意:在上述公式中,A2:A14 是包含日期的單元格範圍,D2 包含您要統計的特定月份,而 C2 是您要統計的年份數字。

doc-count-dates-by-year-5


相關函數介紹:

  • SUMPRODUCT:
  • SUMPRODUCT 函數可以用於將兩列或多列或陣列相乘,然後得出乘積的總和。
  • MONTH:
  • Excel 的 MONTH 函數從日期中提取月份,並以 1 到 12 的整數形式顯示。
  • YEAR:
  • YEAR 函數根據給定的日期返回四位數字格式的年份。

更多文章:

  • 計算包含特定文字的單元格數量
  • 假設您有一系列文本字符串,並且想要找到包含某些文字作為其內容一部分的單元格數量。在這種情況下,您可以使用萬用字符(*),它代表 COUNTIF 函數中的任何文本或字符。本文將介紹如何在 Excel 中使用公式來處理這個問題。

最佳的辦公生產力工具

Kutools for Excel - 幫助您脫穎而出

? Kutools AI 助手:基於智能執行生成代碼創建自訂公式分析數據並生成圖表調用 Kutools 函數…來徹底改變數據分析方式。
熱門功能查找、標記或識別重複值  |  刪除空行  |  合併列或單元格而不丟失數據  |  四捨五入無需公式 ...
超級 VLookup多條件  |  多值  |  跨多工作表  |  模糊查找...
高級下拉列表簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  比較列以選擇相同和不同的單元格 ...
特色功能網格聚焦  |  設計檢視  |  增強編輯欄  |  工作簿與工作表管理器 | 資源庫(自動文本)  |  日期提取器  |  合併資料  |  加密/解密儲存格  |  按清單發送電子郵件  |  超級篩選  |  特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文字工具添加文本刪除特定字符 ...)  |  50+ 圖表 類型甘特圖 ...)  |  40+ 實用 公式基於生日計算年齡 ...)  |  19 個插入工具插入QR碼從路徑插入圖片 ...)  |  12 個轉換工具金額轉大寫匯率轉換 ...)  |  7 個合併與分割工具高級合併行分割Excel單元格 ...)  |  ... 還有更多

Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需點擊一下即可實現...


Office Tab - 啟用 Microsoft Office(包括 Excel)中的分頁閱讀和編輯功能

  • 一秒鐘內在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標點擊,告別滑鼠手。
  • 當查看和編輯多個文檔時,您的工作效率提高 50%。
  • 為 Office(包括 Excel)帶來高效的分頁功能,就像 Chrome、Edge 和 Firefox 一樣。