日付による曜日を別の列に表示し、曜日によって指定の表記にしたいときは、WEEKDAY関数で抽出した曜日の整数に、CHOOSE関数で曜日の名前を付けて抽出しましょう
目的
週・曜日抽出

目次
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
例題1|日付から曜日を抽出し曜日に応じて指定の表記にする方法
手順:B3 に式を入れて、B17 までコピー
日付(A 列)の曜日に応じて、月曜と水曜は「休」、ほかの曜日は「営業」と表示します。 B3 に次の式を入力して、Enter キーを押し、B17 までコピーします❶。
B3 に入れる式
=CHOOSE(WEEKDAY(A3),"営業","休","営業","休","営業","営業","営業" ) WEEKDAY(A3) インデックス(曜日の番号)
"営業","休","営業","休","営業","営業","営業" 値1〜値7(日〜土の表示)ひとことで日付の曜日の番号(日曜=1〜土曜=7)に応じて、7 つの表示から1 つを選ぶ
式を分けて読むと(色は画像の枠と同じ)
インデックス
WEEKDAY(A3)何番目を選ぶ?
→ 8/1 は木曜日なので 5
値1〜値7
"営業","休","営業","休","営業","営業","営業"何を表示する?
→ 日・月・火・水・木・金・土の順の表示(月と水が「休」)
自分の表で使うときは
青に「日曜日から土曜日までの表示」を 7 つ順に並べます。休みの曜日の位置だけ「休」にします。例:土日(1 と 7)を「休日」、ほかを「出勤」
青に「日曜日から土曜日までの表示」を 7 つ順に並べます。休みの曜日の位置だけ「休」にします。例:土日(1 と 7)を「休日」、ほかを「出勤」
=CHOOSE(WEEKDAY(A2),"休日","出勤","出勤","出勤","出勤","出勤","休日" ) - 値は日曜日から始まります(WEEKDAY の番号が 1=日曜のため)。

確認:木曜日の 8/1 は 5 つ目の「営業」

答えは 営業 になりました❷。式は、次の順に計算しています。
- WEEKDAY(A3)で、8/1 の曜日の番号を求める
⇒ 木曜日なので 5 - 7 つの表示から 5 つ目を選ぶ
⇒ 営業
ヒント:B17 までコピーすると
8/5(月)と 8/7(水)は「休」、ほかの日は「営業」になります。数式の解説
「WEEKDAY(A3)」の数式は、A3セルの「8/1」の「曜日」の整数「2」を求める。CHOOSE関数の引数[インデックス]に組み合わせて数式を作成すると、日付の曜日の整数が「2」「4」なら「休」、それ以外なら「営業」が抽出される。
Excelデータダウンロード
練習用Excelファイル(無料ダウンロード)
この記事の解説で使うExcelデータです。数式と練習データが入っているので、本文の式を同じ表で試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
曜日抽出の基本と、祝日を区別して表示する方法はこちらです。
あわせて読みたい


日付から曜日を取り出す方法|TEXT関数の表示形式「aaa」
日付による曜日を別の列に表示したいときは、TEXT関数を使う。日付にTEXT関数で曜日の表示形式を付けるだけで求められる。 目的 週・曜日抽出 使用する関数 TEXT関数 ま…
あわせて読みたい


日付から曜日を求め、祝日は「(祝)」と表示する方法|IF・COUNTIF・TEXT
日付による曜日を別の列に表示し、祝日は(祝)のように別の表記にしたいときは、祝日リストに日付がある場合のみ「(祝)」と表示されるように条件式を作成して抽出し…

コメント