MINA関数ではなく、MIN関数を使うべき

Excelにおいて、
データの最小値を取得するには、MIN関数とMINA関数などがあります。

MIN関数とMINA関数の基本的な使い方は、いずれ取り上げます。

MINA関数の不可思議な動きをします。

そのため、警鐘を鳴らす記事です。

MIN関数とMINA関数の挙動の違いを深掘りできればと思います。

結論から申し上げますと、

です。

MIN関数とMINA関数の違い

引数の最小値を返します。論理値や文字列も無視となります。

MIN関数の挿入ダイアログより

引数の最小値を返します。論理値や文字列も対象となります。

MINA関数の挿入ダイアログより


では、論理値や文字列を「対象にする」とは?「無視する」とは?
下記データを用いて、検証してみましょう。

主に黄色セルに注目してみましょう。

ダイアログに記入されていませんが、
空白の挙動にも要注意ですので、それも確認してみてください。

つまり、

下図のダイアログに記載のない、隠れルールが存在します。



MIN関数とMINA関数の結果を比較する

数値の場合

MIN関数とMINA関数の結果は同じです。

ダイアログに記載されている通り、

両関数ともに

「数値」は対象として、最小値を算出しています。

文字列の場合

MIN関数とMINA関数の結果が異なります。
MINA関数では、文字列を0と判断し、最小値を算出してしまうようです。

MINA関数は・・・

「論理値や文字列も対象」しているわけです。


論理値の場合

MIN関数とMINA関数の結果が異なります。
さらに、TRUEの場合、FLASEの場合で違います。

MIN関数は・・・

「論理値や文字列も無視」しています。

MINA関数は・・・

論理値や文字列も対象」として算出

してしまいます。

TRUEの場合は1、
FALSEの場合は0

として判断しています。

エラー値の場合

MIN関数とMINA関数の結果が同じです。

ダイアログに記載されている通り、

両関数ともに

「エラー値」の場合は、エラー値が返されています。

空白の場合

MIN関数とMINA関数は結果は同じです。

しかしながら、

それぞれの関数で、データによって結果が違います

MIN関数を適用すると・・・

データの2行目の結果は5
データの3行目の結果は0

です。

どうやら、

データの3行目は、全セルが空白です。
全セル空白の場合は0として処理されていそうです。

MINA関数も同様の挙動しています。

不可思議です…

というわけで、
この変則ルールがありそうです。

なので、太字のルールが追加になりますね。

  • MIN関数は引数の最小値を返します。論理値や文字列も対象となります。
  • 全セルが空白ならば対象になり、それ以外ならば空白は無視されます。
  • MINA関数は引数の最小値を返します。論理値や文字列は無視されます。
  • 全セルが空白ならば対象になり、それ以外ならば空白は無視されます。

MINA関数は危険!MIN関数を使用すべき

どうでしょうか。。。

やはり、強引に、論理値と文字列を数値変換されて、
最小値の範囲となるMINA関数は、危険と言えます。

役立つ場面もあるにありますが・・・レアケースです。

というわけで、

します。

MIN関数とMINA関数のペライチ図解

サンプルデータのダウンロード

解答付きサンプルデータが欲しい方は、下記からダウンロードしてください。

フォローアップ

外観上は数値のケース

=MINA(999) -> 999 

=MINA("999") -> 999

文字列の999にも関わらず、数値として処理されてます

999は文字列だが、0と判断されずに、数値の999と判断しているようです。

なので、「論理値および文字列も対象となります」というルールに、本来は矛盾しています。

なお、999は文字列でなくて、数値じゃないかを思う方のために説明します。

例えば、以下の2つのケースではどちらも「999」という値が数値に見えます。
2行目999は、[セル書式設定]が文字列になっています。

最後に

今回の記事では、
Excelで最小値を求める際に使用される「MIN関数」と「MINA関数」の違い

について探ってきました。

基本的には・・

MIN関数は与えられた範囲内の最小値を返す一方で、
MINA関数は論理値、文字列を数値に変換して最小値を算出する

点が異なります。

空白セルの処理は、要注意です。

ルールを整理すると以下です。

  • MIN関数は引数の最小値を返します。論理値や文字列も対象となります。
  • 全セルが空白ならば対象になり、それ以外ならば空白は無視されます。
  • MINA関数は引数の最小値を返します。論理値や文字列は無視されます。
  • 全セルが空白ならば対象になり、それ以外ならば空白は無視されます。


文字列や論理値が含めて最小値を算出するのはレアケースです。

よって、

MINA関数は使わず、MIN関数を使用すべきと考えています。


参考記事

Excel関数を操作するための基本概念です。基本概念を理解すると、各関数の理解がより深まります。

構文に関する記事

Excel関数の引数と戻り値は何だっけ?という時に、役立つ記事です。

ダイアログボックスの使い方に関する記事

Excel関数名は何だっけ?VLOOKUP関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。

参照形式に関する記事

関数式をコピーする時はどうしたらいい? $マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。