SE_BOKUのまとめノート的ブログ

SE_BOKUが知ってること・勉強したこと・考えたことetc

テーブルを使わずに、任意の行・列おきに背景色を変えた表を作る/EXCELの小ネタ

f:id:arakan_no_boku:20220405013815p:plain

目次

任意の行・列おきに背景色を変えた表

EXCELで一覧表を見やすくするため1行おきに色を変えるのは、よくやります。

こんな感じです。

f:id:arakan_no_boku:20190225110950j:plain

一番簡単なのは、EXCELのテーブル機能を使うことですが、色々と事情があって(まあ、たいていは好みのも問題・・笑)、テーブル機能を使わないで、同じようにしたい時があります。

 

条件付き書式を使う

やり方は簡単です。

対象にしたい範囲を選択して「条件付き書式」の新しいルールを開き、数式を使用して書式設定するセルを決定で、以下の数式を入力すればいいだけです。

=AND(MOD(ROW(),2) = 1,ROW() > 1)

f:id:arakan_no_boku:20190225112130j:plain

ROW()は行番号を返す関数。

MOD(ROW(),2)は、行番号を2でわった余りを返すので、それが「=1」であるということは「奇数」なわけです。

でも1行目はヘダー行で色をつけたくはないので、「ROW()>1」で2行目以降だけの縛りをつけてます。

まあ・・実際には、別に2行目以降だけを選んで書式設定するなら、この部分は別にいりません。

=MOD(ROW(),2) = 1

だけでもいけます。

こうすると。

f:id:arakan_no_boku:20190225115148j:plain

いい感じですね。

 

5行目ごとに色をつけてくれ・・とか

テーブルではなく、条件付き書式を使うと応用が利くメリットがあります。

頻度は少ないんですけど、時々、テーブルだとできない要望があるので・・。

例えば。

5行目ごとに色をつけてくれ・・なら。

=AND(MOD(ROW()-1,5) = 0,ROW()>1)

f:id:arakan_no_boku:20190225121022j:plain

こうすると、こんな感じ。

f:id:arakan_no_boku:20190225121057j:plain

 

1列おきに色を付けてくれとか。

横展開する表とかだと、1列おきに色をつけてくれ・・なんてこともあります。

=AND(MOD(COLUMN(),2) = 0,ROW()>1,COLUMN()>1)

f:id:arakan_no_boku:20190225125852j:plain

ROW()のかわりに列番号を返す「COLUMN()」を使っているのが違うくらいですかね。

ここでも1行目のヘダー行と、最初の1列のタイトル列は色をつけたくないので例外ではぶくように「ROW()>1」「COLUMN()>1」としています。

こうすると。

f:id:arakan_no_boku:20190225130109j:plain

 

ちなみに縦横の指定を組み合わせると

さっきの5行毎と1列おきを組み合わせると。

=AND(OR(MOD(COLUMN(),2) = 0,MOD(ROW()-1,5)=0),ROW()>1,COLUMN()>1)

 こんなんになります。

f:id:arakan_no_boku:20190225130600j:plain

まあ。

さすがに、これはお遊び以外では使わないと思うんですがね。

ではでは。