Windows TIPS
[Office Master]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

n行おきにExcelのセル書式を変更する

解説をスキップして操作方法を読む

山田 祥寛
2003/08/30
 
対象ソフトウェア
Excel 2000
Excel 2002
Excel上で一覧表を作成する場合、データ部分の背景色がすべて同一色だと見づらいことがある。
1行おきに交互に色を変えると見やすくなるが、後から1行追加したりすると、後続の行の書式をすべて変更しなければならず、非常に面倒である。
条件付き書式を用いることで、n行おきにセルのスタイルを自動変更することができる。
 
解説

 Excel上で複雑な一覧表を作成した場合、データ部分の背景色がすべて同じ色になっていてとても見づらいと思ったことはないだろうか。横に長い行だと、同じ行のデータをたどるのが困難になるからである。

 それでも1項目が1行ならばまだよいだろう。だが次の例のように、1項目が複数行にまたがっているようなケースでは、項目の区切りが分かりづらく、閲覧する場合も誤解を招きやすい。

複雑な構造を持つExcelシートの例
この例では、1つの項目は1行もしくは2行で構成されているので、すぐにはその構造が把握しにくい。
  基本的には2行で1項目だが、一部には、2つの行のセルを結合している部分があるので、構造が複雑になっている。

 このような表を見やすくするために、1項目おきに交互にセルの背景色を変えるというレイアウトがよく行なわれる。だが実はこれもくせ者で、あとから途中に1項目追加したりすると、交互に設定された背景色の設定がずれてしまい、再び後続行の書式をすべて変更しなければならない。

途中に1項目追加した場合の例
この例では、分かりやすくするために、1項目ごとに背景色を白と黄色に設定している。だが、途中に項目を追加すると、せっかく整えた色がずれてしまう。
  1項目ごとに、背景色を変えている。
  追加した項目。項目を追加すると、直前の行の背景色が適用されてしまうので、規則正しく並ばなくなる。

 こうした問題を避けるためには、項目の追加は表の末尾に対してのみ行う、といったルールを用意すればある程度軽減できるが、実際はなかなかそうもいかないことが多いだろう。それに、(重要であるとはいえ)たかがレイアウトのためにそこまで振り回されるのでは本末転倒である。

 しかし、「条件付き書式」の機能を用いることで、この問題を簡単に解決することができる。「条件付き書式」とは、セル(値)がある特定の条件に合致した場合に、動的に書式を変更するという機能である。つまり、あとからの行追加などでセル位置が変更になった場合でも、レイアウトが自動的に切り替わる。

 それではさっそく、設定までの流れを見てみることにしよう。


操作方法

手順1―元となるリストを用意する

 リストの内容は特に問わないが、ここでは上記のExcelのシートを例に取り上げてみる。リスト上の各項目は、シート上の2行から構成されている。つまり、2行で1項目となっているが、列によっては、1つのセルになるように結合している。

  • サンプル・ファイルのダウンロード
    注:今回のサンプル・ファイルnLine.xlsをダウンロードするには、上のリンクを右クリックして、nLine.xlsというファイル名で保存してください)

手順2―「条件付き書式」を選択する

 リスト全体(サンプルでは「B4:I141」)を選択状態にして、メニューから[書式]−[条件付き書式]を選択する。

 「条件付き書式の設定」ダイアログが表示されるので、必要な条件を入力してみよう。

条件付き書式の設定
条件に応じて変化する書式を定義することができる。セルの値が条件を満たすかどうか、もしくは、指定された数式の値が真になるかどうかに基づいて、書式を変更することができる。この場合は、条件に応じて、指定した書式を適用するかどうかを決めているだけであるが(適用しない場合は、無指定となる)、最大で3つまでの書式を切り替えて適用できる。
  「セルの値が」か「数式が」を選択可能。「セルの値が」を選択した場合、セルの値と右の数式との値を比較し、大小、または等しい場合に、指定された書式を適用する。「数式が」を選択した場合は、右の数式の値がTrue(真)である場合に指定書式を適用する。
  条件式。ここでは「数式が」を選択しているので、数式はTrueかFalseを返すように設定しなければならない。
  条件が合致した場合の書式。フォントやスタイル、背景色などを選択可能。ここでは条件に合致した場合に背景色を薄黄色にする。
  書式を変更するためにはこれをクリックする。
  これをクリックすると、別の条件セットと書式の組を定義することができる。最大で3つまでの条件(と書式)を定義することができる。例えば、セルの背景を「薄黄色」と「薄青色」にしたければ、2つ目の条件(1つ目の条件とは反対の結果を返す式)と書式を定義する。

 条件式には、次のような式を入力する。

=OR(MOD(ROW(),4)=0,MOD(ROW(),4)=1)

 ここで使用している関数の意味は、次のとおりである。

関数 概要
OR(条件式1,条件式2,…) 論理和演算。条件式1、条件式2、…のいずれかがTrueの場合に、全体としてTrueを返す。1つも真ではない場合はFalseとなる
ROW() セルの現在の行(の番号)を返す
MOD(値1,値2) 「値1÷値2」の除算の余りを返す

 先の条件式は、「セルの現在行(番号)を4で割った余りが0または1であればTrue」ということを意味している。これにより、2行おきにTrueが返されることになる(このほかにも例えば比較演算子を使って、「セルの現在行を4で割った余りが1以下であればTrue」という式でもよいだろう)。

 これで設定は完了だ。次のように、1項目(2行)おきに背景色は「薄黄色」と「白(無指定時のデフォルト状態)」に色が塗り分けられているはずだ。

完成したExcelシート
条件付き書式を使って、1項目(2行)ごとに背景色を切り替えた例。項目ごとに背景色が変化しているので、項目の区切りが理解しやすくなっている。

 条件付き書式で設定された書式は、常に動的に判定されるから、例えば途中に新たに2行(1項目)を追加したとしても、次のようになる。

項目を追加した例
行を追加してデータがずれても、背景色はその行の番号によって決まっているのでずれることはない。
  追加・挿入した行。これより下側のデータはずれているが、書式(薄黄色の背景色)は元のまま。

 今度は挿入した行の後も、きちんと色分けができていることが分かるだろう。なお、条件付き書式は、既存の静的な書式よりも優先されるので、例えば背景に別の色を指定しておけば、2色に塗り分けることができる(条件付き書式で2種類の書式を返すようにしてもよい)。End of Article

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間