3/01/2022

Excel。別シートのデータと合致するデータを行全体塗りつぶすにはどうすればいい【Matching data】

Excel。別シートのデータと合致するデータを行全体塗りつぶすにはどうすればいい

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

別シートにあるデータと合致するデータがあれば、視覚的にわかりやすくするために、その行全体を塗りつぶしたいとすれば、条件付き書式をつかうことで、対応することができます。


ただ、問題となるが、どのような条件を設定したらいいのかということですね。


元データというシートに次のデータがあります。


そして、処理した結果が次のようになっています。


行全体が塗りつぶし対象になるので、条件付き書式は、「新しいルール」で数式を使って設定する必要があることがわかります。


そして、どのような数式にしたらいいのかを考えるわけですが、該当するデータがあるかないかということ。


つまり「重複」データを探すことになるわけです。


B列のデータに、該当するデータがあれば、「1」以上、なければ「0」というわけです。

すなわち、データの件数を算出することになるので、「COUNTIF関数」をつかった計算式をつくればいいわけです。


では、A2:B11を範囲選択します。

ホームタブの条件付き書式にある「新しいルール」をクリックします。


新しいルールダイアログボックスが表示されます。


「数式を使用して、書式設定するセルを決定」をクリックして、ルールを設定します。

ルールのボックスには、次の数式を設定します。

=COUNTIF(元データ!$B$2:$B$4,$B2)


あとは、塗りつぶしの色を設定して、OKボタンをクリックすると、完成です。


それでは、設定した数式を確認しておきましょう。

=COUNTIF(元データ!$B$2:$B$4,$B2)


B2:B11の範囲に、元データにあるデータが何件あるのかと考えそうですが、今回は、そのようなケースでCOUNTIF関数をつかっていません。


どちらかというと、元データシートのB2:B4に、B2のデータがあるのか、ないのかという判断のためにCOUNTIF関数をつかっています。


この数式が成立、すなわち、データがあれば、「TRUE」となり、なければ成立しないので、「FALSE」と算出されるようになっています。

「TRUE」の場合なら、塗りつぶすようにする仕組みです。


データが歩かないかだけなので、TRUEだから「=1」という条件を数式につけなくてもいいわけです。


ちょっと、独特な方法ですが、このような方法をつかうことで、シート間でデータがあるのか、ないのかを条件付き書式をつかって、判断することもできます。