1/17/2020

Excel。MAXA関数/MINA関数は、条件付き書式と相性がいいようです。【Conditional formatting】

Excel。MAXA関数/MINA関数は、条件付き書式と相性がいいようです。

<MAXA関数・MINA関数&条件付き書式>

MAX関数・MIN関数の親戚?みたいな関数があります。

それが、MAXA関数・MINA関数です。

ともに、最大値・最小値を算出することができる関数なので、MAXA関数・MINA関数は、ほとんど使う出番がありません。

そこで、どういう時にMAXA関数・MINA関数の出番があるのでしょうか?

まずは、MAXA関数・MINA関数がMAX関数・MIN関数とどこが異なっているのか確認していくことにしましょう。

【MAXA関数・MINA関数は文字を0として考える】

E1には、MIN関数を使ってB2:B11の最低値を算出する数式を設定してあります。
計算式は、=MIN(B2:B11)

E2には、MINA関数を使ってB2:B11の最低値を算出する数式を設定してみます。
計算式は、=MINA(B2:B11)

MIN関数は、41と算出されましたが、MINA関数は、0と算出されたことがわかります。

MIN関数もMAX関数も、範囲内の数値のみで判断しますが、MINA関数やMAXA関数では、範囲内にある文字を「0(ゼロ)」として考えて算出します。

そのため、文字のあるセルがあるので、「0(ゼロ)」を含めた結果、最小値は0で算出されたわけです。

また、TRUEを1として判断します。

このように文字を含む。含まないということが、MAX関数/MIN関数とMAXA関数/MINA関数との違いです。

では、どのような時にMAXA関数やMINA関数を使うと効果的なのでしょうか?

ということで、条件付き書式でMINA関数を使うこと、次のようなことができます。

条件付き書式に、MINA関数をコラボレーションさせてみました。

数字以外の文字が入力された行を塗りつぶすように設定してあります。

例えば、文字がすべて「欠席」ならば、簡単なのですが、備考欄のように、入力される文字列が決まっていない場合、今回のケースだと、「欠席」「免除」というように別々の文字列が入力されていても、行で塗りつぶしたい場合に、MINA関数と条件付き書式を使うことで再現することができます。

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

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

新しい書式ルールダイアログボックスが表示されますので、「数式を使用して、書式設定するセルを決定」をクリックし、次の数式を満たす場合に値を書式設定に次の数式を設定します。
=MINA($B2:$B2)=MINA($B$2:$B$11)

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

前のダイアログボックスに戻ったら、OKボタンをクリックして完成です。

さて、
=MINA($B2:$B2)=MINA($B$2:$B$11)
ですが、説明すると、
数式後半の「=MINA($B$2:$B$11)」
これは、文字だったら「0(ゼロ)」を算出するので、文字かどうかの判断をします。

そして、問題なのは、数式前半。

「=B2」とセル番地を使いたくなりますが、セル番地をつかっても、セルの内容なので「欠席」という文字と「0」を比較するので、文字の場合という判断をすることができませんので、わざと、MINA関数をつかって、文字だったら「0(ゼロ)」を算出させるようにしています。

ということで、日常の処理では、MAX関数MIN関数で、問題なく使えると思いますが、MAXA関数MINA関数という関数もあるので、機会があれば使ってみると意外な使い方が見つかるかもしれませんね。