よぼ爺の留め書き★Excel、VBA★

ExcelやVBA中心に仕事に役立ちそうな技を忘れないようにメモしていきます

◆Excel 日付の曜日を漢字で表示するには◆

f:id:yobog:20160321215210j:plain

該当の日付の曜日を漢字で表示するには、2種類の方法があります。

 

セルの書式を使う

方法は以下の通りです。

  • 曜日を表示したい場所に日付を入力する
  • Ctrl+1キーを押して「セルの書式」ウィンドウを表示させる
  • 表示形式のユーザー定義に「aaa」もしくは「aaaa」を入力してOKを押す

     

     f:id:yobog:20160321204611p:plain

 ちなみにaaaは漢字一文字(日、月、火・・・)、aaaaは漢字3文字(日曜日、月曜日、火曜日・・・)で表します。

WEEKDAYとCHOOSEの組み合わせ

WEEKDAYとCHOOSE関数を使って 日付の入ったセルを指定します。

=CHOOSE(WEEKDAY($A$1),"日","月","火","水","木","金","土")

WEEKDAY関数は該当する日付の曜日を1~7(日~土)の数値で返す関数です。
※引数を指定すれば 1を月曜日にしたり、0~6にすることも可。詳しくはヘルプで確認 

CHOOSE関数は1番目の引数の値(インデックス)に基づいて、値(2番目以降の引数)の中から 1 つの値だけを選択する関数です。

f:id:yobog:20160321212359p:plain

つまり、WEEKDAYで帰ってくる1~7の数値をインデックスとして、該当する漢字を選択しているというわけです。

 

使い分け

表示・印刷だけで良いのならセルの書式だけでよいでしょう。
ですが、文字列として扱いたい場合は、WEEKDAYとCHOOSEの組み合わせをお勧めします。

文字列で扱うとは下図のように文字と連結して利用する等の特殊な使い方をする場合を指します。

f:id:yobog:20160321205442p:plain

 セルの書式の場合は、セルに入っている値は数値(シリアル値)のため、先ほどと同じように文字と連結すると次のように表示されてしまいます。

f:id:yobog:20160321205843p:plain

 曜日を表示するだけか、表示以外の使い方をするかで使い分けましょう。