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なので、成立していないということで、塗りつぶされません。
このようなことから、省略した数式でも、問題なく、セルを塗り分けることができたというわけです。