Office Hack

Excelの条件付き書式でIF/COUNTIF関数と組み合わせる方法

  • by yoshihiro
  • Release
  • Update

Excelで条件によって書式(文字色や背景色)を自動的に変更したいと思ったことはないでしょうか?そんなときに便利なのが条件付き書式です。特定の文字列を含むセルだけに書式を適用するなどができます。

さらに条件付き書式では数式を使った条件を指定することができるので関数も自由に使用することができます。その中でもよく使うのがIF関数やCOUNTIF関数です。関数と組み合わせることで既存のルールにない条件にも対応することが可能ですのでぜひ使ってみましょう。

この記事では条件付き書式をIF関数、COUNTIF関数と組み合わせた便利方法をご紹介していきます。

条件付き書式をIF関数と組み合わせる方法

条件付き書式をIF関数と組み合わせる基本の使い方をご紹介します。IF関数と組み合わせることで独自の条件に合ったセルだけに書式を適用することができます。

条件付き書式の元となる表

今回、条件付き書式とIF関数の組み合わせを説明する上で、上記のような教科別に点数が書いてある成績表を用います。条件付き書式とIF関数を使って得点が40点以下のセルを赤色に塗りつぶします。

範囲の選択

まず条件付き書式を設定する範囲を選択します。C3からG7セルまでの範囲を選択します。

ルールの管理

【ホーム】タブ、【条件付き書式】、【ルールの管理】の順に選択します。

新しいルールの作成

「条件付き書式ルールの管理」ダイアログボックスが表示するので【新規ルール】ボタンを押します。

関数の入力

「書式ルールの編集」ダイアログボックスが表示されたら、【数式を使用して、書式設定するセルを決定】を選択し、「次の数式を満たす場合に値を書式設定」に『=IF(C3<41,TRUE,FALSE)』を入力し、【書式】ボタンを押します。

ここでIF関数を使用しました。条件付き書式のルールを作成する中でIF関数を使用します。IF関数は「=IF(条件式,真の場合,偽の場合)」のように記述します。40点以下という条件にしたいため「C3<41」としています。

条件式では比較演算子という「>」や「=」を使用することができます。詳しくは下記の表をご覧ください。

条件式 意味
A > B AはBよりも大きい
A >= B AはB以上
A < B AはBよりも小さい
A <= B AはB以下
A = B AはBと等しい
A <> B AとBは等しくない
色の塗りつぶし

「セルの書式設定」ダイアログボックスが開いたらタブから【塗りつぶし】を選択し、【赤色】を選んで【OK】ボタンを押します。

条件の設定

設定した書式が問題なければ【OK】ボタンを押します。

ルールの追加

「条件付き書式ルールの管理」ダイアログボックスで【適用】ボタンを押します。

ルールの適用

設定した条件付き書式の内容でセルが赤く塗りつぶされていることが確認できます。【OK】ボタンを押してダイアログボックスを消します。

条件付き書式とIF関数の結果

40点以下のセルが赤く塗りつぶされました。このように条件付き書式のルール作成時にIF関数を組み合わせることで特定の条件に合ったセルだけに書式を適用することができます。

条件付き書式をCOUNTIF関数と組み合わせる方法

次に条件付き書式をCOUNTIF関数と組み合わせる使い方を3つご紹介します。

重複しているデータのセルを色付けする

COUNTIF関数と条件付き書式を組み合わせることで重複データのセルに自動で色を付けることができます。重複データに色を付けると、どのデータが重複しているのか一目でわかるので便利です。

重複データ

上記のような商品と価格のリストを用意しました。この中から重複しているデータに色を付けます。

範囲の選択

まず条件付き書式を設定する範囲を選択します。B3からB14セルまでの範囲を選択します。

ルールの管理

【ホーム】タブ、【条件付き書式】、【ルールの管理】の順に選択します。

新しいルールの作成

「条件付き書式ルールの管理」ダイアログボックスが表示するので【新規ルール】ボタンを押します。

数式の入力

「書式ルールの編集」ダイアログボックスが表示されたら、【数式を使用して、書式設定するセルを決定】を選択し、「次の数式を満たす場合に値を書式設定」に『=COUNTIF($B$3:$B$14,B3)>1』を入力し、【書式】ボタンを押します。

ここでCOUNTIF関数を使用しました。COUNTIF関数は指定した検索条件に一致するセルの個数を返します。書式は「=COUNTIF(範囲,検索条件)」のように記述します。範囲が「$B$3:$B$14」、検索条件は「B3」とし、一致する個数が1より大きければ色を付けるようにしています。

