Excel条件付き書式の使い方|自動で色をつけてミスを防ぐ実践テク
けんじさん、在庫表の「残り10個を切った商品」を毎回目で探して手作業で赤く塗ってるんですけど、これけっこう見落とすんですよね…
それ、条件付き書式を設定すれば自動でやってくれるよ。一度ルールを決めておけば、数字を打ち替えた瞬間に色が変わる。
え、手で塗る必要ないんですか!
ないない。しかも「色を塗る作業」が消えるだけじゃなくて、塗り忘れによる見落としがゼロになるのが一番大きいんだ。今回は基本から、行全体に色をつける応用まで解説していくね。
ピボットテーブルや関数がデータを「計算する」機能だとすれば、条件付き書式はデータを「見えるようにする」機能です。指定した条件に一致したセルの色や文字の書式を、Excelが自動で変えてくれます。
私が事務職として一番効果を実感したのがこの機能でした。数字そのものは合っているのに、大量の行の中から「異常な値」を見つけられずに報告が遅れる、というミスが一番多かったからです。塗るのを人間の目に任せている限り、この見落としはなくなりません。
条件付き書式でできること
条件付き書式は、大きく分けて次の3種類の見せ方があります。
| 種類 | 見え方 | 向いている場面 |
|---|---|---|
| セルの強調表示 | 条件に合うセルを塗りつぶし・文字色変更 | 在庫切れ、期限超過、重複データの発見 |
| データバー | セルの中に横棒グラフを表示 | 売上ランキング、達成率の大小比較 |
| カラースケール/アイコンセット | 値の大小を色の濃淡や記号で表現 | 全体の傾向や偏りをざっと把握する |
どれもホームタブの「条件付き書式」ボタンから設定します。難しい設定は不要で、最初の1つは1分もかからず作れます。

基本編:セルの強調表示ルール
一番よく使うのが「セルの強調表示ルール」です。手順は3ステップだけです。
- 色をつけたいセル範囲を選択する(例:在庫数が入っているD列全体)
- ホームタブ →「条件付き書式」→「セルの強調表示ルール」
- 「指定の値より小さい」を選び、値に
10、書式に「濃い赤の文字、明るい赤の背景」を指定してOK
これだけで、D列に10未満の数字が入った瞬間、そのセルが赤くなります。数値を書き換えれば色も即座に追随します。
同じメニューの中には「指定の値に等しい」「文字列を含む」「日付」「重複する値」などが並んでいます。特に**「重複する値」は名簿や商品コードのチェックで非常に役立ちます**。私は取引先リストを更新するとき、必ず先にこれをかけて二重登録を潰してから作業を始めるようにしています。VLOOKUPで照合する前に重複を除いておくと、原因不明のエラーに悩まされることが激減しました。
「上位/下位ルール」も一瞬で使える
「上位10項目」「上位10%」「平均より上」といったルールも、クリックだけで設定できます。売上表に「上位10項目」をかけると、上位の行だけが色づくので、順位を計算する関数を書かなくても主力商品がすぐ見つかります。
応用編:数式を使って行全体に色をつける
ここからが実務で本当に効いてくる部分です。標準のメニューでは「条件に合ったセル」しか色がつきませんが、数式ルールを使うと「条件に合った行の全体」を色づけできます。
手順は次のとおりです。
- 色をつけたい表全体を選択する(見出し行は除く。例:A2:E100)
- 「条件付き書式」→「新しいルール」→「数式を使用して、書式設定するセルを決定」
- 数式欄に
=$C2="未対応"と入力し、書式で塗りつぶし色を指定する
ポイントは $ の位置です。判定に使う列だけを絶対参照($C)にして、行番号は相対参照(2)のままにします。こうすると「各行のC列を見て判定する」という動きになり、条件に合った行がまるごと色づきます。

