エクセルMAX/MIN関数: 最大・最小値を求める(0を除く計算も)

はじめに
エクセルのMIN / MAX関数は、
ここでは、MIN / MAX関数の
- 基本的機能・使い方
- 注意事項
- 関連する関数
- 使用例、応用法
について取り扱います。
基本的機能・使い方
MIN/MAX関数は、
文字列や空白セルは無視されます。
数値配列1
, 数値配列2
, ... )数値配列1
, 数値配列2
, ... )指定した 数値配列1
の数値データの 最小値 / 最大値を算出 する。
数値配列2
, 数値配列3, ... を追加することで、評価に用いるデータを増やすことができる(最大 : 数値配列255)。
数値配列1
数値配列2
注意事項
空白文字やエラー値を入力した場合にどうなるか、
各セル値に対する応答・扱われ方
- 文字列 無視される
- 空白 無視される
- エラー値 結果がエラー値になる※
- 0 0として認識される※
※ エラー値や 0 を除いて評価したい場合には、使用例、応用例を参照。
うまく動作しないときの原因と対策
MIN / MAX関数がうまく動作しない場合、
- 計算値が 0 になるとき:
- 参照している値が数値でなく、文字列として認識されている
対策:セルの書式を 数値 (or 指数など) にする。セル記入値に含まれる 空白文字、特殊文字を削除する。※ - 循環参照となっている
対策:参照のループをつくらない。
- 参照している値が数値でなく、文字列として認識されている
- エラー (#VALUE!, #DIV/0!, #REF!など) が出力されるとき:
- 参照範囲にエラー値が含まれている
対策:参照範囲からエラー値を削除する。または、MINIFS/SUMIFS関数やAGGREGATE関数を使用する。
- 参照範囲にエラー値が含まれている
※ 1をかけると数値に変換できる
文字列として認識されていても、1を掛ける (または -1x-1 を掛ける) ことで数値に変換できます。
例:=1*A1, =--A1
(同様の処理が行える VALUE という関数も存在します。)
関連する関数
MIN/MAX関数と似た機能を持つ関数には、以下があります。
- SMALL / LARGE関数: 2番目, 3番目, ...に小さい / 大きい値 を取得できる。
- MINA / MAXA関数: 文字列・論理値を無視せず (0 or 1扱い) 最小値 / 最大値を取得する。
- DMIN / DMAX関数: 他の列に条件設定して 最小値 / 最大値を取得できる。
- MINIFS / MAXIFS関数: 複数条件 を指定して、最小値 / 最大値を取得する。
- SUBTOTAL関数: フィルター機能による非表示の値を排除 して、最小値 / 最大値を取得できる。
- AGGREGATE関数: フィルター機能による非表示の値を排除 、 エラー値を除去 して最小値 / 最大値を取得できる。
使用例、応用例
MIN/MAX関数の使用例・応用例として
- IF関数との組合せ:単一条件を指定して、最小値 / 最大値を取得する。
- 1* / VALUE関数との組合せ:文字列を数値化して、最小値 / 最大値を取得する。
- XMATCH / MATCH関数との組合せ:最小値 / 最大値のセル位置を取得する。
パターンを紹介します。
IF関数との組合せ
0を除いて最小値 / 最大値を取得する例です。
関数の構成
=MIN( IF( 条件式, Trueのときの値, Falseのときの値 ) )
1* / VALUE関数との組合せ
文字列データを数値化して、最小値 / 最大値を取得する例です。
- 1* (1を掛ける) を使用する方法
- VALUE 関数を使用する方法
配列数式を使用するため、動的配列数式に未対応の旧バージョンのエクセルの場合は
関数の構成
=MIN( 1* ( 文字列配列 ) )
or
=MIN( VALUE ( 文字列配列 ) )
XMATCH / MATCH関数との組合せ
データ列の中から、最小値を持つセルの位置を取得する例です。
- XMATCH関数を使用する方法 (エクセル2021, 365以降のみ)
- MATCH関数を使用する方法※
関数の構成
=XMATCH( MIN( 数値配列 ), 数値配列 )
or
=MATCH( MIN( 数値配列 ) , 数値配列, 0)
※ MATCH関数で取得できるのは、最初にマッチした位置のみ です(複数存在した場合であっても)。
関連記事











