メインコンテンツへスキップ

年と月別にExcelで日付の数をカウントする

Author: Xiaoyang Last Modified: 2025-08-06

Excelワークシートで作業しているとき、特定の年または月に基づいて日付が含まれるセルの数をカウントしたい場合があります(以下のスクリーンショット参照)。このタスクを解決するために、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)=C2YEAR関数は、日付のリストから年を抽出し、次のように表示されます:{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関数は、2つ以上の列または配列を乗算し、積の合計を取得するために使用できます。
  • MONTH:
  • ExcelのMONTH関数は、日付から月を抽出し、1から12までの整数として表示します。
  • YEAR:
  • YEAR関数は、与えられた日付に基づいて4桁のシリアル番号形式で年を返します。

その他の記事:

  • 2つの値/日付間のセル数をカウントする
  • 以下のように、Excelで2つの指定された数字や日付の間にあるセルの数を取得またはカウントしようとしたことはありますか?この記事では、それを処理するための便利な数式について説明します。
  • 曜日ごとに範囲内の日付セルの数をカウントする
  • Excelは、SUMPRODUCTとWEEKDAY関数の組み合わせを提供しており、これにより簡単に指定された曜日の数を範囲内でカウントできます。このチュートリアルでは、ステップバイステップガイドを提供します。
  • 特定のテキストを含むセルの数をカウントする
  • 例えば、特定のテキスト文字列のリストがあり、その内容の一部として特定のテキストを含むセルの数を見つけたい場合があるかもしれません。このような場合、COUNTIF関数を使用する際にワイルドカード文字(*)を使用して任意のテキストや文字を条件に含めることができます。この記事では、Excelでこのジョブを処理するための数式の使い方を紹介します。

最高のオフィス生産性ツール

Kutools for Excel - 群衆から一歩抜け出すためのお手伝い

🤖 KUTOOLS AI アシスタント: 次の基盤でデータ分析を革新: スマート実行   |  コード生成  |  カスタム数式を作成  |  データを分析しチャートを生成  |  Kutools 機能を呼び出し
人気機能: 重複を検索、ハイライト、または特定  |  空白行を削除  |  データを失うことなく列やセルを結合  |  数式を使わずに丸める ...
スーパーVLookup: 複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト: 簡単ドロップダウンリスト  |  依存ドロップダウンリスト  |  複数選択ドロップダウンリスト...
列マネージャー: 特定の数の列を追加 |  列を移動 |  非表示列の可視性ステータスを切り替え 列を比較して同じおよび異なるセルを選択 ...
注目機能: グリッドフォーカス |  デザインビュー |  強化された数式バー |  ワークブックとシートマネージャー | リソースライブラリ (オートテキスト) |  日付ピッカー |  ワークシートを統合 |  セルの暗号化/復号化 |  リストによるメール送信 |  スーパーフィルター |  特殊フィルタ(太字、斜体、取り消し線のフィルタリング...) ...
上位15のツールセット12個の テキストツールテキストの追加特定の文字を削除 ...) |  50以上の チャート タイプガントチャート ...) |  40以上の実用的な 数式誕生日に基づいて年齢を計算 ...) |  19個の 挿入ツールQRコードの挿入パスからの画像挿入 ...) |  12個の 変換ツール単語に変換する通貨変換 ...) |  7つの マージ&分割ツール高度な行のマージExcelセルの分割 ...) |  ... など
お好みの言語でKutoolsを使用できます。英語、スペイン語、ドイツ語、フランス語、中国語、その他の40以上の言語に対応!

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
  • 複数の文書を閲覧・編集する際の作業効率を50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。