別のセルに基づくExcelの条件付き書式設定式

  • これを共有
Michael Brown

このチュートリアルでは、Excelの条件付き書式の魅力的な世界を探求していきます。 この分野にあまりなじみがない方は、まず前回の記事に目を通して、基本を蘇らせてください - Excelで条件付き書式を使用する方法。

今日は、Excelの条件付き書式を使って、指定した値や他のセルの値に基づいて個々のセルや行全体をフォーマットする方法について説明します。 これはExcelの条件付き書式の高度な曲芸と考えられており、一度マスターすれば、スプレッドシートのフォーマットを通常の用途よりはるかに押し上げるのに役立ちます。

    別のセルの値を基にしたExcelの条件付き書式設定

    Excelにあらかじめ用意されている条件付き書式(データバー、カラースケール、アイコンセットなど)は、主にセル自身の値に基づいて書式を設定することを目的としています。 別のセルに基づいて条件付き書式を適用したり、1つのセルの値に基づいて行全体を書式設定したい場合は、数式を使用する必要があります。

    そこで、数式を使ったルールの作り方を確認し、具体的な作業のための数式例について説明した後に、数式を使ったルールの作り方を紹介します。

    数式をもとにした条件付き書式ルールを作成する方法

    Excel 2010からExcel 365のいずれかのバージョンで、数式に基づく条件付き書式ルールを設定するには、次の手順を実行します。

    1. 条件付き書式を行に適用する場合は、1つの列、複数の列、または表全体を選択することができます。

      ヒント:将来的にデータを追加する予定で、新しいエントリに条件付き書式ルールを自動的に適用させたい場合は、次のいずれかを実行します。

      • セル範囲を表に変換する( タブを挿入する>テーブル この場合、すべての新しい行に条件付き書式が自動的に適用されます。
      • データの下にある空の行をいくつか選択します。例えば、100個の空白行です。
    2. について ホーム タブで スタイル グループをクリックします。 条件付き書式設定> 新しいルール...

    3. での 新しい書式ルール を選択します。 数式を使用して、どのセルをフォーマットするかを決定する .
    4. 対応するボックスに計算式を入力します。
    5. をクリックします。 フォーマット... ボタンをクリックして、カスタムフォーマットを選択します。

    6. を切り替えます。 フォント , ボーダー 塗りつぶし タブをクリックし、フォントのスタイル、パターンの色、塗りつぶしの効果など、さまざまなオプションを試して、最適なフォーマットを設定してください。 標準のパレットで十分でない場合は、次のようにクリックします。 もっと色を... をクリックし、RGBまたはHSLでお好みの色を選択します。 完了したら よっしゃー ボタンをクリックします。

    7. を確認してください。 プレビュー セクションに希望するフォーマットが表示されたら、それをクリックします。 よっしゃー ボタンをクリックして、ルールを保存します。 フォーマットのプレビューに問題がある場合は、[OK]をクリックしてください。 フォーマット... ボタンをもう一度押して、編集を行います。

    ヒント 条件付き書式を編集する必要があるときは、F2キーを押してから、矢印キーを使って数式内の必要な場所に移動します。 F2キーを押さずに矢印操作を行うと、挿入ポインタを移動するだけではなく、数式内に範囲が挿入されます。 特定のセル参照を数式に追加するには、F2キーを2回目押して、そのセルをクリックします。

    Excelの条件付き書式設定の例

    別のセルをもとにExcelの条件付き書式を作成し、適用する方法がわかったところで、実際にExcelのさまざまな数式をどのように使うか見ていきましょう。

    ヒント:Excelの条件付き書式を正しく動作させるために、以下の簡単なルールを常に守ってください。

    値(数値や文字)を比較するための計算式

    ご存知のように、Microsoft Excel には、指定した値より大きい、小さい、または等しい値でセルをフォーマットするための、すぐに使えるルールがいくつか用意されています ( 条件付き書式設定>セルを強調表示するルール ただし、特定の列や行全体を条件付きでフォーマットする場合は、これらのルールは機能しません。 別の列のセルの値に基づいています。 この場合、類似の数式を使用します。

    コンディション 計算式の例
    等しい =$B2=10
    イコールではない =$B210
    より大きい =$B2>10
    以上 =$B2>=10
    未満 =$B2<10
    以下 =$B2<=10
    =AND($B2>5, $B2<10)

    以下のスクリーンショットは、その例です。 計算式より大きい この式はA列($A$2:$A$8)だけに適用されますが、テーブル全体(この例では$A$2:$E$8)を選択すると、C列の値に基づいて行全体が強調表示されることに注意してください。

    同じように、2つのセルの値を比較する条件付き書式ルールを作成することができます。 たとえば、次のようなものです。

    =$A2<$B2 - A列の値がB列の対応する値より小さい場合、セルまたは行をフォーマットする。

    =$A2=$B2 - A列とB列の値が同じ場合、セルまたは行をフォーマットする。

    =$A2$B2 - A列の値がB列の値と異なる場合、セルまたは行をフォーマットする。

    下のスクリーンショットにあるように、これらの数式は数値だけでなく、テキスト値に対しても機能します。

    AND式とOR式

    2つ以上の条件に基づいてExcelの表をフォーマットしたい場合は、=ANDまたは=OR関数のいずれかを使用します。

    コンディション 商品説明
    両方の条件を満たす場合 =AND($B2<$C2, $C2<$D2) B列の値がC列の値より小さい場合、セルをフォーマットする。 C列の値がD列の値より小さい場合。
    いずれかの条件を満たした場合 =OR($B2<$C2, $C2<$D2) B列の値がC列の値より小さい場合、セルをフォーマットする。 または C列の値がD列の値より小さい場合。

    以下のスクリーンショットでは、数式を使用しています。 =AND($C2>0, $D2="ワールドワイド") は、在庫数(C列)が0より大きい場合、および製品が世界中に出荷されている場合(D列)に行の背景色を変更します。 この式は、以下のように動作することに注意してください。 テキスト値 と同時に 計数 .

    もちろん、ANDやORの式に2つ、3つ、あるいはそれ以上の条件を使うことができます。 実際にどのように機能するかは、「ビデオ:別のセルに基づく条件付き書式設定」をご覧ください。

    以上が、Excelで使う基本的な条件付き書式です。 では、もう少し複雑で、はるかに興味深い例について考えてみましょう。

    空白セルと非空白セルに対する条件付き書式設定

    Excel で空のセルとそうでないセルの書式を設定する方法は、誰もが知っていることだと思います。 を含むセルのみをフォーマットする" を入力し、どちらかを選択します。 ブランク または ブランクなし .

    しかし、ある列のセルに対応する別の列のセルが空だったり、空でない場合に、そのセルの書式を設定したい場合はどうしたらよいでしょうか。 この場合、再びExcelの数式を利用する必要があります。

    ブランクの計算式 : =$B2="" - B列の対応するセルが空白の場合、選択されたセル/行をフォーマットします。

    無記入の場合の計算式 : =$B2"" - B列の対応するセルが空白でない場合、選択されたセル/行をフォーマットします。

    注:上記の数式は、「視覚的に」空のセル、または空ではないセルに対して機能します。 例えば、空の文字列を返す何らかのExcel関数を使用した場合、以下のようになります。 =if(false, "OK", "") で、そのようなセルを空白として扱いたくない場合は、代わりに次の数式を使用します。 =isblank(A1)=true または =isblank(A1)=false で、それぞれ空白セルと非空白セルをフォーマットします。

    そして、上記の数式が実際にどのように使われるかの例です。 例えば、列(B)に " 発売日 " と、もう一つの欄(C) " です。 配送 「この2つの列は、売上と納品があった場合のみ値を持つので、売上があった場合は行全体をオレンジ色に、納品があった場合は該当する行を緑色にしたい。 そのためには、以下の数式で条件付き書式ルールを2つ作成する必要がある。

    • オレンジ色の行(B列のセルは空ではない)。 =$B2""
    • 緑色の行(B列とC列のセルは空ではない)。 =and($b2"", $c2"")

    もうひとつ、2つ目のルールを一番上に移動し、その中で 真であれば停止 このルールの横にあるチェックボックスをオンにします。

    この場合、「Stop if true」オプションは不要であり、このオプションがあってもなくてもルールは機能します。 将来、他のルールを追加して、既存のルールと衝突する可能性がある場合に備えて、念のためこのボックスをチェックしておくとよいかもしれません。

    詳しくは、Excelの空白セルに対する条件付き書式設定をご覧ください。

    テキスト値を扱うExcelの計算式

    同じ行の別のセルが特定の単語を含むときに、特定の列をフォーマットしたい場合は、前の例で説明した数式を使用できます(=$D2="Worldwide")。 ただし、これは次の場合にのみ機能します。 せいごう .

    について 部分一致 の場合は、SEARCH(大文字小文字を区別しない)またはFIND(大文字小文字を区別する)のいずれかを使用する必要があります。

    例えば、D列の対応するセルに""が含まれている場合、選択したセルまたは行をフォーマットする。 ワールドワイド この式は、指定した文字列がセル内のどこにあっても、" "を含むそのようなセルをすべて見つけます。 全世界に発送 ", " を除く全世界。 " など

    =SEARCH("ワールドワイド", $D2)>0

    選択したセルや行の内容が検索文字列で始まる場合に影をつけたい場合は、こちらをご利用ください。

    =SEARCH("ワールドワイド", $D2)>1

    重複をハイライトするExcelの計算式

    値が重複しているセルを条件付きでフォーマットする場合、以下の定義済みルールを使用できます。 条件付き書式設定> ハイライトセルのルール> 値の重複... この機能の詳しい使い方は、次の記事「Excelで重複を自動的にハイライトする方法」を参照してください。

    しかし、場合によっては、他の列で重複する値が発生したときに、選択した列や行全体に色を付けると、データの見栄えが良くなります。 この場合、再びExcelの条件付き書式を採用する必要がありますが、今回は、そのために COUNTIF この関数は、ご存知のように、指定された範囲内で一つの基準を満たすセルの数を数えるものです。

    1回目を含む重複を強調表示

    =COUNTIF($A$2:$A$10,$A2)>1 - この式は、A列の指定された範囲(この例ではA2:A10)において、初出も含めて重複する値を検出します。

    テーブル全体にルールを適用すると、下のスクリーンショットのように、行全体がフォーマットされます。 このルールでは、一応、フォントの色も変えてみました : )

    1回目の発生がない重複を強調表示

    最初の出現を無視し、それ以降の重複する値のみを強調表示するには、次の式を使用します。 =COUNTIF($A$2:$A2,$A2)>1

    Excelで連続した重複を強調表示する

    連続した行の重複部分のみを強調表示したい場合は、以下の方法で行います。 この方法は、数値、テキスト値、日付など、あらゆるデータ型に対して有効です。

    • 重複を強調したい列を選択します。 カラムヘッダなし .
    • 簡単な数式を使って、条件付き書式ルールを作成します。

      ルール1(青色)。 =$A1=$A2 - は、2回目の発生と、それ以降の発生がある場合は、すべてハイライト表示されます。

      ルール2(緑)。 =$A2=$A3 - は1回目の発生を強調表示します。

    上記の数式で、A は重複をチェックしたい列、$A1 は列のヘッダー、$A2 はデータのある最初のセルです。

    重要! 数式が正しく動作するためには、特に2つの異なる色を使用する場合、2番目以降の重複をハイライトするルール1がリストの最初のルールであることが重要です。

    重複する行を強調表示する

    もし、2つ以上のカラムに重複する値があるときに条件付き書式を適用したい場合は、次のような簡単な式でキーカラムの値を連結するカラムをテーブルに追加する必要があります。 =A2&B2 その後、COUNTIF式のいずれかのバリエーションを使用して、重複(1回目の出現がある場合とない場合)のルールを適用します。 もちろん、ルール作成後に追加の列を非表示にすることも可能です。

    また、1つの数式で複数の条件を指定できるCOUNTIFS関数も使用できます。 この場合、ヘルパーカラムは必要ありません。

    この例では、重複する行を強調するために 1回目の発生で のように、以下の式でルールを作成します。

    =COUNTIFS($A$2:$A$11, $A2, $B$2:$B$11, $B2)>1

    重複する行を強調表示する 1回目の発生がない場合 は、この式を使います。

    =COUNTIFS($A$2:$A2, $A2, $B$2:$B2, $B2)>1

    2つの列を比較し、重複がないかを確認する

    Excelで最も頻繁に行われる作業の1つは、2つの列に重複する値がないか確認することです。 つまり、両方の列に存在する値を見つけ、強調表示します。これを行うには、各列に対して、以下の組み合わせでExcelの条件付き書式ルールを作成する必要があります。 =ISERROR() =MATCH() の機能を持つ。

    A列の場合。 =iserror(match(a1,$b$1:$b$10000,0))=false

    B列の場合。 =iserror(match(b1,$a$1:$a$10000,0))=false

    注:このような条件式が正しく動作するためには、例えば、列全体にルールを適用することが非常に重要です。 =$A:$A =$B:$B .

    以下のスクリーンショットでは、E列とF列の重複をハイライトすることで、実用的な使用例を見ることができます。

    このように、Excelの条件付き書式は重複をうまく処理しますが、より複雑なケースでは、Excelの1つのシートまたは2つのスプレッドシート間で重複を検索、ハイライト、削除するように設計されたアドインであるDuplicate Removerを使用することをお勧めします。

    平均値より上または下の値を強調するための数式

    複数の数値データのセットを扱う場合は アベレージ() 関数は、値が列の平均より下または上にあるセルをフォーマットするのに便利でしょう。

    たとえば、次のような数式を使うことができます。 =$E2 を使うと、下のスクリーンショットのように、販売数が平均より少ない行を条件付きでフォーマットすることができます。 もし、その逆、つまり平均より多い商品を陰にしたい場合は、数式中の「"」を置き換えてください。 =$E2>AVERAGE($E$2:$E$8)です。 .

    Excelで最も近い値を強調表示する方法

    Excelの条件付き書式を使って、ゼロに最も近い数字をハイライトする方法はありますか? これは、ブログの読者であるジェシカが知りたかったことです。 質問は非常に明確で簡単ですが、答えはコメント欄には長すぎるため、ここに解決策が掲載されています :)

    例1.完全一致を含む、最も近い値を探す

    この例では、0に最も近い数値を探してハイライトします。 データセットに0が1つ以上含まれている場合は、そのすべてがハイライトされます。 0がない場合は、正または負のどちらか一方に最も近い値がハイライトされます。

    まず、ワークシートの空のセルに次の数式を入力します。 この数式は、指定した範囲内で指定した数値に最も近い数値を求め、その数値の絶対値を返します(絶対値とは符号を除いた数値のことです)。

    =min(abs(b2:d13-(0)))

    上記の式で、B2:D13はセルの範囲、0は最も近い値を探したい数値です。 例えば、5に最も近い値を探している場合、式は次のようになります。 =min(abs(b2:d13-(5)))

    注)本書は 配列式 そのため、単純な Enter ストロークではなく、Ctrl + Shift + Enter を押して完了させる必要があります。

    そして今度は、B3を範囲の右上のセル、$C$2を上記の配列式のセルとして、以下の式で条件付き書式規則を作成します。

    =OR(B3=0-$C$2,B3=0+$C$2)

    配列式を含むセル($C$2)のアドレスは一定なので、絶対参照の使用に注意してください。 また、0を最も近い値を強調したい数値に置き換える必要があります。 たとえば、5に最も近い値を強調したい場合、数式は次のように変更されます。 =OR(B3=5-$C$2,B3=5+$C$2)

    例2:完全一致ではないが、最も近い値を強調表示する場合

    完全一致を強調したくない場合は、最も近い値を見つけ、完全一致を無視する別の配列式が必要です。

    例えば、次の配列式は、指定された範囲の中で0に最も近い値を求めますが、0があれば無視します。

    =MIN(ABS(B3:C13-(0))+(10^0*(B3:C13=0)))

    配列の数式を入力し終えたら、Ctrl + Shift + Enterキーを忘れずに押してください。

    条件付き書式の計算式は、上記の例と同じです。

    =OR(B3=0-$C$2,B3=0+$C$2)

    しかし、セルC2の配列式は完全一致を無視するので、条件付き書式ルールではゼロも無視され、最も近い一致である値0.003が強調表示されます。

    Excelのシート上で他の数値に最も近い値を見つけたい場合は、配列と条件付き書式の両方で「0」を必要な数値に置き換えるだけです。

    このチュートリアルで学んだ条件付き書式が、あなたが取り組んでいるどんなプロジェクトでも、その意味を理解するのに役立つことを願っています。 もっと例が必要な場合は、次の記事をチェックしてください。

    • セルの値に基づいて行の色を変更するには
    • Excelの日付の条件付き書式設定
    • Excelで行と列の色を交互に変更する
    • セルの値に基づいて背景色を変更する2つの方法
    • Excelで色のついたセルを数える、合計する

    Excelの条件付き書式が正しく機能しないのはなぜですか?

    条件付き書式が正しく設定されているにもかかわらず、期待通りに動作しない場合、動揺しないでください!ほとんどの場合、Excelの条件付き書式の奇妙なバグが原因ではなく、一見してわからない小さなミスが原因です。 以下の6つの簡単なトラブルシューティングを試してみてください。きっとあなたの数式を動作させることができます。

    1. 絶対 & 相対セルアドレスを正しく使用する。 100%のケースで有効な一般規則を導き出すのは非常に困難ですが、多くの場合、セル参照に絶対列($付き)、相対行($なし)を使用します(例)。 =$A1>1 .

      式にご留意ください。 =A1=1 , =$A$1=1 =A$1=1 どれが正しいかわからない場合は、すべて試してみてください : ) 詳しくは、Excelの条件付き書式設定におけるセルの相対参照と絶対参照をご覧ください。

    2. 適用範囲を確認する。 条件付き書式設定ルールが正しいセル範囲に適用されているかどうかを確認します。 経験則では、書式設定するすべてのセル/行を選択しますが、列ヘッダーは含めないでください。
    3. 左上のセルの計算式を書いてください。 条件付き書式のルールでは、セル参照は適用範囲の左上のセルに対する相対的なものです。 ですから、条件付き書式は常にデータのある1行目に対して記述してください。

      例えば、データが2行目から始まる場合、次のように記述します。 =A$2=10 で値が10に等しいセルを強調表示します。 全段 よくある間違いは、常に最初の行への参照を使用することです(例. =A$1=10 このような場合、ルールは機能しているが、フォーマットされた値が本来の行にないことが最も顕著に表れます。

    4. 作成したルールを確認します。 条件付き書式ルールマネージャでルールを再確認してください。 時々、何の理由もなく、Microsoft Excelが作成したルールを歪めてしまうことがあります。 そこで、ルールが機能していない場合、次のページにアクセスしてください。 条件付き書式設定> ルールの管理 をクリックし、数式と適用範囲の両方を確認してください。 ウェブや他の外部ソースから数式をコピーした場合は ちょくせつきょうてい が使用されます。
    5. 罫線コピー時にセル参照を調整する。 フォーマットペインターを使用してExcelの条件付き書式をコピーした場合、数式内のすべてのセル参照を調整することを忘れないでください。
    6. 複雑な数式をシンプルな要素に分割する。 複数の異なる関数を含む複雑なExcelの計算式を使用する場合は、単純な要素に分割し、各関数を個別に検証してください。

    最後に、すべての手順を試したけれども、条件付きフォーマットのルールがまだ正しく動作していない場合は、コメントで私に一報を入れてください、一緒に解決しましょう :)

    次回は、Excelの日付の条件付き書式の機能についてご紹介します。 それではまた来週、よろしくお願いします。

    Michael Brown は、ソフトウェア ツールを使用して複雑なプロセスを簡素化することに情熱を注ぐ熱心なテクノロジー愛好家です。テクノロジー業界で 10 年以上の経験があり、Microsoft Excel と Outlook、さらに Google Sheets と Docs のスキルを磨いてきました。 Michael のブログは、彼の知識と専門知識を他の人と共有することに特化しており、生産性と効率を向上させるためのわかりやすいヒントとチュートリアルを提供しています。経験豊富なプロフェッショナルであろうと初心者であろうと、Michael のブログでは、これらの重要なソフトウェア ツールを最大限に活用するための貴重な洞察と実践的なアドバイスを提供しています。