日付が入力された範囲内で各曜日を数える計算式

Excelで日付データから曜日をカウントする方法

日付データがある場合、それが週のどの曜日にあたるのか、そしてその曜日が何回現れるのかを知りたいケースに使用できる計算式を紹介します。今回は、日付データのリストから各曜日のカウントを取得する方法について解説します。

基本:WEEKDAY関数を理解する

まず、ExcelにはWEEKDAYという関数があり、これを使うと特定の日付が週の何日目であるかを返すことができます。この関数が返すのは1(日曜日)から7(土曜日)の値です。

=WEEKDAY(日付)

ここで、「日付」は確認したい日付のセルを指定します。

応用:曜日をカウントする

このWEEKDAY関数を使用して、特定の曜日がいくつ含まれているかをカウントすることも可能です。ここでのキーとなるのは、配列計算を駆使することです。

ここで「日付」は以下のような日付が入力されたセルとします(見出しは含めない)。

2022/01/07
2022/01/21
2022/01/26
2022/01/30
2022/02/06
2022/02/16
2022/03/04
2022/03/12
2022/03/22
2022/03/22
2022/03/24
2022/03/28
2022/03/29
2022/04/05
2022/04/10
2022/04/11
2022/04/23
2022/04/23
2022/04/24
2022/04/25

続けて各曜日を数える計算式を紹介します。解説はその下に付けます。これらの式は「配列数式」という式になるのですが、Excel2019以前のバージョンを使用している場合は、確定時に「Ctrl+Shift+Enter」を用いてください。

日曜日をカウント

=SUM(--(WEEKDAY(日付)=1))

月曜日をカウント

=SUM(--(WEEKDAY(日付)=2))

火曜日をカウント

=SUM(--(WEEKDAY(日付)=3))

水曜日をカウント

=SUM(--(WEEKDAY(日付)=4))

木曜日をカウント

=SUM(--(WEEKDAY(日付)=5))

金曜日をカウント

=SUM(--(WEEKDAY(日付)=6))

土曜日をカウント

=SUM(--(WEEKDAY(日付)=7))

…となります。各曜日に対して、WEEKDAY関数の結果が1から7のどれに等しいかを判定し、その結果を合計しています。

計算式の解説

以下の式は「配列数式」となります。Excel2019以前のバージョンを使用している場合は、確定時に「Ctrl+Shift+Enter」を用いてください。

=SUM(--(WEEKDAY(日付)=1))

ここで、WEEKDAY(A1:A21)=1は、A1:A21の各セルが日曜日であるかどうかをTRUE/FALSEで返します。–(マイナスマイナス・ダブル単項マイナス)は、TRUE/FALSEを1/0に変換します。そして、SUM関数が1の合計、つまり、日曜日の数を計算します。

実践:具体的なステップ

実際にこの計算式を使ってみましょう。

  1. まず、日付データが入っている列を選択し、「名前ボックス」に「日付」と入力します。
  2. 次に、新しいセルを選択し、上述のいずれかの計算式を入力します。
  3. 最後に、Enterキーを押して結果を確認します。

この方法を使えば、特定の曜日が指定した範囲内に何回現れるかを簡単に把握することができます。

コメント