【Excel関数】日付の表示を「日付・曜日」で表示させてオートフィルに対応させるには

この記事では、日付の表示を「日付・曜日」で表示させてオートフィルに対応させる方法についてご説明します。

日付の表示を「日付・曜日」で表示させる、というのは以下のことを言います。

この記事を書いているのが29日の月なので「29(月)」と表示されています。

このセルを下にオートフィルさせると下のとおりになります。

日付と曜日が順番にセルに出力されています。

今回は日付の表示を「日付・曜日」で表示させて、さらにオートフィルに対応する数式をご説明します。

使用するExcel関数

今回使用するExcel関数は次の5つになります。

  1. TEXT
  2. TODAY
  3. ROW
  4. CHOOSE
  5. WEEKDAY

Excel関数を組み合わせて作成した数式(例)

先ほどの5つの関数を使って組み立てたサンプルの数式は次の通りです。

=TEXT(TODAY() + ROW(A1) - 1, "d") & "(" & CHOOSE(WEEKDAY(TODAY() + ROW(A1) - 1), "日", "月", "火", "水", "木", "金", "土") & ")"

計算式

  • =TEXT(TODAY() + ROW(A1) – 1, “d”) & “(” & CHOOSE(WEEKDAY(TODAY() + ROW(A1) – 1), “日”, “月”, “火”, “水”, “木”, “金”, “土”) & “)”
計算式の意味

  • 「TEXT(TODAY() + ROW(A1) – 1, “d”)」までが今日の日付を表示させる部分で、その後の「&」以降が曜日を表示させる部分です。

     
    今日の日付を表示する部分は、TODAY関数を使って今日の日付を取得して「d」形式でかつテキスト形式で表示します。
    その後ろの曜日の部分は、TODAY関数を使って今日の日付を取得し、その日付をWEEKDAY関数の引数に指定して実行すると曜日番号(日曜日なら1、月曜日なら2、土曜日なら7)に対応した曜日(「日」から「土」)が取得できるので、その曜日番号をCHOOSE関数の引数に指定して該当する曜日を返す値(第2引数以降の値(「日」から「土」))を表示しています。
    なお、返された曜日の前後に「(」と「)」を結合しています。
返す値

  • 今日の日付と括弧付きの曜日

①TEXT関数

TEXT関数は引数の値に対して表示形式を設定して文字列に変換する関数です。

今回は日付を出力したいので、「d」をTEXT関数の第2引数に指定しています。

例えば2024年1月29日の場合は29を返します。

第1引数

第1引数には、日付を指定します。

今回は、日付に今日の日付(TODAY関数で取得した値)を指定しています。

なお、TODAY関数の後ろにROW関数を使っていますが、このROW関数はカウンタとして使っています。

なぜカウンタを使うのかというと、オートフィル使用時に1セルごとに値を1つプラスしたいためです。

TODAY関数に1つ値をプラスすると、2024年1月29日の場合は2024年1月30日になります。

2をプラスすると2024年1月29日の場合は2024年1月31日になります。

オートフィルを使う場合は1つ下のセルには1日増えた日付を表示させたいので、ROW関数をカウンタのように使います。

逆に、ROW関数を使わない場合はオートフィルを使ってもどのセルも日付は29日のままです。

第2引数

第1引数には、表示形式を指定します。

今回は日付を表示したいので「d」を指定しています。

「d」を指定すると、2024年1月29日の場合は29が表示されます。

2024年2月1日なら1が表示されます。

今回は2024年2月1日の場合に01と表示させたくなかったので「d」を指定しています。

もし01と表示させたいなら「dd」と指定します。

②TODAY関数

TODAY関数は今日の日付を返します。

③ROW関数

ROW関数はセルの行番号を返します。

今回はオートフィルを使って日付をずらして日付を表示させるためにこのROW関数使っています。

TODAY関数に1つ値をプラスすると、2024年1月29日の場合は2024年1月30日になります。

2をプラスすると2024年1月29日の場合は2024年1月31日になります。

オートフィルを使う場合は1つ下のセルには1日増えた日付を表示させたいので、ROW関数をカウンタのように使います。

④CHOOSE関数

CHOOSE関数は、第1引数で指定された値のインデックス番号が指す引数の値を返します。

もしWEEKDAY関数が返すインデックス番号が1なら第2引数を、インデックス番号が2なら、第3引数の値を返します。

今回はCHOOSE関数の第2引数から第8引数まで曜日の文字を指定していますが、第1引数の値(WEEKDAY関数が返すインデックス番号)に対応した引数の値(曜日の文字)を返します。

⑤WEEKDAY関数

WEEKDAY関数は、指定した日付に対する曜日番号を返します。

なお、曜日番号は下のとおりです。

  1. 日曜日:1
  2. 月曜日:2
  3. 火曜日:3
  4. 水曜日:4
  5. 木曜日:5
  6. 金曜日:6
  7. 土曜日:7

例えば日付が2024年1月29日の場合は月曜日なので、2を返します。

動作確認

まずは以下の計算式をセルに入力します。

計算式

  • =TEXT(TODAY() + ROW(A1) – 1, “d”) & “(” & CHOOSE(WEEKDAY(TODAY() + ROW(A1) – 1), “日”, “月”, “火”, “水”, “木”, “金”, “土”) & “)”

下にオートフィルを実行します。

下に1行ずつ次の日付と曜日が表示されます。

最後に

この記事では、日付の表示を「日付・曜日」で表示させてオートフィルに対応させる方法についてご説明しました。

日付の表示を「日付・曜日」で表示させてオートフィルに対応させたい場合は今回の記事を参考にしてみてくださいね。

プログラミングのスキルを習得するなら

プログラミングのスキルを習得したい、今のスキルをもっと高めたい、そう考えているなら「プログラミングスクール」がおすすめです。

プログラミングのスキルの基礎を身につけるなら「TechAcademy」で1週間の無料体験があるので、これで「プログラミングの基礎」を学ぶのにおすすめですよ。

→ TechAcademyの「1週間 無料体験」はこちら