Menu

Excelの条件付き書式: 数式のルールと使い方の例

条件付き書式は、条件がTRUEのときにセルに色を付けます。用意されたルールは ホーム > 条件付き書式 から、行全体、期限切れの日付、文字列の一致には 新しいルール > 数式を使用して で=$C2>100のようなルールを使います。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

条件付き書式は、条件がTRUEのときにセルの見た目(塗りつぶし、文字の色、罫線)を変えます。セルを選択してホーム > 条件付き書式から用意されたルールを選ぶか、新しいルール > 数式を使用して、書式設定するセルを決定を選んで=$C2>100のような数式を入力します。この数式は、C列の金額が100を超える行すべてに色を付けます。

100を超える注文
A1
ABCDE
1OrderRegionAmountDueStatus
21001North1202026-03-02Paid
31002South852026-03-10Open
41003North2402026-03-12Open
51004East602026-03-20Paid
61005South1502026-03-25Open
71006East952026-03-08Open
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

2、4、6行目が強調されます。C3を100に変えても何も起きません。ルールは「100より大きい」だからです。101に変えると3行目に色が付きます。ルールはグリッドの下に表示されていて、クリックして編集できます。

条件付き書式のルールを追加する方法

メニューには、よくあるケース向けの既製のルールがあります:

  • セルの強調表示ルール:指定の値より大きい、指定の値より小さい、指定の範囲内、指定の値に等しい、文字列、日付、重複する値。
  • 上位/下位ルール:上位10項目、上位10%、下位10項目、下位10%、平均より上、平均より下(10は変えられます)。
  • データバー、カラースケール、アイコンセット:条件を判定する代わりに、各セルをその大きさで塗り分けます。

それ以外は数式のルールを書きます:

  1. 書式を設定するセルを、左上のセルがアクティブセルになるように左上から選択します。上のシートならA2:E7です。
  2. ホーム > 条件付き書式 > 新しいルールを開きます。
  3. 数式を使用して、書式設定するセルを決定を選びます。
  4. アクティブセルについての数式を入力します。TRUEかFALSEを返す必要があります:=$C2>100。
  5. 書式をクリックし、塗りつぶしか文字の色を選んで、OKを2回押します。

Excelは、下や右にコピーした数式と同じように数式を範囲の各セルに合わせて動かすので、ドル記号で各セルが何を見るかが決まります。$C2は「C列の、この行」という意味で、列は固定され、行は動きます。このページのルールは、その欄に入力するのとまったく同じ数式です。

別のセルの値より大きいセルに色を付ける

数値を入力する代わりにセルを指すルールにすると、しきい値を変えやすくなります。下のルールはAmountのセルだけに色を付け、それぞれをF2と比べます。$F$2の$記号によって、どのセルもF2を見るようになります。

上限を超える金額
F2
ABCDEF
1OrderRegionAmountLimit
21001North120100
31002South85
41003North240
51004East60
61005South150
71006East95
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

C2、C4、C6に色が付きます。F2に90と入力するとC7も加わり、200と入力するとC4だけが残ります。用意されたルールセルの強調表示ルール > 指定の値より大きいも、欄にセル参照(=$F$2)を受け付けます。

文字列をもとに行に色を付ける

文字列の条件は引用符で囲みます。=$B2="North"は、地域がNorthの行それぞれに色を付けます。=での比較は大文字と小文字を区別しないので、northも一致します。単語を含む文字列に一致させるには、ISNUMBERの中でSEARCHを使います。SEARCHは単語の位置を返し、ないとエラーを返すので、ISNUMBERがそれをTRUEかFALSEに変えます。

地域で行を、単語でメモを
A1
ABCD
1OrderRegionAmountNote
21001North120Paid on time
31002South85Late, called twice
41003North240
51004East60Paid late
61005South150Waiting for invoice
71006East95
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

2行目と4行目はNorthなので色が付き、D3とD5は「late」を含んでいます(1つはLate)。B7をNorthに変えると7行目も加わります。用意されたルールセルの強調表示ルール > 文字列は、選択したセルに対してSEARCHのルールと同じことをします。

期限切れの日付に色を付ける

未払いの注文は、期限が今日より前なら期限切れです。Excelではルールは=AND($E2="Open",$D2<TODAY())で、色は毎日更新されます。下のシートではTODAY()の代わりにG2の固定の日付を使っているので、いつ読んでも例は同じに見えます:=AND($E2="Open",$D2<$G$2)。

期限切れの未払い注文
G2
ABCDEFG
1OrderRegionAmountDueStatusToday
21001North1202026-03-02Paid2026-03-15
31002South852026-03-10Open
41003North2402026-03-12Open
51004East602026-03-20Paid
61005South1502026-03-25Open
71006East952026-03-08Open
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

G2が2026-03-15なら、3、4、7行目が期限切れです。2行目はもっと前の日付ですが支払い済みなので、ANDによって色が付きません。2つ目のルールは、次の7日以内に期限が来るDのセルに色を付けますが、まだありません。G2を2026-03-20に変えると、D6(期限2026-03-25)にそのルールで色が付きます。E3をPaidに変えると3行目が外れます。

数式を使わずに「今週」や「先月」を指定するなら、用意されたルールセルの強調表示ルール > 日付にその選択肢があります。

空白のセルや、値が欠けている行に色を付ける

