スポンサーリンク

エクセルで日付と一緒に曜日を表示する

エクセル便利技

エクセルで、日付が入力されているセルに、日付と一緒に曜日も表示させる方法を紹介します。

一緒に表示させるだけでなく、別のセルに曜日だけを表示させる事もできます。

方法は2つあり、1つは書式設定で、もう1つは関数を使う事で解決します。

書式設定を使った曜日を表示

日付データがあるセルの書式を設定することで、曜日を表示させます。

書式設定を開く

まず書式設定したセルを範囲選択し、右クリックのメニューからセルの書式設定を選択します。

 

ユーザー定義

書式設定の画面で、左の分類からユーザー定義を選択。

次に、右の種類の欄に、aaaと直接入力します。

最後にOKで確定。

 

日付ではなく曜日が表示される

書式設定を反映させると、日付ではなく曜日が表示されるようになります。

ただし、書式設定で表示させているだけなので、実際のデータは日付のままになります。

この場合実データは2020/1/1のままなので、水という文字を検索しても引っかからない。
他にも、=VLOOKUP("水",A:A,1,FALSE) のように、水という文字を探すような関数にも引っかからない。

日付と一緒に表示させたい

ユーザー定義の設定次第で、日付と一緒に表示させたり、英語表記の表日で表示させたりと、好きな形で表示させることができますので、色々な組み合わせを試してみましょう。

使える書式設定は下記の4種類。

  • aaa(月、火、水...)
  • aaaa(月曜日、火曜日...)
  • ddd(Mon、Tue、Wed...)
  • dddd(Monday、Tuesday...)

 

曜日を実データにしたい

ここまでの時点では、あくまでも実データは2020/1/1という日付のままであり、見た目だけを曜日に変えているにすぎません。

ですが、メモ帳を経由して、書式が文字列になっているセルへ値貼り付けすることで、今表示されてる内容を実体化させることができます。

詳しくは下の記事を参考にしてみてください。

 

 

WEEKDAY関数を使う

書式設定のほかに、WEEKDAY関数を使う方法があります。

【使い方】
=WEEKDAY(セル)

WEEKDAYを使う

実際にWEEKDAYを使うと、日月火水木金土の順に、1234567の数字が返ってきます。

例えば、その日が日曜日ならば1、水曜日ならば4という結果が出ます。

 

INDEX関数と組み合わせて日本語化

INDEX関数と組み合わせることで、曜日を数値ではなく日本語にすることができます。

式:=INDEX({"日","月","火","水","木","金","土"},セル)

INDEX関数は、=INDEX(配列,行番号,[列番号])という式で使います。
この関数は、指定された行と列が交差する位置にある値を返します。というちょっと小難しい説明になってます。
今回は、日、月、火、水、木、金、土の並びの中から、n番目の文字を表示させるという使い方をしていて、現在B1セルには4が入っているので、4番目の水が表示されています。

WEEKDAYとINDEXを組み合わせる

わざわざWEEKDAY用のセルを用意してからINDEXを使わなくても、1つの式にまとめきれます。

式:=INDEX({"日","月","火","水","木","金","土"},WEEKDAY(日付セル))

そこまで長い式ではないので、関数でいくなら、まとめてしまってよいでしょう。

 

関数を使う場合でも同じセルに日付と曜日を表示させたい

先ほどの、WEEKDAY関数とINDEX関数の組み合わせの例では、年月日のセルと、曜日のセルが分かれています。

これを、同じセル上に、日付と曜日の両方を表示させることも可能です。

この時、=A1 & INDEX({"日","月","火","水","木","金","土"},WEEKDAY(A1)) という式にしてしまうと、A1のセルの内容を日付としてではなく、シリアル値で拾ってきてしまいます。

しかも、INDEX関数とWEEKDAY関数を使っている関係で、書式を日付にしても意味がありません。

そこで、YEAR関数、MONTH関数、DAY関数と組み合わせることで、表示させたい形式に整えていきます。

今回は、2020/1/1 (水) と表示させる場合を例とします。

【式】
=YEAR(A1) & "/" & MONTH(A1) & "/" & DAY(A1) & " (" & INDEX({"日","月","火","水","木","金","土"},WEEKDAY(A1)) & ")"

少し長い式ですが、やっている事は簡単です。

YEAR関数、MONTH関数、DAY関数はそれぞれ、指定したシリアル値から年月日を算出してくれる関数です。

各関数で日付情報を拾いつつ、見た目を整えるため、間に/が入るようにし、最後に曜日の前後が()で囲まれるようにしているだけです。

 

コメント

タイトルとURLをコピーしました