エクセルで曜日をカウントするには|3つの表示方法別に
ここでは、Excelで指定した期間の特定の曜日の数を数える方法を解説します。
曜日は見た目と実際の値が異なる場合があるため、その点を踏まえて条件を指定しなければなりません。
曜日の表示方法を知ることができれば、曜日を正しくカウントすることができるようになります。
1.まずは曜日の表示方法3パターンを把握する
エクセルでは、曜日を表示させた時、見た目と実際のセルの値が別になることがあります。
そこでまずは、曜日の表示方法のパターンから順に見てみましょう。
1-1.曜日を文字列で入力する
まずは、シンプルに「曜日を文字列で入力する」方法があります。
例えば上のようにセルに「月」と入力することで、曜日を表示させる方法のことです。
この場合には、見た目とセルの値が一致します。
1-2.日付を曜日にする
次に、「日付を曜日にする」方法もあります。
例えば、上のようにセルに「2020/9/1」と入力し、表示形式のユーザー定義で「aaa」と指定することで、見た目を曜日にします。
この場合には見た目と値が一致せず、条件値を文字列で曜日にするとFALSE(偽)となります。
1-3.日付を数値化してから曜日にする
続いて、「曜日を数値化してから曜日にする」方法もあります。
例えば、上のようにセルに、
=WEEKDAY(44075,1)
と入力し、表示形式のユーザー定義で「aaa」と指定することで、見た目を曜日にします。
ちなみに、「44075」とは「2020/9/1」のシリアル値です。シリアル値とは、日付を数値に変換したもののことです。
WEEKDAY関数は日付を曜日用の数値に変換することが出来る関数で、日曜は1、月曜は2…と変換させることができます。
この場合にも見た目と値が一致せず、条件値を文字列で曜日にするとFALSE(偽)となります。
1-4.表示方法のまとめ
このようにエクセルでは、見た目が曜日でも実際の値は「文字列の場合」と「日付の場合」、「数値の場合」の3パターンがあります。
そして、文字列の場合以外は条件値を文字列で曜日にしても一致しないので、注意が必要です。
2.表示方法別の曜日のカウントの仕方
曜日の表示方法が3パターンあることを踏まえて、曜日の数え方を確認します。
2-1.曜日が文字列の場合
曜日が文字列の場合には、見た目と値が一致しているので条件指定の仕方は簡単です。「条件値で文字列の曜日を指定」すればいいのです。
カウントには使うのが簡単な「COUNTIF関数」を使いましょう。
COUNTIF関数の構文は、次の通りです。
「範囲」にはカウントしたい範囲を、「検索条件」にはカウントしたい値を指定します。
上の例では、セルB1に「セルA1からA5の『火』の数をカウントする」数式
=COUNTIF(A1:A5,"火")
を入力しました。
ポイントは「検索条件に『"』で囲った曜日を入れる」ことで、これで曜日がカウントできます。
このように、曜日が文字列の場合には、条件値も文字列にしましょう。
2-2.日付を曜日にしている場合
日付を曜日にしている場合には、ちょっと厄介です。なぜなら、先ほどのように文字列で曜日を条件に指定することが出来ないからです。
値が日付の場合には、COUNTIF関数ではうまくいかないので、SUMPRODUCT関数とTEXT関数を組み合わせて使います。
SUMPRODUCT関数はCOUNTIF関数と同じように「条件に合うセルの数をカウントできる」のですが、COUNTIF関数と違うのは、範囲のデータを関数で加工することができることです。
ですから、TEXT関数を使って範囲の値を曜日に変換したのちに、条件を文字列で指定してカウントします。
数式の形は、
=SUMPRODUCT((TEXT(範囲,"aaa")="条件値")*1)
となります。
「範囲」にはカウントしたい範囲を入れ、条件値にはカウントしたい曜日を文字列で入れます。
例では、セルB1にSUMPRODUCT関数+TEXT関数で「セルA1からA5の『火』の数をカウントする」数式、
=SUMPRODUCT((TEXT(A1:A5,"aaa")="火")*1)
を入力しました。
「範囲」にはカウントしたい範囲として「A1:A6」を、「条件値」にはカウントしたい曜日として「火」を入れています。
このように、日付を曜日にしている場合には、SUMPRODUCT関数とTEXT関数でカウントするようにしましょう。
2-3.日付を数値化してから曜日にしている場合
続いて、日付を数値化してから曜日にしている場合も、COUNTIF関数ではカウントできません。
この場合にも、先ほどと同じようにSUMPRODUCT関数とTEXT関数を使います。
数式の作り方は、先ほどと全く一緒です。
このように、「日付を数値化して曜日にしている」場合にも、SUMPRODUCT関数とTEXT関数でカウントするようにしましょう。
以上参考になれば幸いです。
【口コミ・評判のいいExcel本の紹介】
COUNTIF関数に関連したページは、次の通りです。
- COUNTIF関数 使いこなすためのポイントはこちら