5/22/2015

Excel。MOD+ROW関数。1行おきの塗りつぶしじゃなくて、2行1組で塗りつぶすには?


Excel。1行おきの塗りつぶしじゃなくて、2行1組で塗りつぶすには?

【MOD+ROW関数+条件付き書式】


かなり前にも、テーブルをつかわずに、
一行おきに行を塗りつぶす方法をご紹介したことがありますが、

Excel。有名な一行おきに色をつける、条件付き書式+ROW+MOD
http://infoyandssblog.blogspot.jp/2013/06/excelrowmod.html

2行1組で塗りつぶすことはできませんか?とご質問がありました。
聞いてみますと、こんな感じの表だそうです。

なるほど、よくある感じの表ですよね。これを、

こんなように、2行1組で塗りつぶしたいそうなんですね。

作り方自体は、一行おきと変わりませんので、MOD関数とROW関数を使って、
偶数行か奇数行かを聞けばいいのですが、ちょっとアレンジが必要になります。

ROW関数は、その行が何行目なのかというのを算出する関数で、
MOD関数は、余りを求める関数です。

一行おきならば2で割って、余りがあるかなしかでいいのですが、
今回はそういう訳にはいかないようです。

ちょっと、考えてみたいと思います。
最初は、
4行目ですので、2で割ると、あまり 0
5行目ですので、2で割ると、あまり 1
6行目ですので、2で割ると、あまり 0
7行目ですので、2で割ると、あまり 1

となってしまい、2で割るとうまく来ません。

そこで、どうやったら、うまく余りを出せるのかを考えみると、4で割るといいことに気が付きます。

4行目ですので、4で割ると、あまり 0
5行目ですので、4で割ると、あまり 1
6行目ですので、4で割ると、あまり 2
7行目ですので、4で割ると、あまり 3
8行目ですので、4で割ると、あまり 0

と8行目で一巡します。あまりが0~3まで算出されて、
4で割ることがいいの?と思われる方もいるかもしれませんが、

さらにあまりは、2未満ですか?とすれば、
あまり0と1・あまり2と3のグループの2グループに分けることが出来ます。

そう、これで2行1組の条件を見つけられたわけです。

=MOD(ROW(),4)<2

という数式を条件付き書式に設定してあげればいいわけですね。

では、A4:E13まで範囲選択をして、ホームタブの条件付き書式にある、
新しいルールをクリックしましょう。

すると、新しい書式ルールダイアログボックスが表示されますので、

数式を使用して、書式設定するセルを決定 を選択して、
ルールの内容を編集してください の、次の数式を満たす場合に値を書式設定のボックスに、

=MOD(ROW(),4)<2

と入力します。

次に、書式ボタンをクリックして、セルを塗りつぶす色を選択していきます。

セルの書式設定ダイアログボックスが表示されますので、
塗りつぶしタブからお好きな色を選択してOKボタンをクリックします。

先程のダイアログボックスに戻りますので、OKボタンをクリックして完成ですね。

このように、条件付き書式+MOD+ROW関数の基本形式にアレンジをすると、
色んなことが出来ますので、色々とやってみるとスキルアップに繋がりますよ。