カレンダー表:Excel2010

■ Excel豆知識109




 109-2 条件付き書式(関数・名前定義)
条件付き書式(関数・名前定義)
 カレンダー表で使用している条件付き書式の条件1条件3については豆知識107で、ま
た、条件2に使用している関数については豆知識108で、そして、それに使用している「祝
日」という名前について109-1で簡単に説明いたしました。

 では、今度はその関数と名前がどのように条件2のなかに使われているのかについて説明
してみようと思います。

 =OR(WEEKDAY($B4)=1,COUNTIF(祝日,$B4))

 OR関数はカッコの中の引数のどれかひとつでも正しければTRUEを返すというものでした。
このOR関数の引数として、WEEKDAY($B4)=1COUNTIF(祝日,$B4)のふたつが設定されて
います。

 WEEKDAY($B4)=1はB列のセルの値が「日曜日」のときにTRUEとなります。
WEEKDAY関数の戻り値
 COUNTIFは=COUNTIF(範囲,検索条件ですので、COUNTIF(祝日,$B4)「祝日」とい
う範囲B列のセルの値1ある場合にTRUEを返します。
 この部分はCOUNTIF(祝日,$B4)=1と書いても同じです。

 ということで、=OR(WEEKDAY($B4)=1,COUNTIF(祝日,$B4)) という条件は
「B列のセルの値が『日曜日』」または「B列のセルの値が『祝日』」の時にTRUEを返
すということがおわかりいただけたと思います。

これでカレンダー表に使用している3つの条件の全部がそろいました。
条件1:その行のB列のセルの値の「月」がB4セルの「月」と違ったら、フォントを白にする。
条件2:その行のB列のセルの値が「日曜日」または「祝日」だったら、パターンをベージュにする。
条件3:その行のB列のセルの値が「土曜日」だったら、パターンを薄い黄色にする。

この3つの条件を、優先順位は1、2、3の順で適用する、という設定をしています。


 109-3 カレンダー表を完成させる
 カレンダー表に設定する条件付き書式に使われている関数や名前についての説明が終わ
りましたので、下図のカレンダー表に条件付き書式を設定します。
カレンダー表を完成させる
 条件付き書式を設定したい範囲全体を選択し、「ホーム」タブの「条件付き書式」-「ル
ールの管理」-「新規ルール」で出てくるダイアログボックスで、「数式を使用して、書式
設定するセルを決定」を選択し、数式を入力するボックスに
 「=month(」と入力し、B4セルをクリック、F4キーを2回押して
  「=month($B4」とし、「)<>month(」と入力し、B4セルをクリック「」で閉じて
  「=month($B4)<>month($B$4)」とする。

 「書式」をクリックし、
カレンダー表を完成させる
 フォントを「白」にし、「OK」。
カレンダー表を完成させる
 「OK」をクリック。
カレンダー表を完成させる
 一つ目の条件が設定されました。
 再び「新規ルール」をクリック。
カレンダー表を完成させる
 数式を入力するボックスで「=or(weekday(」と入力し、
    B4セルをクリック、F4キーを2回押して「=or(weekday($B4」とし、
  「)=1,countif(祝日, 」と入力し、B4セルをクリック、F4キーを2回押して「))」
    で閉じて、 「=or(weekday($B4)=1,countif(祝日,$B4))」とする。
 「書式」をクリックし、パターンを「ベージュ」にして「OK」、「OK」。
カレンダー表を完成させる
 ここで、あとから設定した条件が上に追加されるので、▼ボタンをクリックし下へ移動
します。
カレンダー表を完成させる
 「月が違ったらフォントを白」が最優先になりましたので、また「新規ルール」をクリ
ック。
カレンダー表を完成させる
 数式を入力するボックスで「=weekday( 」と入力し、
    B4セルをクリック、F4キーを2回押して「=weekday($B4」とし、「)=7」と入力し、
   「=weekday($B4)=7」とする。
 「書式」をクリックし、パターンを「薄い黄色」にして「OK」、「OK」。
カレンダー表を完成させる
 ここでも、あとから設定した条件が上に追加されるので、▼ボタンをクリックし一番下
へ移動します。
カレンダー表を完成させる
 これで
条件1:その行のB列のセルの値の「月」がB4セルの「月」と違ったら、フォントを白にする。
条件2:その行のB列のセルの値が「日曜日」または「祝日」だったら、パターンをベージュにする。
条件3:その行のB列のセルの値が「土曜日」だったら、パターンを薄い黄色にする。
の3つの条件の設定が完了しました。
 また、「条件を満たす場合は停止」にチェックが入っていますので、優先順位の高い条
件がTRUEになれば下位の条件は無視されます。
カレンダー表を完成させる
 「OK」とすると、下図のように設定した通りの色になります。
カレンダー表を完成させる
 カレンダー表が完成しました。
カレンダー表を完成させる
 カレンダー表が出来上がったら、そのシートをコピーして、A1セルを5/1、6/1などと変
えてやれば、5月分、6月分のカレンダーがすぐに出来ます。

シートをコピーする一番簡単な方法
 Ctrl キーを押しながらシート見出しをドラッグし、目的の位置でマウス ボタンを離し
てから Ctrl キーを離します。

 たとえば「H24.4月」シートをコピーすると、下図のように「H24.4月(2)」というシ
ートが出来ます。
シートをコピー
 そのシートタブをダブルクリックすると、下図のように黒反転になりますから、
「H24.5月」などとかえてやれば5月分シートが出来上がります。
 そうして、A1セルを5/1とすれば、カレンダー表も5月分になります。


 カレンダー表の作り方の説明は終わりましたが、これに「ワークシート名を表示させる
式」を使うとまたちょっと便利になります。Excel2003の豆知識と変わるところがありませ
んので、Excel豆知識10をご覧いただければと思います。シート名を利用したひと工夫でま
たさらに便利になります。


 次回はこのカレンダー表の応用として、横に日付が並ぶカレンダー表と、月の途中の日
から始まる場合のカレンダー表を作ってみようと思います。
ページTOPへ