| 数式の書き方 | 動き |
|---|---|
=$C2="未対応" |
各行のC列が「未対応」なら、その行全体に書式 |
=C$2>200000 |
各列の2行目が20万超なら、その列全体に書式 |
=$C2 |
C列がTRUE(チェックボックスON)なら行全体に書式 |
ここで注意したいのが、選択範囲の左上のセルを基準に数式を書くというルールです。A2から選択したなら数式の行番号は 2 にします。ここを 1 や 3 にすると、1行ずれた場所に色がつくという分かりにくいバグになります。私も最初これで丸一日悩みました。「色がずれる=行番号の基準がずれている」と覚えておくと、原因にすぐ辿り着けます。
データバー・カラースケール・アイコンセットは「既定のまま」で使わない
セルの強調表示に慣れたら、次に触ってほしいのがデータバー・カラースケール・アイコンセットです。ただしこの3つには共通の落とし穴があります。既定では、基準が選択した範囲の中で相対的に決まるという点です。
たとえば売上にデータバーをかけると、その範囲の最大値がバーいっぱいの長さになります。つまり同じ「バーが半分」でも、範囲が変われば意味する金額が変わります。月ごとにシートを分けている表で、先月と今月のバーの長さを見比べて「今月は伸びた」と判断すると誤ります。私はこれで一度、会議で説明を訂正するはめになりました。
基準を固定したいときは、「条件付き書式」→「ルールの管理」→ ルールを編集して、最小値・最大値の種類を変更します。選べるのは「最小値/最大値」「数値」「パーセント」「百分位」「数式」です。目標額が決まっている表なら、最大値の種類を「数値」にして目標額そのものを入れておくと、バーの長さがそのまま達成率として読めるようになります。
| 使い分け | 設定 | 読み方 |
|---|---|---|
| 範囲の中の大小を見たいだけ | 既定(最小値/最大値) | 一番大きい行がバーいっぱい |
| 目標に対する進み具合を見たい | 最大値の種類を「数値」にして目標額を入力 | バーの長さ=達成率 |
| 極端な値に引っ張られたくない | 種類を「百分位」にする | 上位・下位の外れ値の影響を抑えられる |
データバーでマイナスの値を扱う表(前年比の増減など)では、ルールの編集画面にある「負の値と軸」から、マイナス側のバーの色と軸の位置を設定できます。既定でも左右に伸びますが、色を分けておくと増減がひと目で分かります。
アイコンセットも同様で、既定では33%・67%といった割合で自動的に3分割されます。進捗管理のように「80%以上なら○、50%以上なら△」と基準がはっきりしている表では、ルールの編集画面でしきい値を数値で指定してください。既定のままだと、全員の進捗が上がっても常に3分の1が赤いままになり、表として意味をなさなくなります。
ルールが増えて重くなる原因は、たいてい「コピー貼り付け」
条件付き書式を使い込むと、ある日「ルールの管理」を開いて驚くことがあります。同じ内容のルールが十数個、バラバラの適用先で並んでいるのです。
原因は行のコピー貼り付けです。書式ごと貼り付けると、条件付き書式もいっしょに運ばれ、適用先が違う別ルールとして新規に追加されます。相対参照を使った数式ルールならコピー先で式そのものもずれるので、Excelから見れば完全に別のルールになり、1本にまとまりません。これが繰り返されるとルールが分裂し、ファイルの動作が目に見えて重くなります。
対処は3つあります。
- 最初から適用先を広めに取る:実データが100行でも
A2:E1000のように余裕を持たせておけば、その範囲内での行の追加・コピーでルールが分裂しません(ただし列全体の指定は重くなるので避けます) - 貼り付け方を変える:行を複製するときは、貼り付けオプションで「値」または「書式なし」を選ぶと、条件付き書式を持ち込まずに済みます
- すでに増えてしまったら統合する:「ルールの管理」で分裂したルールをすべて削除し、残した1本の「適用先」を本来の範囲に書き直します
私は共有ファイルでこれをやられ続けた経験から、いまは配布する表の適用先をあらかじめ広めに設定してから渡すようにしています。使う人に「コピーの仕方に気をつけて」とお願いするより、作る側で壊れにくくしておくほうが確実でした。
優先順位と「条件を満たす場合は停止」を使いこなす
ルールを複数かけると、必ず競合が起きます。たとえば「10未満は赤」「上位10項目は緑」を同じ列にかけると、どちらにも当てはまる行が出てきます。
このとき効くのが**「ルールの管理」での並び順**です。一覧の上にあるルールほど優先され、書式が重ならない部分(塗りつぶしと文字色など)は下のルールの設定も一緒に適用されます。狙った色にならないときは、まず並び順を上下の矢印で入れ替えてみてください。
さらに、各ルールの右側にある**「条件を満たす場合は停止」**にチェックを入れると、そのルールに一致した行では、それより下のルールを一切適用しなくなります。「対象外の行はどのルールも効かせたくない」という場合に便利です。
私が進捗表でよく使う並びは、上から「完了ならグレー(条件を満たす場合は停止にチェック)」→「期限超過なら赤」→「今週が期限なら黄色」の3本です。完了行で止めておけば、終わった仕事が赤く光り続けることがありません。
つまずきやすいポイントと対処法
実際に使っていて詰まりやすいところを、原因とセットでまとめます。
| 症状 | 原因 | 対処 |
|---|---|---|
| 色が1行ずれる | 数式の行番号が選択範囲の先頭と不一致 | 選択範囲の左上セルの行番号に合わせる |
| 一部の行だけ色がつかない | 適用先の範囲が足りていない | 「ルールの管理」→「適用先」を修正 |
| 複数のルールが競合する | 上のルールが優先される | 「ルールの管理」で順序を入れ替える |
| ファイルが極端に重い | 列全体(100万行)に指定している | 適用先を実データの範囲に限定する |
| 見た目は正しいのに条件に合わない | 数値が文字列として入っている | セルの表示形式と入力値を確認 |
| 同じルールが何本も並んでいる | 書式ごとコピー貼り付けした | 削除して1本にし、適用先を広めに取り直す |
| 行を挿入すると色がつかない | 挿入位置が適用先の範囲外 | 「適用先」を余裕のある範囲に修正 |
| 印刷すると色が出ない | ページ設定が「白黒印刷」になっている | ページ設定→シート→白黒印刷のチェックを外す |
| 空白セルまで色がついてしまう | 空白は0や古い日付として判定される | =AND($D2<>"",条件) のように空白を除外する |
複数ルールを設定したときは、「条件付き書式」→「ルールの管理」で一覧を確認できます。ここでルールの順序を上下に入れ替えられ、「条件を満たす場合は停止」にチェックを入れると、それより下のルールを適用しないようにできます。ルールが増えてきたら、まずこの管理画面を開く癖をつけると混乱しません。
パフォーマンスの話も現実的に重要です。範囲指定を D:D のように列全体にすると、行数の多いブックでは目に見えて動作が重くなります。D2:D5000 のように実データ+余裕分で区切るのがおすすめです。
Googleスプレッドシートでの違い
Googleスプレッドシートにも同じ機能があり、考え方はほぼ共通です。違いは呼び名と操作場所です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| メニュー位置 | ホームタブ →条件付き書式 | 表示形式 →条件付き書式 |
| 数式ルールの名称 | 数式を使用して書式設定 | カスタム数式 |
| 設定画面 | ダイアログ | 画面右側のサイドパネル |
| ルールの削除 | ルールの管理から削除 | サイドパネルのゴミ箱アイコン |
数式の書き方(=$C2="未対応" のような $ の使い方)は同じなので、片方を覚えればもう片方でもそのまま通用します。私は社内共有の進捗表をスプレッドシートで作り、ステータス列が「完了」になったら行がグレーになるように設定しています。誰がどこまで進んだかを口頭で確認する回数が、はっきり減りました。

