Excelを使用する際、最小値を取得することがよくあります。
先日『【MIN関数】使い方と解説 – 最小値 –』にて、MIN関数を取り上げました。
本記事では、MIN関数の姉妹関数であるMINA関数を取り上げ、その違い、注意点をお伝えします。
MINA関数は、2007以降のバージョンに対応し、MIN関数の後に登場しています。
Contents
記事の読み方
説明の順は以下です。
まずは、「問題」を与えて、
次に、「解答」を提示します。
最後に、「解説」です。
よくある、結論→理由の構成順に沿いました。
先に「解答」を知りたい人を考慮したためです。
「解説」の説明は不要で、とりあえずビジネス現場で使えればいいと思う方もいるためです。
また、ある程度の経験者であれば、
「問題」と「解答」だけで、関数を使いこなせてしまうためです。
そのため、即利用できるように、ダウンロードファイルを用意していますので、
活用してみてください。
(経験者であれば、ダウンロードファイルだけで、実務に応用できてしまうのではないでしょうか)
問題
Kaggleで公開されているビデオゲームの売上データ「vgsales.csv」の「NA_Sales」~「Other_Sales」の各々の最小値を算出してみます。
注意事項
- 回答率(%)は、小数点第1位を四捨五入しているため、合計値が必ずしも100(%)とならない場合があります
サンプルデータ
今回利用するサンプルデータは、Kaggleで公開されているビデオゲームの売上データ「vgsales.csv」を加工したデータを使います。
下記はオリジナルのデータです。
加工したデータは「解答付きサンプルデータ」からダウンロードしてください。
vgsales.csv Video Game Sales
以下、データ項目(変数)です。
- Rank – 全体の売上高ランキング
- Name – ゲームの名前
- Platform – ゲームが発売されたプラットフォーム(例:PC、PS4、など)
- Year – 発売された年
- Genre – ゲームのジャンル
- Publisher – ゲームのパブリッシャー
- NA_Sales – 北米での売上高 (単位: 百万円)
- EU_Sales – 欧州での売上高(単位:百万ドル)
- JP_Sales – 日本での売上(単位:百万ドル)
- Other_Sales – その他の地域での売上高(単位:百万ドル)
解答付きサンプルデータ
解答付きサンプルデータが欲しい方は、下記からダウンロードしてください。
解答
NA_Salesの最小値を算出する場合は、次のようなMIN関数式になります。
=MINA(G2:G16599)
上記MIN関数式を、列方向へコピーすると、
「EU_Sales」「JP_Sales」「Other_Sales」の最小値も算出できます。
算出された各々の最小値は次図の通りです。
解説
解説を読む前に、下記の前提知識に自信のない方は記事末尾の参考記事をご覧ください。
前提知識
- Excel関数の構文(引数や戻り値など)については、理解していること
- 絶対参照、複合参照、相対参照についても、理解していること
ざっくり解説
関数の構文は以下です。
=MINA(数値1, [数値2], …)
なので、数値部分に、最小値を算出したいセル範囲を指定できるだけです。
「ざっくり解説」で分からない方は、次の「くわしく解説」をご覧ください。
くわしく解説
MINA関数とは
記事『Excel関数の検索テクニック』で説明した通り、
Excel標準機能の[関数の挿入]ダイアログ/[関数の引数]ダイアログを大体のことは書かれています。
活用して詳しく解説します。
ダイアログの使い方は、上記記事を参照していただければと思います。
引数の最小値を返します。論理値および文字列も対象となります。
[関数の挿入]ダイアログより
「MIN」は「最小」という意味です。
その名の通り、最小値を算出します。
引数は「論理値および文字列も対象となります」と書いてあります。
注意点です。
つまり、下記の行4を見てください。最小値が5になりません。
これは本当に注意です。
「論理値および文字列も対象となります」に潜む罠
MINA関数の引数には、
「論理値および文字列も対象となります」という引数のルールがありました。
では、文字列の数値はどう挙動するのでしょうか。
それは次の通りです。
=MINA(テスト) -> 0
=MINA(TRUE) -> 1
=MINA(FALSE) -> 0
=MINA(999) -> 999
=MINA("999") -> 999
文字列の999にも関わらず、数値として処理されてます
999は文字列だが、0と判断されずに、数値の999と判断しているようです。
しかしながら、「論理値および文字列も対象となります」というルールにも関わらず、
「論理値および文字列も対象となります」と矛盾しています。
なお、999は文字列でなくて、数値じゃないかを思う方のために説明します。
例えば、以下の2つのケースではどちらも「999」という値が数値に見えます。
2行目999は、文字列なのです。
カラム名を参照範囲に絶対に含めてならない
MINA関数の場合、カラム名を引数の範囲に含めると、カラム名が0と判断され、最小値が0となります。
一方、MIN関数では、カラム名を引数の範囲に含めて、文字列は対象外のため、最小値は0になりません。
これは大きな違いです。
引数の範囲を間違って指定しても、MIN関数は正しい最小値が算出されます。
【MINA関数の場合:引数の範囲にカラム名を指定したまった場合】
【MIN関数の場合:引数の範囲にカラム名を指定したまった場合】
MINA関数の語源
MINA関数は、MINとAで構成されています。
MINは最小値を表し、AはおそらくALLを意味しており、
数値以外のデータも対象に含めるという意味が込められていると考えられます。
MIN関数の構文
=MINA(値1,値2,...)
第1引数:数値1
値1: 値 1 ′値 2 ′…には最小値を求めたい数値、空白セル、論理値、または文字列番号を、 1 ~ 255 個まで指定できます。
[関数の挿入]ダイアログより
数値だけでなく、数値以外のデータを、引数に設定できることが分かります。
そのため、ダイアログボックスの値1,値2と表示されているのです。
(MIN関数では数値1,数値2でした)
, で区切りられているので、複数の引数を入力することができます。
こちらは飛び飛びのデータの最小値を求めたい時に使えます。
例えば、以下のように、「NA_Sales」「JP_Sales」のデータをマージした最小を算出したい場合に使えます。
引数の入力
ダイアログボックスに沿って、引数を入力しみてます。
後は、「NA_Sales」にダイアログボックスで入力された関数式を、列方向にコピーします。
なぜ、コピーすれば良いかが分からない方は、下記記事をご確認ください。
ダイアログボックスの良いところ
[関数の引数]ダイアログの方が、解説付きで、さらに、引数の入力結果や数式の結果まで表示されます。基本的に、直接入力よりも、使いやすく、間違いに気づきやすいです。
ただし、引数オプションを確認する場合などは直接入力も有効です。
引数オプションとは、Excel関数の引数の中で、予め用意されており、関数の特定の振る舞いや設定を制御できます。
そのため、状況に応じての使い分けが最も有効です。
最後に
本記事では、ExcelのMINA関数に焦点を当て、ビデオゲームの売上データを例にして最小値を算出する方法について解説しました。
Kaggleで提供されている「vgsales.csv」の売上データを用い、各地域の売上(NA_Sales、EU_Sales、JP_Sales、Other_Sales)における最小値を計算する方法を示しました。
MINA関数は、数値だけでなく論理値や文字列も扱え、これらを含めた最小値を出力します。
しかし、注意点として、特定の状況下では予期しない結果が生じる可能性があることを紹介しました。
記事では、問題と解答を中心に構成され、経験豊富な利用者が即座に活用できるような形式を心掛けました。
また、解説をスキップして実用的な情報にフォーカスすることで、ビジネス現場での実務応用をサポートすることを目指しました。
最後に、ダウンロード可能なサンプルデータも提供し、実際に手を動かしながらMINA関数の利用法を学ぶ機会を提供しました。Excelの関数を使用する際には、状況や用途に合わせて適切な関数を選択することが重要であり、本記事がその一助となれば幸いです。
Excelにおける関数の理解と活用は、業務効率化やデータ解析において非常に有益です。MINA関数を含む様々な関数を使いこなし、データ処理や分析のスキルを向上させていきましょう。
どうぞご活用いただき、Excelにおけるデータ処理のスキル向上に役立てていただければ幸いです。