2025/6/16

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

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

はじめに

エクセルのMIN / MAX関数は、 データの集計や数値計算など、多くの場面で頻繁に使用される関数の1つです。

ここでは、MIN / MAX関数の

  • 基本的機能・使い方
  • 注意事項
  • 関連する関数
  • 使用例、応用法

について取り扱います。

基本的機能・使い方

MIN/MAX関数は、 選択範囲の数値すべての中から 最小値 / 最大値を取得する関数 です。
文字列や空白セルは無視されます。

MIN / MAX関数
MIN ( 数値配列1, 数値配列2, ... )
MAX ( 数値配列1, 数値配列2, ... )

指定した 数値配列1 の数値データの 最小値 / 最大値を算出 する。
数値配列2, 数値配列3, ... を追加することで、評価に用いるデータを増やすことができる(最大 : 数値配列255)。

数値配列1
: 必須
A1:A4
加算するデータの範囲。
数値配列2 , ...
: 任意
C1:D3
追加で加算するデータの範囲。

注意事項

空白文字やエラー値を入力した場合にどうなるか、 意図した結果にならない場合にどうしたらいいのか、 について解説します。

各セル値に対する応答・扱われ方

  • 文字列 無視される
  • 空白 無視される
  • エラー値 結果がエラー値になる※
  • 0 0として認識される※

※ エラー値や 0 を除いて表かしたい場合には、MINIFS/MAXIFS関数などを使用する

うまく動作しないときの原因と対策

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を除いて最小値 / 最大値を取得する例です。 MINIFS / MAXIFS関数を使用しても同様の結果が得られます)。 ただし、配列数式を使用するため、動的配列数式に未対応の旧バージョンのエクセルの場合は Ctrl + Shift + Enter (CSE) で入力する必要があります。

関数の構成

=MIN( IF( 条件式, Trueのときの値, Falseのときの値 ) )

1* / VALUE関数との組合せ

文字列データを数値化して、最小値 / 最大値を取得する例です。 文字列を数値化する方法として、次の2つの方法を紹介します。

  • 1* (1を掛ける) を使用する方法
  • VALUE 関数を使用する方法

配列数式を使用するため、動的配列数式に未対応の旧バージョンのエクセルの場合は Ctrl + Shift + Enter (CSE) で入力する必要があります。

関数の構成

=MIN( 1* ( 文字列配列 ) )
or
=MIN( VALUE ( 文字列配列 ) )

XMATCH / MATCH関数との組合せ

データ列の中から、最小値を持つセルの位置を取得する例です。 位置を取得する方法として、次の2つの方法を紹介します。

  • XMATCH関数を使用する方法 (エクセル2021, 365以降のみ)
  • MATCH関数を使用する方法※

関数の構成

=XMATCH( MIN( 数値配列 ), 数値配列 )
or
=MATCH( MIN( 数値配列 ) , 数値配列, 0)

MATCH関数で取得できるのは、最初にマッチした位置のみ です(複数存在した場合であっても)。


【文字列データを参照している例】
ABC
1❌文字列データ✅数値データ
21
3-1-1
41
51
61
7
80-1

【参照範囲にエラー値がある例】
ABC
1❌エラーを出力✅エラー値を無視
211
3-1-1
411
511
6#DIV/0!#DIV/0!
7
8#DIV/0!-1

ABCDEF
110
21MINMAX
310110
410
5無視→0

ABCDEF
1
2-1MINMAX
3(1*使用)-11
4(VALUE使用)-11
5

ABCDE
11
2-1MINの位置
31(XMATCH使用)2
41(MATCH使用)2
51