データの最小値を出したいけど、範囲に「欠席」や「対象外」といった文字列が混ざっていることってありますよね。
MIN関数なら文字列はスキップしてくれます。でも「文字列が入っているセルも考慮して最小値を出したい」場面もあります。
そんなときに使うのがMINA関数です。文字列やFALSEを0、TRUEを1として計算に含めてくれます。
この記事ではMINA関数の基本から、MIN関数との違い、実務での使いどころまで紹介します。
MINA関数とは?
MINA関数(読み方: ミナ関数)は、文字列やTRUE/FALSEを含むデータ全体から最小値を返す関数です。
名前は「MIN」に「A(All)」を加えたもので、「すべてのデータを計算対象にする」というイメージです。
MIN関数との最大の違いは、データ型ごとの扱い方です。
| セルの内容 | MIN | MINA |
|---|---|---|
| 数値 | 計算に含む | 計算に含む |
| 文字列 | スキップ | 0として計算 |
| TRUE | スキップ | 1として計算 |
| FALSE | スキップ | 0として計算 |
| 空白セル | スキップ | スキップ |
たとえばA1:A3に「80, “欠席”, 60」と入っているとします。
=MIN(A1:A3)→ 60(数値2つから最小値)=MINA(A1:A3)→ 0(文字列を0として含めるため、0が最小値になる)
MIN関数なら60ですが、MINA関数では文字列が0に変換されて最小値が変わります。
MINA関数にできることをまとめると、次のとおりです。
- 文字列を0として最小値の比較に含める
- TRUEを1、FALSEを0として比較に含める
- 空白セルはスキップする(MIN関数と同じ)
- 数値だけの範囲ではMIN関数と同じ結果になる
NOTE
MINA関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作もほぼ同じです。
MINA関数の書き方(構文と引数)
基本構文
=MINA(値1, [値2], ...)
カッコの中に、最小値を求めたいデータやセル範囲を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値1 | 必須 | 最小値を求めたい最初の値、セル参照、またはセル範囲 |
| 値2, … | 任意 | 追加で比較したい値やセル範囲(最大30個まで) |
引数が2つ以上ある場合は、カンマ( , )で区切ります。
MIN関数と構文は同じです。違いは「文字列やTRUE/FALSEをどう扱うか」だけです。
TIP
Excelでは引数を最大255個まで指定できますが、Googleスプレッドシートでは最大30個です。セル範囲を使えば実務で困ることはありません。
MINA関数の基本的な使い方
ここからは、実際にMINA関数を使う手順を見ていきましょう。
文字列を含むデータの最小値を求める
B2からB6にテストの点数が入っていて、B4に「欠席」という文字列が入っているとします。
=MINA(B2:B6)
「80, 70, 欠席, 90, 60」の場合、「欠席」は0として扱われます。結果は「0」です。文字列が0に変換されて最小値になります。
MIN関数なら「60」になります。文字列をスキップして数値だけで比較するからです。
TRUE/FALSEを含むデータの最小値
チェックボックスの列など、TRUE/FALSEが混在するデータにも使えます。
B2からB5に「5, TRUE, FALSE, 8」が入っているとします。
=MINA(B2:B5)
TRUEは1、FALSEは0として扱われます。結果は「0」です。FALSEが0に変換されて最小値になります。
MIN関数なら「5」になります。TRUE/FALSEをスキップするからです。
負の数値と文字列が混在する場合
MINA関数とMIN関数の結果が一致するケースもあります。
B2からB4に「-5, “計測不能”, -10」が入っているとします。
=MINA(B2:B4)
文字列が0として扱われますが、-10のほうが小さいため結果は「-10」です。MIN関数でも「-10」になります。
ただし、すべての数値が正の場合は結果が変わります。「5, “計測不能”, 10」なら、MINA関数は「0」(文字列の変換値)、MIN関数は「5」です。
数値だけの範囲で使った場合
数値だけの範囲ならMINA関数はMIN関数と同じ結果を返します。
=MINA(80, 70, 90)
結果は「70」です。文字列やTRUE/FALSEが含まれていなければ、違いはありません。
MINA関数の実務活用パターン
パターン1: 計測エラーを含むデータの最小値
センサーデータや計測結果で「エラー」や「計測不能」という文字列が入る場面です。B列に計測値が入っているとします。
=MINA(B2:B100)
文字列セルを0として扱うので、正の数値だけのデータなら0が最小値として返ります。
「計測エラーの箇所は0として集計に含めたい」という要件に向いています。逆に、文字列を無視して数値だけの最小値を出したい場合はMIN関数のほうが適しています。
パターン2: MIN関数との結果を並べて比較する
同じ範囲に対してMINとMINAの両方を出しておくと、データの中身が見えてきます。
=MIN(B2:B20)
=MINA(B2:B20)
2つの値に差がある場合、いくつかの可能性があります。
- 文字列が含まれていて、MINAでは0が最小値になっている
- FALSEが含まれていて、0として最小値に影響している
差がなければ、範囲内は数値だけで構成されています。
パターン3: MAXA関数と組み合わせてデータの全体像を把握する
MINA関数とMAXA関数は対になる関数です。セットで使うとデータの範囲がわかります。
=MINA(B2:B20)
=MAXA(B2:B20)
MINA関数で下限、MAXA関数で上限を出せば、文字列やTRUE/FALSEを含めたデータの広がりが把握できます。通常のMIN/MAX関数との差も確認しておくと、データの構成がより正確に見えてきますよ。
よくあるエラーと対処法
MINA関数はシンプルな関数ですが、結果がおかしいと感じる場面もあります。
| 症状 | 原因 | 対処法 |
|---|---|---|
| 結果が0になる | 文字列やFALSEが0として含まれている | 意図どおりか確認。不要ならMIN関数に切り替える |
| MIN関数と結果が違う | 文字列やTRUE/FALSEが0/1として含まれている | データ型を確認。MINA関数の仕様を理解する |
| MIN関数と結果が同じ | 範囲内に文字列やTRUE/FALSEがない | 数値だけの範囲では同じ結果になる |
| #N/Aエラー | 引数にエラー値が含まれている | IFERROR関数でエラーを除外する |
結果が0になるときの確認方法
MINA関数の結果が0になる場合、文字列やFALSEが影響している可能性が高いです。
MIN関数と結果を比べてみてください。
=MIN(B2:B20) → 文字列をスキップした最小値
=MINA(B2:B20) → 文字列を0として含めた最小値
MIN関数が正の値を返し、MINA関数が0を返すなら、文字列が影響しています。文字列を0として含める意図がなければ、MIN関数に切り替えましょう。
#N/Aエラーの対処
範囲内にエラー値(#N/A, #VALUE!など)がある場合、MINA関数もエラーを返します。
=IFERROR(MINA(B2:B20), "エラーあり")
エラーセルを除外して最小値を求めたい場合は、FILTER関数と組み合わせます。
=MINA(FILTER(B2:B20, NOT(ISERROR(B2:B20))))
MIN関数との違い・使い分け
MINA関数とMIN関数は構文が同じで、データ型の扱いだけが異なります。
| 比較項目 | MIN | MINA |
|---|---|---|
| 数値 | 計算に含む | 計算に含む |
| 文字列 | スキップ | 0として計算 |
| TRUE | スキップ | 1として計算 |
| FALSE | スキップ | 0として計算 |
| 空白セル | スキップ | スキップ |
| 主な用途 | 数値だけの最小値 | 全データ型を考慮した最小値 |
どちらを使うべき?
使い分けの判断基準はシンプルです。
- 数値だけの最小値を出したい → MIN関数
- 文字列やTRUE/FALSEも考慮して最小値を出したい → MINA関数
実務ではほとんどの場面でMIN関数が適しています。MINA関数が必要になるのは、正の数値と文字列が混在するデータで「文字列セルを0として含めたい」場面です。すべての数値が負の値なら、文字列を0として含めても最小値は変わりません。
似た関数との違い・使い分け
MINA関数と関連する関数をまとめました。
| 関数 | 動作 | 文字列の扱い | 使いどころ |
|---|---|---|---|
| MINA | 全データ型を含む最小値 | 0として計算 | 文字列も考慮して最小値を求めたい |
| MIN | 数値の最小値 | スキップ | 数値だけの最小値 |
| MINIFS | 条件付き最小値 | スキップ | 条件に合うデータの最小値 |
| MAXA | 全データ型を含む最大値 | 0として計算 | 文字列も考慮して最大値を求めたい |
| AVERAGEA | 全データ型を含む平均 | 0として計算 | 文字列も含めた平均 |
MINA関数とMAXA関数はペアの関係です。最小値と最大値を同時に確認したい場合は、セットで使いましょう。
条件付きで最小値を出したい場合は、MINIFS関数を使います。
Excelとの違い
MINA関数はExcelとGoogleスプレッドシートでほぼ同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =MINA(値1, …) | =MINA(値1, …) |
| 文字列の扱い | 0として計算 | 0として計算 |
| TRUEの扱い | 1として計算 | 1として計算 |
| FALSEの扱い | 0として計算 | 0として計算 |
| 空白セル | スキップ | スキップ |
| 引数上限 | 最大255個 | 最大30個 |
引数の上限数が異なりますが、セル範囲を使えば問題ありません。Excelと同じ感覚で使えますよ。
まとめ
MINA関数は、文字列やTRUE/FALSEを含むデータから最小値を求める関数です。
ポイントを整理します。
- 構文は
=MINA(値1, [値2], ...)で全データ型を含む最小値を返す - 文字列は0、TRUEは1、FALSEは0として計算に含める
- 空白セルはスキップされる(MIN関数と同じ)
- 数値だけの範囲ではMIN関数と同じ結果になる
- 正の数値と文字列が混在するデータで違いが出る
- 通常の最小値はMIN関数がおすすめ
まずは =MINA(範囲) と =MIN(範囲) を並べて、結果の違いを確認してみてください。
