MINA関数ではなく、MIN関数を使うべき
![](https://biz-data-analytics.com/wp-content/uploads/2024/01/ActiveSlide-6.png)
Excelにおいて、
データの最小値を取得するには、MIN関数とMINA関数などがあります。
MIN関数とMINA関数の基本的な使い方は、いずれ取り上げます。
MINA関数の不可思議な動きをします。
そのため、警鐘を鳴らす記事です。
MIN関数とMINA関数の挙動の違いを深掘りできればと思います。
結論から申し上げますと、
MINA関数を使うな!
MIN関数を使え!
です。
目次
MIN関数とMINA関数の違い
引数の最小値を返します。論理値や文字列も無視となります。
MIN関数の挿入ダイアログより
引数の最小値を返します。論理値や文字列も対象となります。
MINA関数の挿入ダイアログより
では、論理値や文字列を「対象にする」とは?「無視する」とは?
下記データを用いて、検証してみましょう。
主に黄色セルに注目してみましょう。
ダイアログに記入されていませんが、
空白の挙動にも要注意ですので、それも確認してみてください。
つまり、
下図のダイアログに記載のない、隠れルールが存在します。
![](https://biz-data-analytics.com/wp-content/uploads/2024/01/image-166.png)
![](https://biz-data-analytics.com/wp-content/uploads/2024/01/image-167.png)
MIN関数とMINA関数の結果を比較する
数値の場合
![](https://biz-data-analytics.com/wp-content/uploads/2024/01/image-168.png)
MIN関数とMINA関数の結果は同じです。
ダイアログに記載されている通り、
両関数ともに
「数値」は対象として、最小値を算出しています。
文字列の場合
![](https://biz-data-analytics.com/wp-content/uploads/2024/01/image-169.png)
MIN関数とMINA関数の結果が異なります。
MINA関数では、文字列を0と判断し、最小値を算出してしまうようです。
MINA関数は・・・
「論理値や文字列も対象」しているわけです。
論理値の場合
![](https://biz-data-analytics.com/wp-content/uploads/2024/01/image-170.png)
MIN関数とMINA関数の結果が異なります。
さらに、TRUEの場合、FLASEの場合で違います。
MIN関数は・・・
「論理値や文字列も無視」しています。
MINA関数は・・・
「論理値や文字列も対象」として算出
してしまいます。
TRUEの場合は1、
FALSEの場合は0
として判断しています。
エラー値の場合
![](https://biz-data-analytics.com/wp-content/uploads/2024/01/image-171.png)
MIN関数とMINA関数の結果が同じです。
ダイアログに記載されている通り、
両関数ともに
「エラー値」の場合は、エラー値が返されています。
空白の場合
MIN関数とMINA関数は結果は同じです。
しかしながら、
それぞれの関数で、データによって結果が違います。
MIN関数を適用すると・・・
データの2行目の結果は5
データの3行目の結果は0
です。
どうやら、
データの3行目は、全セルが空白です。
全セル空白の場合は0として処理されていそうです。
MINA関数も同様の挙動しています。
不可思議です…
というわけで、
この変則ルールがありそうです。
なので、太字のルールが追加になりますね。
- MIN関数は引数の最小値を返します。論理値や文字列も対象となります。
- 全セルが空白ならば対象になり、それ以外ならば空白は無視されます。
- MINA関数は引数の最小値を返します。論理値や文字列は無視されます。
- 全セルが空白ならば対象になり、それ以外ならば空白は無視されます。
MINA関数は危険!MIN関数を使用すべき
どうでしょうか。。。
やはり、強引に、論理値と文字列を数値変換されて、
最小値の範囲となるMINA関数は、危険と言えます。
役立つ場面もあるにありますが・・・レアケースです。
というわけで、
MIN関数を使用することを推奨
します。
MIN関数とMINA関数のペライチ図解
![](https://biz-data-analytics.com/wp-content/uploads/2024/01/image-174-1024x583.png)
サンプルデータのダウンロード
解答付きサンプルデータが欲しい方は、下記からダウンロードしてください。
フォローアップ
外観上は数値のケース
=MINA(999) -> 999
=MINA("999") -> 999
文字列の999にも関わらず、数値として処理されてます
999は文字列だが、0と判断されずに、数値の999と判断しているようです。
なので、「論理値および文字列も対象となります」というルールに、本来は矛盾しています。
なお、999は文字列でなくて、数値じゃないかを思う方のために説明します。
例えば、以下の2つのケースではどちらも「999」という値が数値に見えます。
2行目999は、[セル書式設定]が文字列になっています。
![](https://biz-data-analytics.com/wp-content/uploads/2024/01/image-70-1024x355.png)
最後に
今回の記事では、
Excelで最小値を求める際に使用される「MIN関数」と「MINA関数」の違い
について探ってきました。
基本的には・・
MIN関数は与えられた範囲内の最小値を返す一方で、
MINA関数は論理値、文字列を数値に変換して最小値を算出する
点が異なります。
空白セルの処理は、要注意です。
ルールを整理すると以下です。
- MIN関数は引数の最小値を返します。論理値や文字列も対象となります。
- 全セルが空白ならば対象になり、それ以外ならば空白は無視されます。
- MINA関数は引数の最小値を返します。論理値や文字列は無視されます。
- 全セルが空白ならば対象になり、それ以外ならば空白は無視されます。
文字列や論理値が含めて最小値を算出するのはレアケースです。
よって、
MINA関数は使わず、MIN関数を使用すべきと考えています。
参考記事:
Excel関数を操作するための基本概念です。基本概念を理解すると、各関数の理解がより深まります。
構文に関する記事
Excel関数の引数と戻り値は何だっけ?という時に、役立つ記事です。
ダイアログボックスの使い方に関する記事
Excel関数名は何だっけ?VLOOKUP関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。
参照形式に関する記事
関数式をコピーする時はどうしたらいい? $マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。