KutoolsforOffice — 一套方案,五大工具。事半功倍。3 月特賣:20% 折扣

在 Excel 中依年份與月份計算日期數量

作者Xiaoyang修改日期

在處理 Excel 工作表時,您可能需要計算屬於特定年份或月份的日期儲存格數量(如下方截圖所示)。此時,只要結合 SUMPRODUCT、YEAR 與 MONTH 函數,即可輕鬆建立公式,快速統計符合指定年份或月份的日期數量。

doc-count-dates-by-year-1


計算指定年份的日期數量

若要計算指定年份的日期數量,可將 SUMPRODUCT 與 YEAR 函數結合使用,通用語法如下:

=SUMPRODUCT(--(YEAR(date_range)=year))
  • date_range:包含您要計數之日期的儲存格清單;
  • 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(date_range)=month))
  • date_range:包含您要計數之日期的儲存格清單;
  • 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(date_range)=month)*(YEAR(date_range)=year))
  • date_range:包含您要計數之日期的儲存格清單;
  • 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 函數會根據指定日期,以四位數格式傳回年份。

更多文章:

  • 計算兩個數值/日期之間的儲存格數量
  • 您是否曾想在 Excel 中快速取得或計算介於兩個指定數字或日期之間的儲存格數量(如下方截圖所示)?本文將為您介紹幾種實用的公式,輕鬆解決這項需求。
  • 計算包含特定文字的儲存格數量
  • 假設您有一份文字字串清單,並希望找出其中包含特定文字的儲存格數量。此時,只要在使用 COUNTIF 函數時,於條件中搭配萬用字元(*)來代表任意文字或字元即可。本文將介紹如何在 Excel 中運用公式輕鬆完成這項任務。

最佳 Office 生產力工具

Kutools for Excel -助您脫穎而出

🤖KUTOOLS AI 助手:以以下方式革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、標示或標記重複值    刪除空白行    合併列或儲存格而不遺失資料    不使用公式的四捨五入……
超級 VLookup多重條件    多重值    跨多個工作表    模糊查找……
進階下拉列表簡易下拉式清單    相依下拉式清單    多選下拉式清單……
欄位管理員新增指定數量的欄位    移動欄位   切換隱藏欄位的可見狀態  比較欄位以選擇相同/不同單元格……
精選功能網格聚焦    設計視圖    增強編輯欄    工作簿與工作表管理員資源庫(自動文字)  日期提取    合併工作表    加密/解密儲存格   依清單傳送電子郵件    超級篩選    特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符……)  50+ 圖表 類型甘特圖……)  40+ 實用公式基於生日計算年齡……)  19 插入工具插入二維碼從路徑插入圖片……)  12 轉換工具金額轉大寫匯率轉換……)  7 合併和拆分工具高級合併行拆分 Excel 儲存格……)……還有更多
在您的慣用語言中使用 Kutools – 支援英文、西班牙文、德文、法文、中文及其他 40+ 種語言!

Kutools for Excel 擁有超過 300 項功能,確保您所需的功能僅需一鍵即可取得……


Office Tab -在 Microsoft Office(包含 Excel)中啟用分頁式閱讀與編輯

  • 一秒內在數十份開啟的文件間快速切換!
  • 每天為您減少數百次滑鼠點擊,遠離滑鼠手困擾。
  • 在檢視與編輯多份文件時,讓您的生產力提升高達 50%。
  • 為 Office(包含 Excel)帶來如 Chrome、Edge 與 Firefox 般的高效能分頁體驗。