色の設定

「セルの書式設定」ダイアログボックスが開いたらタブから【塗りつぶし】を選択し、【黄色】を選んで【OK】ボタンを押します。

OKボタンを押す

設定した書式が問題なければ【OK】ボタンを押します。

適用する

「条件付き書式ルールの管理」ダイアログボックスで【適用】ボタンを押します。

OKボタンを押す

設定した条件付き書式の内容でセルが黄色で塗りつぶされていることが確認できます。【OK】ボタンを押してダイアログボックスを消します。

重複したデータの色付け

重複している「りんご」のセルが黄色で塗りつぶされました。このように条件付き書式のルール作成時にCOUNTIF関数を組み合わせることで重複しているセルだけに書式を適用することができます。

重複しているデータの2番目以降のセルに色付けする

上記で重複しているデータのセルに色付けをしましたが、重複しているデータの最初のデータについては色付けは必要ない場合があります。例えば重複している2番目以降のセルを削除したいときに間違って最初のデータも消さないようにするためです。こちらも同じくCOUNTIF関数を使用します。

数式の入力

上記でご紹介した「重複しているデータのセルを色付けする」と同じデータを用います。「書式ルールの編集」ダイアログボックスを表示するまでは一緒です。やり方については上記をご参考ください。

今度は「次の数式を満たす場合に値を書式設定」に『=COUNTIF($B$3:B3,B3)>1』を入力し、【OK】ボタンを押します。

重複しているデータのセルすべてに色付けする方法と範囲が異なります。今回は範囲を「$B$3:B3」としており、範囲の始点「$B$3」は絶対参照で指定し、終点は「B3」としています。この場合、範囲の先頭から何番目に現れた重複データなのかをカウントすることができます。

ルールの適用

「条件付き書式ルールの管理」ダイアログボックスで【適用】ボタンを押し、設定した条件付き書式の内容でセルが黄色で塗りつぶされていることが確認できます。【OK】ボタンを押してダイアログボックスを消します。

ルールの適用結果

重複している「りんご」の2番目のセルが黄色で塗りつぶされました。COUNTIF関数の範囲を変更することで重複しているすべてのセルを色を付けたり、○○番目以降に現れたセルに色を付けたりできます。

別テーブルのデータをもとに祝日の曜日に色を付ける

今まではCOUNTIF関数の範囲として同じテーブル内を指定していましたが、別テーブルのデータも指定することができます。カレンダーの曜日で祝日だけ色を変更する例をやってみましょう。

カレンダー

1つのシートにカレンダーと祝日の2つのテーブルがあります。祝日の内容に基づいてカレンダーの曜日の書式を変更してみます。

範囲の選択

まず条件付き書式を設定する範囲を選択します。曜日列のC3からC33セルまでの範囲を選択します。

ルールの管理

【ホーム】タブ、【条件付き書式】、【ルールの管理】の順に選択します。

新しいルールの作成

「条件付き書式ルールの管理」ダイアログボックスが表示するので【新規ルール】ボタンを押します。

書式の設定

「書式ルールの編集」ダイアログボックスが表示されたら、【数式を使用して、書式設定するセルを決定】を選択し、「次の数式を満たす場合に値を書式設定」に『=COUNTIF($E$3:$F$4,$B3)=1』を入力し、【書式】ボタンを押します。

範囲を「$E$3:$F$4」とし祝日のテーブルを指定しています。検索条件は「$B3」とし、日付列を指定しています。一致したら設定した書式が適用されるようにしています。

書式の設定

「セルの書式設定」ダイアログボックスが開いたらタブから【フォント】を選択し、スタイルから【太字】、色から【オレンジ】を選んで【OK】ボタンを押します。

OKボタンを押す

設定した書式が問題なければ【OK】ボタンを押します。

適用ボタンを押す

「条件付き書式ルールの管理」ダイアログボックスで【適用】ボタンを押します。

ルール適用の確認

設定した条件付き書式の内容でセルの文字が太字のオレンジ色になっていることが確認できます。【OK】ボタンを押してダイアログボックスを消します。

ルール適用の結果

カレンダーの祝日の曜日に色を付けることができました。このようにCOUNTIF関数を指定するときに別テーブルを範囲としてカウントすることができます。今回は同じシートですが別シートを範囲とすることもできるので試してみましょう。

その他、様々な条件付き書式の使い方

よろしければ参考にならなかった点をお聞かせください

Page Top