=B2=""は、空のセル(と空の文字列を返す数式)でTRUEになります。行の中の1つのセルが空のときに行全体に色を付けるには、列の前に$を付けます:=$C2=""。用意されたルールは新しいルール > 指定の値を含むセルだけを書式設定 > 空白です。

金額のない行
A1
ABCD
1OrderRegionAmountStatus
21001North120Paid
31002SouthOpen
41003North240Open
51004EastPaid
61005South150Open
71006East95Open
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

3行目と5行目に色が付きます。C3に金額を入力すると、その行は元に戻ります。ここでは=ISBLANK($C2)も使えますが、ISBLANKは""を返す数式の入ったセルではFALSEになり、=$C2=""はどちらでもTRUEになります。

ルールが色を付けたものを数える

ルールは数を返しませんが、同じ条件をCOUNTIFSやSUMPRODUCTで使えば数えられます。上の節の期限切れの未払い注文をG2の日付で数えるには、条件が2つ必要です。StatusがOpenで、DueがG2より前であることです。

期限切れの注文を数える
G4
ABCDEFG
1OrderRegionAmountDueStatusToday
21001North1202026-03-02Paid2026-03-15
31002South852026-03-10Open
41003North2402026-03-12OpenOverdue
51004East602026-03-20Paid
61005South1502026-03-25Open
71006East952026-03-08Open
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: G4で、期限がG2の日付より前の未払い注文を数えてください。

答えは色の付いた行の数、3です。条件"<"&G2は、小なり記号とG2の日付をつないでいます。"<G2"と書くと、G2という文字列と比べることになります。こうした条件についてはCOUNTIFSのページで詳しく説明しています。

カラースケール、データバー、アイコンセット

この3つは、条件で切り替える代わりに、各セルをその値で塗り分けます。数値を選択し、ホーム > 条件付き書式から1つを選びます:

  • カラースケールは、最小の値の色から最大の値の色へと変わります(ギャラリーの最初のものは、最大の値を緑、中間を黄、最小を赤にします)。数値の表のヒートマップに向いています。
  • データバーは、各セルの中に、ほかの値と比べた大きさに応じた長さの棒を描きます。その他のルールで棒のみ表示にチェックを入れると、数値を隠せます。
  • アイコンセットは、値の前に矢印、旗、信号を置きます。既定では範囲を3等分します。

どれもしきい値を変えるには、ホーム > 条件付き書式 > ルールの管理 > ルールの編集を開きます。そこで各色やアイコンを、数値、パーセント、百分位、数式に結び付けられます。

よくある間違い: ドル記号の付け方

同じルールの3つの書き方を、A2:E7に適用すると、それぞれ違う動きをします:

ルール各セルが判定するもの結果
=$C2>100自分の行のC列金額に応じて行全体に色が付く
=C2>1002列右のセル。A2はC2を、B2はD2を判定するA列だけが金額に従う。BとCは常に色が付き(日付や文字列は100より大きいとみなされる)、DとEには付かない
=$C$2>100常にC2すべての行に色が付くか、どの行にも付かない
うっかり完全に固定した
A1
ABCDE
1OrderRegionAmountDueStatus
21001North1202026-03-02Paid
31002South852026-03-10Open
41003North2402026-03-12Open
51004East602026-03-20Paid
61005South1502026-03-25Open
71006East952026-03-08Open
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

C2が120なので、すべてのセルに色が付きます。C2を50に変えると、すべての色が一度に消えます。ルールをクリックして2の前の$を削除し=$C2>100にすると、色が再び各行に従います。どの部分を固定するかという同じ規則は、下にコピーする数式にも当てはまります。絶対参照のページで説明しています。

よくある質問

別のセルの値をもとに条件付き書式を設定するには?

色を付けるセルを選択し、ホーム > 条件付き書式 > 新しいルール > 数式を使用して、書式設定するセルを決定 を開き、選択範囲の最初のセルについて、別のセルを指す数式を書きます。=$C2>100は、その行のCが100を超えるときに行に色を付けます。

条件付き書式で行全体に色を付けるには?

1つの列ではなく表全体を選択し、判定するセルの列番号の前に$を付けます:=$E2="Open"。列は固定され、行番号は動くので、行のどのセルも同じセルを判定します。

条件付き書式で複数の条件を使うには?

1つの数式のルールの中でANDやORを使って組み合わせます。=AND($E2="Open",$D2<TODAY())は、期限を過ぎた未払いの注文に色を付けます。同じ範囲に別々のルールを複数設定するとすべて適用され、塗りつぶしのように同じ書式を設定する2つがあると、ホーム > 条件付き書式 > ルールの管理 で上にあるほうが優先されます。

特定の文字列を含むセルに色を付けるには?

ホーム > 条件付き書式 > セルの強調表示ルール > 文字列 を使うか、数式のルール=ISNUMBER(SEARCH("late",A2))を使います。これは大文字・小文字を問わずA2にlateが含まれるときにTRUEになります。

条件付き書式の数式が効かないのはなぜですか?

たいていはドル記号です。=$C$2>100はどのセルでもC2だけを判定し、行全体に=C2>100を使うとセルごとに違う列を判定します。また、数式が「ルールの管理」の「適用先」に表示された範囲の最初のセルについて書かれているかも確認してください。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める