今日から使える設定例3つ
最後に、そのまま真似できる実用的な設定を挙げておきます。
- 期限が今日を過ぎたら赤くする:数式
=$D2<TODAY()を行全体に適用。未入力セルも赤くなるのが気になる場合は=AND($D2<>"",$D2<TODAY())にします - 土日の行に色をつける:数式
=WEEKDAY($A2,2)>=6を適用。日付から曜日を判定するので、日付を打ち替えても崩れません - 重複した入力を即座に知らせる:入力用の列を選択し「重複する値」を設定。入力中にその場で気づけます
どれも一度設定すればブックを開くたびに機能し続けます。ショートカットキーが「作業を速くする」テクニックだとすれば、条件付き書式は「作業そのものと確認の手間を消す」テクニックです。
まとめ
条件付き書式は、Excelの中でも設定コストに対する見返りが特に大きい機能です。要点を整理します。
- 基本は「セルの強調表示ルール」。範囲を選んで条件と色を選ぶだけで完了する
- 行全体に色をつけたいときは数式ルールを使い、判定する列だけ
$で固定する - 数式の行番号は、選択範囲の左上セルに合わせる(ずれの原因の大半がこれ)
- 適用先は列全体ではなく実データの範囲に限定する(動作が重くなるのを防ぐ)
- Googleスプレッドシートでは「カスタム数式」という名前だが、書き方は同じ
- データバーやアイコンセットは既定だと基準が範囲内で相対的に決まる。目標と比べたいなら種類を「数値」にして基準を固定する
- 同じルールが増殖する原因はコピー貼り付け。適用先を先に広めに取り、貼り付けは「値」または「書式なし」を選ぶ
- 競合したら「ルールの管理」で並び順を入れ替え、必要に応じて「条件を満たす場合は停止」を使う
手で色を塗る作業は、時間がかかるうえに塗り忘れが必ず起きます。ルール化してExcelに任せてしまえば、確認そのものが不要になります。
手で塗らなくていいどころか、見落としがなくなるっていうのが一番大きいですね…!さっそく在庫表に設定してみます。
まずは「10未満なら赤」みたいな単純なルールを1つ作ってみるのがおすすめだよ。慣れてきたら数式ルールで行全体に広げていこう。
最後までお読みいただきありがとうございました。
ご質問やご感想がありましたら、お問い合わせフォームよりお気軽にご連絡ください。