8/18/2022

Excel。上位3位までのデータがわかりやすいように、行全体を塗りつぶしたい【line fill】

Excel。上位3位までのデータがわかりやすいように、行全体を塗りつぶしたい

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

上位1位から3位までのデータを視覚的にわかりやすくした表を作りたいとします。


フィールド数(見出し列数)が多い場合には、データのセルだけを塗りつぶすよりも、レコード(行)全体を対象に塗りつぶしをしたほうが、いいと思うわけですね。


次のような表を作りたいわけです。


手早く設定するには、当然、目視で確認するわけではなく、条件付き書式をつかうわけです。

問題になるポイントが、どのような数式を設定すればいいのかということですね。


条件付き書式に用意させているものは、対象になるセルにしか、書式を反映することができないので、行全体と考えた時点で、条件付き書式の条件は数式を使わないといけないわけですね。


上位3位ということなので、RANK.EQ関数で順位を算出してもいいのですが、一度順位を算出した列をつくらないといけないので、効率的にちょっと、オススメできません。


そこで、上位3位の数値を算出させて、算出結果より以上の数値ならば、上位3位に入ることがわかります。

上位何番目というのを算出する時につかうのが「LARGE関数」です。


では、条件付き書式を設定していきますので、A2:B16を範囲選択して、ホームタブの条件付き書式にある、「新しいルール」をクリックします。


すると、「新しい書式ルール」ダイアログボックスが表示されます。


「数式を使用して、書式設定するセルを決定」をクリックして、「次の数式を満たす場合に値を書式設定」のボックスに、次の数式を設定します。


=$B2>=LARGE($B$2:$B$16,3)


あとは、書式ボタンをクリックして、塗りつぶしたい色を設定します。


これで、上位1位~3位のデータを行全体で塗りつぶすことができます。


設定した数式を説明しておきましょう。

=$B2>=LARGE($B$2:$B$16,3)


「$B2」と列側だけに絶対参照にする「複合参照」にすることで、行全体を塗りつぶすことができます。


あとは、LARGE関数の引数ですが、最初の引数は、配列なので範囲のことです。

絶対参照を忘れないように設定します。


そして、何位という順位を次に設定します。

上位3位のデータを算出したいので、「3」と設定すればいいわけですね。


このように、条件付き書式の条件に数式をうまく取り入れることで、様々な表現を帳票に組み込むことができます。

今回のように、色々試してみると、よりよい帳票や資料が作れるかもしれませんね。