3/19/2019

Excel。複数条件で最初に登場するデータの行を塗りつぶす【Multiple conditions】

Excel。複数条件で最初に登場するデータの行を塗りつぶす

<条件付き書式+COUNTIFS関数>

重複しているデータのセルを塗りつぶすには、用意されている条件付き書式を使うことで簡単に設定することができますが、複数条件で塗りつぶしをしたい、あるいは、該当する行ごと塗りつぶししたい場合は、用意されている設定で条件付き書式を設定することができません。

今回の場合も、ちょっと複雑な条件付き書式の一つです。

やりたいことは、店舗名と顧客名が合致している、最初に登場したデータの行全体を塗りつぶしをしたいわけです。

5行目は、店舗名が「秋葉原」で顧客名が「内藤」になっていますが、6行目も同じ、店舗名が「秋葉原」で顧客名が「内藤」になっていますので、5行目は最初に登場したデータなので、セルを塗りつぶして、6行目は重複しているデータなので、セルは塗りつぶさずそのままにしてあります。

このように複数条件で条件付き書式を設定したい場合は、数式を使った条件でないと設定することができません。

では、どのような数式を作ったらいいのでしょうか?

複数条件での重複の有無を確認するには、COUNTIFS関数を使うことで判断させることができます。

D列にCOUNTIFS関数をつかって、数式を作って、動きを確認してみましょう。

D2をクリックして、COUNTIFS関数ダイアログボックスを表示しましょう。

検索条件範囲1は、$A$2:A2。
これは、A2を起点として、オートフィルで数式をコピーすると自動的に範囲選択を伸ばす方法ですね。

検索条件1は、$A2。
A2でいいのですが、今回は、条件付き書式で、該当するデータの行全体を塗りつぶしたいので、列を固定させる必要がありますので、$A2と設定します。

複数条件なので、同じように、範囲2を設定していきます。
検索条件範囲2は、$B$2:B2。
検索条件2は、$B2。

OKボタンをクリックして、オートフィルで数式をコピーしてみましょう。

D2の数式は、
=COUNTIFS($A$2:A2,$A2,$B$2:B2,$B2)
となっていますね。

1より大きい値が算出されている行は、重複していることを意味しています。
なので、1と算出された行が、初登場したデータということがわかります。

この数式を条件付き書式の設定で使えば、いいわけですね。

【条件付き書式を設定】

A2:B14を範囲選択して、ホームタブの条件付き書式から、新しいルールをクリックします。

新しい書式ルールダイアログボックスが表示されますので、ルールの種類を選択してくださいは「数式を使用して、書式設定するセルを決定」を選択して、次の数式を満たす場合に値を書式設定には、
=COUNTIFS($A$2:A2,$A2,$B$2:B2,$B2)=1
と設定します。

先程確認した数式に、「=1」を追加しています。
あとは、書式ボタンから塗りつぶしの色を設定して、OKボタンをクリックして完成ですね。

このように、数式を上手く使うことで、条件付き書式で色々設定することができますね。