午後1:
・Excel「データの入力、条件付き書式、関数(IF・AND・OR・COUNTIF・WEEKDAY・MONTH)」
上の項目を見る人見ればわかりますが、
やりたいことは「Excelで作ったカレンダーの土日祝に色を付ける」です。
これ、土日だけなら条件付き書式だけで簡単にできるのですが、
祝日を追加すると一気に難しくなります。
前置きとして、Excelには祝日を判定する機能は存在しません。
そのため、WEBサイトなどで最新の祝日一覧を用意しておく必要があります。
用意した一覧をもとに、COUNTIF関数を用いて祝日かどうかを判定します。
COUNTIF関数の公式は以下の通りです。
- COUNTIF(「範囲」,「条件」)…「範囲」の中から「条件」に等しいものの個数を数える。
上記の図でいうと、
- (B1には)E1~E17(青い範囲)の中で、A1(赤い範囲)の個数を数えなさい
という式になります。
式を入力後、月末までコピーすると以下のようになるはずです。
2/11(建国記念の日)と2/23(天皇誕生日)が「1」になるはずです。
ならなかった方はおそらく範囲を指定する際に絶対参照(列や行の手前にある「$」)をしておらず、
数える範囲が式のコピー時にずれてしまったのが原因と思われます。
$をつけておけば式をコピーしてずらしても、参照位置はずれないという例のヤツですね。
これは前提知識として必須です。
続けて土日かどうかの判定をC列に行っていきます。
ここで使うのはWEEKDAY関数ですね。
WEEKDAY関数は指定したシリアル値(日付データ)をもとに曜日を返す関数です。
返すデータは指定した引数に対応した数値が返ってきますが、
引数を「2」にしておくと、月曜なら1、日曜なら7を返します。
これで下準備が終了。
あとはこれら2つのデータをもとに、条件付き書式を設定してやります。
今回は条件が2つあります。
- 【条件1】B1が0より大きい(祝日かどうか)
- 【条件2】C1が5より大きい(土曜と日曜)
それぞれの条件のどちらかを満たせば「土日祝」となるので、OR関数で囲います。
これ、「どちらの条件も満たせば~」ならAND関数を使えばよいですね。
今回はわかりやすくするためにB列とC列にあらかじめ式を入力していますが、
もちろん条件付き書式の計算式に全部入力しても構いません。
(引数のヒントが出ないので、難易度は大きく上がりますが)
本日はさらに「31日までコピーすると次の月が表示されてしまう場合の対処法」も実践されました。
これまたExcelカレンダーあるあるの質問ですね。
これは条件付き書式とmonth関数を使えば可能です。
Excelに自信のある方はぜひ挑戦してみてください。