図のような、1行おきに色の付いた表を作りたい場合、
それこそ色を付けたいセルを地道に範囲選択して、[塗りつぶしの色]ボタンでセルに色を塗るのもひとつの方法です。
ですが、[塗りつぶしの色]ボタンで色を塗るということは、「選択したセルを、今後はこの色で」という指定をしていることになるので、
表の途中の行を削除すると、
たちまち1行おきの色違いが崩れる結果に。
じゃぁ、[ホーム]タブの[テーブルとして書式設定]なら、地道に一行おきに範囲選択する必要もなく簡単に設定できるし、行を削除しても1行おきの色違いが崩れることはないじゃん♪、と思うのですが、
表自体が、たくさんのデータを集めたデータベースってほどのものでもないので、データベースを管理しやすくするためのテーブルに変換することが、なんかピンとこない。
また、テーブルに変換すると、後で非表示にできる(Excel 2013以降)とはいえ、[▼]が付くのも気に入らない。
データベースってほどのものでもないから[テーブルとして書式設定]は使いたくないし、かと言って、表の途中の行を削除しても常に1行おきの色違いが保たれるようにしたい!
それを実現するのが、今回ご紹介する方法です!
スポンサーリンク
一行おきを実現する考え方
1行おきに色を付けたい、というのであれば、奇数行にあるセルだけに色を付けるか、偶数行にあるセルだけに色を付けるかのどちらかをすれば実現します。
奇数行でも偶数行でもどちらでもいいのですが、今回は奇数行に色を付けるということで進めていきます。
さて、今まで奇数行にあったセルでも、
表の途中の行を削除すると、偶数行のセルになってしまうこともあります。
またはその逆に、今まで偶数行にあったセルが、他の行が削除されることで、奇数行のセルになることもあります。
今回は、表の項目行以外のセルで一行おきに色がつくようにしたいわけですが、これらのセルはすべて、いつ奇数行のセルになってもおかしくない、ということになります。
ということは、これらのセルが、常に奇数行にあるセルなのかどうかをExcelさんに判定してもらわなければなりません。
奇数かどうかを判定するのがISODD関数。
ISODD関数の数式はこうなります。
引数[数値]にセル番地を指定するなどして、「このセルに入力されている数字は奇数ですか?」とExcelさんに聞くことができます。
ところが、今回奇数かどうかを判定してほしいのは、「セルに入力されている数字」ではなく、「セルが属している行」。
ということは、奇数かどうかを判定してほしい「セルが属している行」から割り出していく必要があります。
「セルが属している行」を割り出す
指定したセルが何行目にあるのかを割り出してくれるのがROW関数。
ROW関数の数式はこのようになり、引数[参照]にセル番地を指定するなどして、「このセルは何行目にありますか?」とExcelさんに聞くことができます。
そして、引数[参照]を省略すると、この数式が入っているセル自体が何行目なのかを割り出してくれます。
今回は表の項目行以外のすべてのセルに、
この引数を省略したROW関数の数式を設定すれば、各セルが何行目にあるのかを常にExcelさんに割り出してもらえます。
数式はこうなる!
というわけで、奇数かどうかを判定するISODD関数の数式に、
そのセル自体が何行目にあるのかを割り出すROW関数を組み込むと、
このような表現になります。
スポンサーリンク
使うのは「条件付き書式」
さて、この数式に該当していた場合には、そのセルに色を付けたいので、条件に該当していた場合に書式を変えてくれる「条件付き書式」を使います。
さて、前の章でご説明したとおり、現在、偶数行にあるセルでも、後々、行が削除されて奇数行になる可能性もあります。
ということは、いつ奇数行のセルとなって色を付けることになってもいいよう、条件付き書式は、表の項目行以外の全てのセルに設定します。
表の項目行以外の全てのセルである、A3からD13番地を範囲選択し、
[ホーム]タブ、
[スタイル]グループにある[条件付き書式]をクリックし、
表示された一覧から[新しいルール]をクリックすると、
このようなダイアログボックスが表示されます。
まずはこのダイアログボックス上部にある一覧から、ルールの種類を選ぶのですが、
今回やりたいことは、「このセル自身がある行は奇数ですか?」と、
=ISODD(ROW())
の数式を使ってExcelさんに聞き、
もしそうだった場合にセルの色を変えたいわけですから、[数式を使用して、書式設定するセルを決定]をクリックで選択します。
そして、その数式を入力するため、[次の数式を満たす場合に値を書式設定]欄でクリックして、この欄に文字カーソルを入れ、
=ISODD(ROW())
の数式を、
入力します。
この数式は、地味に手入力となります。
そして、入力した数式に該当していた場合には、奇数行にあるセルだということになるので、どんな色にしたいのか設定していきましょう。
[書式]ボタンをクリックします。
セルの色を設定したいので、[塗りつぶし]タブの色の一覧から好みの色をクリックで選択します。
ちなみにここに表示される色は、その文書に設定してあるテーマによって違うので、必ずしもこの図と一緒の色ではありません。
色を選択し終わったら、ダイアログボックス右下の[OK]ボタンをクリックすると、
最初のダイアログボックスに戻ってきます。
[プレビュー]欄に、条件となる数式に該当していた場合にはこんな感じになりますよ、というのが表示されています。
最後に[OK]ボタンをクリックすると、
奇数行にあるセルに色を付けることができました!
スポンサーリンク
更に偶数行に色を設定するのもアリ
ここまでで、奇数行にあるセルだけに色を設定しましたが、
偶数行にあるセルに、違う色が付くように設定すると、互い違いの色が設定された表にすることができます。
偶数かどうかを判断するのはISEVEN関数。
それを先ほどの数式の、奇数かどうかを判断するISODD関数と入れ替えれば、「このセル自身がある行は偶数ですか?」という数式にできます。
それでは早速、偶数行にあるセルにも色が付くように設定していきましょう!
先ほど設定したときと同様、表の項目行以外の全てのセルである、A3からD13番地を範囲選択し、
またまた[ホーム]タブ、
[スタイル]グループにある[条件付き書式]をクリックします。
新しいルールを付け加えたいので、表示された一覧から[新しいルール]をクリックすると、
このようなダイアログボックスが表示されます。
まずはこのダイアログボックス上部にある一覧から、ルールの種類を選んでいきましょう。
今回やりたいことは、「このセル自身がある行は偶数ですか?」と、
=ISEVEN(ROW())
の数式を使ってExcelさんに聞き、
もしそうだった場合にセルの色を変えたいわけですから、[数式を使用して、書式設定するセルを決定]をクリックで選択します。
そして、その数式を入力するため、[次の数式を満たす場合に値を書式設定]欄でクリックして、この欄に文字カーソルを入れ、
=ISEVEN(ROW())
の数式を、
地味に手入力します。
そして、入力した数式に該当していた場合には、偶数行にあるセルだということになるので、どんな色にしたいのか設定していきましょう。
[書式]ボタンをクリックします。
セルの色を設定したいので、[塗りつぶし]タブの色の一覧から好みの色をクリックで選択します。
当然ですが、奇数行のときに設定した色とは違うものを選びます。
また、くどいようですが、ここに表示される色は、その文書に設定してあるテーマによって違うので、必ずしもこの図と一緒の色ではありません。
色を選択し終わったら、ダイアログボックス右下の[OK]ボタンをクリックすると、
最初のダイアログボックスに戻ってきます。
[プレビュー]欄に、条件となる数式に該当していた場合にはこんな感じになりますよ、というのが表示されています。
最後に[OK]ボタンをクリックすると、
偶数行にあるセルにも、色を付けることができました!
これらの設定で、常にExcelさんは、表内のセルが奇数行のセルなのか、偶数行のセルなのかを見てくれていて、それによって付ける色を変えるようになっています。
試しに、途中の行を削除してみましょう。
削除する行の下にある行が何色になっているか注目しつつ、行を削除します。
行を削除しても、互い違いの色が崩れることはありません!