2/01/2023

Excel。隔週おきに行全体を塗りつぶしたいけど、どうしたらいいの【biweekly】

Excel。隔週おきに行全体を塗りつぶしたいけど、どうしたらいいの

<条件付き書式:MOD+WEEKNUM関数>

簡易カレンダーで隔週おきに行全体を塗りつぶしたい時には、どのようにしたら、効率的に作成することができるでしょうか。


Excelの日付には、第何週なのかという情報も含まれています。

第何週なのかを算出できる関数が、「WEEKNUM関数」です。


このWEEKNUM関数で算出した値を2で除算して、余りがあるのか、ないのかを判断すれば、隔週おきに分けることができます。


そして、条件で塗り分けるわけですから、条件付き書式を使えば、対応することができます。


それでは、設定方法を確認していきます。

範囲選択します。今回は、A2:B15が該当します。

ホームタブの条件付き書式にある、「新しいルール」をクリックします。


新しいルールダイアログボックスが表示されます。

「数式を使用して、書式設定するセルを決定」をクリックします。

「次の数式を満たす場合に値を書式設定」のボックスに、数式を設定します。


=MOD(WEEKNUM($A2,1),2)


あとは、書式ボタンをクリックして、書式を設定したらOKボタンをクリックして完成です。


MOD関数は、余りを算出する関数です。

WEEKNUM関数が、該当する日付が第何週に当たるのかを算出する関数です。


ところで、

=MOD(WEEKNUM($A2,1),2)=1

というように、数式のうしろに、「=1」とか「=0」とかをつけていません。


これは、=MOD(WEEKNUM($A2,1),2)が、「1」か「0」のみ算出されます。


「=1」となれば、「1」はExcelでTRUE。

「=0」ならば、「0」でExcelではFALSEと設定されています。


TRUEならば、成立しているということで、条件を満たす。

すなわち、書式設定の対象となるわけです。


そのため、数式のうしろに、「=1」とか「=0」をつけていなくても、大丈夫というわけです。


あと、WEEKNUM関数の最初の引数を「$A2」と列を固定した複合参照にすることで、行全体を塗りつぶすことができます。


条件付き書式と数式を組み合わせることで、日頃使っている資料が、より一層わかりやすくなるかもしれませんので、色々試してみるといいかもしれませんね。