5/18/2022

Excel。手早く5行おきにセルを塗り分けたいけど、どうしたらいいの

Excel。手早く5行おきにセルを塗り分けたいけど、どうしたらいいの

<MOD・QUOTIENT・ROW関数+条件付き書式>

データを見やすくしたいので、5行おきに色分けしたいけど、どのようにしたら、手早く設定することができるのでしょうか。


セルを塗りつぶすこと自体は、とても簡単な作業ですが、データの量が多いと面倒です。


面倒だからといって、わざわざ、Excel VBAをつかって、プログラムをつくるというのも、逆に面倒になってしまいます。


そこで、セルを塗りつぶしたいので、「条件付き書式」で考えてみることにします。


問題は、どのような条件式を設定すればいいのかということです。


有名な、一行おきならば、MOD関数とROW関数を組わせた条件を設定すればいいわけですが、やりたいことは、5行おきです。


単純に5で除算すればいいというわけにはいきません。


次のように、設定する数式を考えてみました。


C2に設定した数式は、

=MOD(QUOTIENT(ROW()-2,5),2)


オートフィルで数式をコピーしています。


算出結果をみると、5行おきに「0」と「1」にわけることができました。


あとは、この条件式を使って、条件付き書式を設定すれば、5行おきに塗り分けることができそうです。


先に、この数式を確認しておきましょう。

引数の内側からみていきます。

QUOTIENT(ROW()-2,5)


このパーツは、行番号から2を減算した値を、5で除算した商を算出しています。


ROW関数は、行番号を算出する関数。


ROW関数をつかって算出した行番号から2を減算しています。

1~5・6~10という組み合わせにしたいので、5で除算してみます。

1~4の商は、「0」となりますが、5は「1」となってしまうので、1~5の組み合わせにすることができません。


そこで、「-2」することで、0~4・5~9というように除算した結果の商を調整するために「-2」しています。


QUOTIENT関数は、除算した結果の商を算出する関数です。


ROW()-2で算出された値を、5で除算しています。

こうすることで、5行ごとにまとめることができます。


最後に、QUOTIENT関数で算出した値を、2で除算した余りを算出しています。


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

偶数か奇数かを判断する方法ですね。

こうすることで、「0」と「1」で分別することができました。


最後に条件付き書式にこの数式を設定していきます。


A2:B12を範囲選択します。

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


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

 


「数式を使用して、書式設定するセルを決定」のボックスに、先程の数式を設定します。

=MOD(QUOTIENT(ROW()-2,5),2)

あとは、書式ボタンをクリックして、塗りつぶす色を設定したら、OKボタンをクリックします。


これで、5行おきに塗り分けることができました。


 ところで、先程設定した数式ですが、

=MOD(QUOTIENT(ROW()-2,5),2)

と、「=0」とか「=1」をつけていません。


これは、Excelでは「0」がFalseで「1」がTrueとなっています。

この数式の結果が0だったらFalseなので、成立していないということで、塗りつぶされません。

このようなことから、省略した数式でも、問題なく、セルを塗り分けることができたというわけです。