Excel使いこなしの基礎と応用


Excelで万年カレンダー仕様の予定表を作る(4)

DATE関数で取得したシリアル値(年/月/日)から曜日を表示させます。「月・火・水…」「(月)・(火)・(水)…」「Mon.Tue.Wed.…」「月曜日・火曜日・水曜日…」など好みの表示形式にすることも可能。月末の29日・30日・31日についてはIF関数を使います。

スケジュール表作成のプロセス


Step4.DATE関数と書式設定の表示形式で曜日を表示

step-arrow

1~28日までの曜日を取得

1日の曜日を表示させるセル(B3)をクリックして選択します。
曜日を表示させる最初のセルをクリック
「数式」タブ「関数ライブラリ」の「日付/時刻▼」リストの一番上にある「DATE」をクリックします。
日付/時刻関数からDATEを選択
前Stepで作業したのと同様に、「」の引数にカーソルを置いてA1セルをクリックし、F4キーを叩いて絶対参照にします。続いて「」の引数にカーソルを置いてA2セルをクリックし、これもF4キーを叩いて絶対参照にします。
DATE関数で年・月を取得
最後に「」の引数にカーソルを置いてA3セルをクリック。
ここは相対参照のままで、「OK」します。
▶絶対参照・相対参照についてわかりやすく
DATE関数の引数で日の引数を相対参照で入力
数式は「=DATE($A$1,$A$2,A3)」です。

スポンサーリンク

でも、B3セルの表示は・・・「#####」…これって、エラー?!
幅不足のエラー
エラーには違いないんですが、これはセル幅が不足してて表示しきれませんというエラーです。列幅を広げれば↓ちゃんと表示されるし、数式に問題はないので心配いりません。
列幅を広げて年月日を表示
ここはこのエラーを無視して、B3セルのフィルハンドルを28日(B30セル)まで引っ張ってオートフィルコピーします。
28日までフィルコピー
選択を解除せず、そのまま右クリックして表示されるメニューから「セルの書式設定」を選びます。
右クリックでセルの書式設定を選択
「セルの書式設定」ダイアログボックスの「表示形式」タブを開き、「分類」の最下部「ユーザー定義」をクリック。

種類」のテキストボックスに入っている文字列を選択してから、半角英字で「aaa」と入力します。
セルの書式設定でaaaと表示形式を入力
上のサンプルで表示が確認できますね。「OK」すると、曜日が表示されます。
曜日が取得された
曜日の「表示形式」の種類には幾つかあり、入れ替えができます。

種類の入力値

表示サンプル

aaa

月 火 水 木 金 土 日

【aaa】(aaa)《aaa》

【月】【火】(水)(木)《金》《土》

aaaa

月曜日 火曜日 水曜日 木曜日 金曜日

ddd

Mon Tue Wed Thu Fri Sat Sun

dddd

Monday Tuesday Wednesday Thursday

29日・30日・31日の曜日を取得する

月末の3日は、2月、小の月、大の月で日にちと同様に表示と非表示を切替える必要があります。ここでは、IF関数を使って設定します。

スポンサーリンク

最初に、前章で1~28日の曜日セルに入れたDATE関数式をどれでもいいのでコピーしておきましょう。

ここでは1日の曜日に入れた「=DATE($A$1,$A$2,A3)」の「」を抜かしてコピーしておきます。(B3セルをクリックして数式バーの式をドラッグして選択、Contrlキー+Cキーでコピー入力ボタンとキャンセルボタンのキャンセルボタンか入力ボタンをクリック)

29日の曜日を入れるセル(B31)を選択し、「数式」タブ「関数ライブラリ」の「論理▼」から「IF」を選んでクリック。
関数ライブラリの論理リストからIFを選ぶ
IF関数の引数」ダイアログボックスが開いたら、「論理式」にカーソルがあることを確認して29日が入るセル(A31)をクリック。

論理式」に「A31」と入ったら、その後に続けて「=""」と入力します。

これは比較的分かりやすい論理ですね。「""」は空欄を意味するダブルクォーテーションで、「A31=""」とは「A31セルが空なら…」というIF文です。

真の場合」にはこの問いに対して肯定する値が入るわけですから、「""」と入れます。「A31セルが空なら…?」⇒「B31セルも空にします」という指定ですね。
29日の日にちセルが空なら曜日セルも空
偽の場合」には前章で1~28日の曜日セルに入れたDATE関数式を流用します。

「偽の場合」にカーソルを置いてDATE関数のダイアログボックスを開いて設定してもいいんですが、ここは最初にコピーしておいた式をContrlキー+Vキーで貼り付け

DATE($A$1,$A$2,A3)」を「DATE($A$1,$A$2,A31)」に修正します。
偽の場合にコピーした数式を修正
「OK」して、B31セルに曜日が表示されたら、~B33までフィルコピーして完了です。
~31日の曜日までに数式をフィルコピー

▶次は、祝日と年中行事を自動表示させる設定です

Officeで作れるもの