12/30/2019

Excel。条件付き書式を設定がオートフィルターで抽出しても連動させたい【Conditional formatting】

Excel。条件付き書式を設定がオートフィルターで抽出しても連動させたい

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

条件に合致した場合、視覚的にわかりやすくすることができる「条件付き書式」ですが、ちょっとプラスアルファすると、連動してくれないことが多々あります。

例えば、最高値がわかるようにした場合でも、オートフィルターをつかって、抽出すると最高値のデータが抽出条件外だと、条件付き書式が反映されていないように見えてしまいます。

そのような場合、どう対応したらいいのでしょうか?

次のデータがあります。

最大値がわかるように、条件付き書式を設定してみます。
B2:B15を範囲選択します。

ホームタブの条件付き書式にある、上位/下位ルールにある、「上位10項目」をクリックします。
上位10項目ダイアログボックスが表示されます。

項目数を「1」に設定して、書式を設定したら、OKボタンをクリックします。

これで、条件付き書式をつかって、上位1位のデータ。

つまり最高値のデータを視覚的にわかるようにできました。

男性・女性それぞれのデータを見たいと思い、オートフィルターを使ってみることにしました。
データタブのフィルターをクリックして、オートフィルターを表示させます。

性別を「男」で抽出してみます。

男性だけが表示されましたが、条件付き書式は、きちんと反映されていることが確認できます。

今度は、性別が「女」のデータで抽出してみます。

抽出は、女性のみを抽出していますので、問題はないのですが、条件付き書式は連動することなくそのままなので、条件付き書式が設定されていないように見えてしまいます。

このように抽出条件がかわっても、常に上位1位のデータを条件付き書式でわかるようにしたい場合、どのようにしたらいいのでしょうか?

そこで、SUBTOTAL関数を使うことで、対応することができます。

一度設定した条件付き書式をクリアしておきます。

改めて、B2:B15を範囲選択します。

ホームタブの条件付き書式にある、「新しいルール」をクリックします。
新しい書式ルールダイアログボックスが表示されます。

ルールの種類は、「数式を使用して、書式設定するセルを決定」にして、次の数機を満たす場合に値を書式設定のボックスには、
=b2=SUBTOTAL(104,$B$2:$B$15)
と設定します。

書式ボタンをクリックして、セルの書式設定ダイアログボックスが表示されますので、書式を設定します。

あとは、OKボタンをクリックします。

先程の条件付き書式と同様に、最高値に塗りつぶしが反映されました。

改めて、性別を「女」で抽出してみます。

このように、抽出条件がわかっても、常に最高値が塗りつぶしされるようになったことが確認できます。

=SUBTOTAL(104,$B$2:$B$15)のSUBTOTAL関数の100番台は、非表示になったデータを除外することができます。

今回使った、104番は、最高値を見つけるのだけど、非表示なったものは除外するとことができるので、抽出など非表示になっても、連動して条件付き書式を反映させてくれます。

なお、
=AGGREGATE(4,5,$B$2:$B$15)
というように、AGGREGATE関数でも問題はありません。