関数 その他小技 EXCEL&VBA

エクセルで最大値がどこか探す|その行全体を色付けする方法

今回ピックアップするのは、エクセルで最大値が表示されているセルを探して、その「行全体」に色をつける方法。

最大値のセルだけ色付けするのはカンタン。
でも、その行全体に色をつけるとなると「・・・・・・」。

数式(関数)と条件付き書式をつかった方法を紹介します。



数式をつかった条件付き書式

トップ画像とおなじ表を使って説明します。


▲C列に入力されている金額はパッと見では最大値を探しづらい

まず、色付けのセル範囲を選択します。


▲セルA2からD6まで選択

メニューの「ホーム」タブにある「条件付き書式」をクリック。

サブメニュー「新しいルール」へとすすみ
「数式を使用して、書式設定するセルを決定」を選択。

[次の数式を満たす場合に値を書式設定 (O):] に、以下の数式を入力します。

MATCH ( MAX ($C$2:$C$6), $C$2:$C$6, 0 )ROW ( ) -1

数式には3つの関数が使われていますが、それらについては後述

さらに、条件に当てはまったときの書式(セルの塗りつぶし)を設定すると、以下のような画面になります。

「OK」をクリックすれば完成です。


▲C列の最大値の行全体に色がついた!

数式の意味を理解したい方は以下をご覧ください。


MAX関数 / MATCH関数 / ROW関数

MAX関数
指定されたセル範囲の最大値を返す MAX関数 は皆さんご存知ですね。

セルC2からC6の範囲で最大値を求める場合、数式は;

MAX ($C$2:$C$6)

となります。(セル範囲は絶対参照にしておきます)

MATCH関数
MAX関数で求めた最大値が「表のどこ(何番目)にあるか?」を教えてくれるのが MATCH関数 です。書式は;

MATCH (検査値, 検査範囲, [照合の種類] )

のように表現されます。
これを、前述の MAX関数 と組み合わせると、数式は以下のようになります;

MATCH ( MAX ($C$2:$C$6), $C$2:$C$6, 0 )

数式を翻訳すると

検査値(C列の最大値)は、検査範囲(セルC2からC6)の中で何番目?

という意味です。
答えは「3(番目)」ですね。

ROW関数
ROW関数は、エクセルの行番号を返す関数でこちらもおなじみ。

上の表のA列「No.」の数字と一致させる数字を求めるには;

ROW ( ) -1

となります。行番号からヘッダー行を1行分引いた数、という意味です。

これらを踏まえて、条件付き書式に入力した数式を見てみましょう。

MATCH ( MAX ($C$2:$C$6), $C$2:$C$6, 0 )ROW ( ) -1

この数式を翻訳すると

検査値(C列の最大値)が検査範囲(セルC2からC6)の中で何番目か求めて、その値が行番号から1引いた数と一致する場合

という意味です。

どのセルも行番号は持っているので、行番号から1引いた数が「3」になれば書式が変更になる仕組みです。

以上で『エクセルで最大値がどこか探す|その行全体を色付けする方法』は終了。
その他の関連記事と合わせて仕事や趣味に役立ててください。

関連記事・広告






-関数, その他小技, EXCEL&VBA
-, ,