隣のセルの値との比較によって
色を変える条件付き書式
縦横に広い表でも、1色につきひとつの条件付き書式の設定で一気に設定完了です。
EXCELで売上集計の資料を作るような場面で、「前日や前年より値が増えていたらセルに色を付ける。」といった使い方をしたい場面はよくありますよね。項目が少なければ目で見て手で色塗りをするのもありですが、項目がたくさんあったり毎日の作業であればすこし手間がかかります。
条件付き書式を使って、自動的に各セルごとに左隣のセルの値によって色を塗る方法をご紹介します。
条件付き書式の簡単な設定方法
条件付き書式に入れる式
「左隣のセルと比較して増えて(減って)いたら」
という条件であれば、下記の式をコピーで条件付き書式に入れればOKです。
条件付き書式に入れる数式(表示上複数行に見えても、実際には改行はありません) 左隣のセルより増えていたら・・・ =OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0, -1)<INDIRECT(ADDRESS(ROW(),COLUMN())) 左隣のセルより減っていたら・・・ =OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0, -1)>INDIRECT(ADDRESS(ROW(),COLUMN()))
上記式はOFFSET関数を使って、比較対象のセルを基準となるセル(色を塗る)セルから一つ左と設定しています。
INDIRECT(ADDRESS(ROW(),COLUMN()) ←基準となるセルの値
OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0, -1) ←左隣のセルの値
ひとつ上との比較:0, -1の部分を-1,0にします。
ひとつ右との比較:0, -1の部分を0,1にします。
利用している関数
OFFSET(基準,行数,列数,高さ,幅)
OFFSET関数は基準としたセルから行数、列数などを指定した分移動したセルの値を返します。
=OFFSET(C4, 0, -1) であれば、この0,-1がC4セルの左隣ということを指定してます。
INDIRECT(参照文字列,参照形式)
INDIRECT関数は、参照文字列の項目で指定したセル位置の値を返します。
ADDRESS(行番号,列番号 [,参照の種類,参照形式,シート名])
ADDRESS関数では、行番号、列番号として指定したセルの参照を文字列の形式で返します。
つまり、ADDRESS(2,2)は$B$2を返します。
=ROW()
参照しているセルの行番号を返します。
()の中が空白であれば、そのセルの行番号、=ROW(B2)とすれば2が返ります。
=COLUMN()
参照しているセルの列番号を返します。
()の中が空白であれば、そのセルの列番号、=ROW(B2)とすれば2が返ります。
コメント