Excel。一つのセルの中に日付と曜日を表示する方法。
横一行編
表示形式のユーザー定義
塗りつぶしたセルを数えるという方法をご紹介したら、クライアントさんから、
縦の表でやってみたんだけど、
日付だけでなく曜日も表示したいんだけどとリクエストがありました。
まぁ隣の列に曜日の列を作る方が楽のような気もしましたが、
確かに日付と曜日を一つのセル内に表示させたいということはあるでしょうから、
今回はそのやり方をご紹介していきます。
で、
それだけでは、非常に簡単すぎるので、アレンジして、
土曜日なら青色。日曜日なら赤色の塗りつぶしが設定されるようにしちゃおうと思います。
下記に最終完成までをのせますので、まずはご確認ください。
これを順を追って紹介していきます。
まずは、真ん中の、一つのセル内に日付と曜日が表示されている方法からご紹介します。
D3:D13まで日付を入力していきます。3/1でも構いません。
そして、D3:D13までを範囲選択して、セルの書式設定ダイアログボックスを表示します。
分類がユーザー定義で種類がm"月"d"日"となっていますので、m"月"d"日"の直後にクリックして、(aaa)と入力します。
m"月"d"日"(aaa)
と種類には入力されています。あとは、OKボタンをクリックしましょう。
これで、完成ですね。
これだけでは、あまり芸がないので、
この日付と曜日が表示された状態で、
土曜日なら青を日曜日なら赤で塗りつぶすようにしてみましょう。
D列をF列にコピーしておきます。
このコピーしたF列に設定していきます。
考え方としては、条件付き書式を使うことは決定済みですが、問題となるのは、
どうやったら設定できるのか?ということになりますね。
隣のセルに曜日があって、そのセルには、
TEXT関数を使ってあれば簡単に塗りつぶしの設定が出来るのは、以前書いておりますが、
今回はその手を使うことが出来ませんので、
曜日が土曜日や日曜日と判断させる必要があります。
そこで、登場するのがWEEKDAY関数。
そう、今回は、条件付き書式とWEEKDAY関数の合体技。コラボレーション技になります。
WEEKDAY関数に関しては、以前書いたBLOGに詳細を書いております。
http://infoyandssblog.blogspot.jp/2013/10/excelweekday-weekday.html
さて、F3:F13を範囲選択して、ホームタブの条件付き書式から新しいルールをクリックします。
新しい書式ルールダイアログボックスが表示されます。
数式を使用して、書式設定するセルを決定を選択し、
次の数式を満たす場合に値を書式設定のボックスに、
=weekday(F3,1)=7
と入力します。そして、書式ボタンをクリックします。
セルの書式設定ダイアログボックスが表示されますので、塗りつぶしタブに移動して、
青系を選択して、OKボタンをクリックします。
新しい書式ルールダイアログボックスに戻りますので再度OKボタンをクリックします。
これで、土曜日に青色の塗りつぶしが設定されましたね。
これを同じように繰り返して、日曜日を作っていきます。
今度は、新しい書式ルールダイアログボックスの、数式を使用して、
書式設定するセルを決定を選択し、次の数式を満たす場合に値を書式設定のボックスに、
=weekday(F3,1)=1
と入力します。書式は赤系を選択しましょう。すると、日曜日には赤系の塗りつぶしが設定されました。
これで、完成ですね。
なお、WEEKDAY関数ですが、
今回は1を選びましたので、日曜日が1で土曜日が7を返します。
ちなみに、種類の1は省略することもできます。
ところが…
Excel2010になったら、このWEEKDAY関数の種類が増えたんですね。
曜日ごとに、設定することがExcel2010のWEEKDAY関数では出来るようになりました
種類が 1だと戻り値は、日曜日が1で土曜日が7となる整数
種類が 2だと戻り値は、月曜日が1で日曜日が7となる整数
種類が 3だと戻り値は、月曜日が0で日曜日が6となる整数
種類が11だと戻り値は、月曜日が1で日曜日が7となる整数
種類が12だと戻り値は、火曜日が1で月曜日が7となる整数
種類が13だと戻り値は、水曜日が1で火曜日が7となる整数
種類が14だと戻り値は、木曜日が1で水曜日が7となる整数
種類が15だと戻り値は、金曜日が1で木曜日が7となる整数
種類が16だと戻り値は、土曜日が1で金曜日が7となる整数
種類が17だと戻り値は、日曜日が1で土曜日が7となる整数
と用途によって様々に設定できるようにExcel2010から変わっております。