エクセルMIN/MAX関数の使い方: 最小値/最大値を取得 - エラーを除く、0以外の計算も

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