指定した条件の中から最小値を抽出する(MIN)ゼロを無視する

MIN関数で最小値を抽出する際に、ゼロが入っていると、そのゼロを抽出してしまいます。

ゼロは無視した中から最小値を抽出したい場合、さらに項目を指定して抽出する場合の関数です。

下図のように「りんご」と「みかん」があります。

「りんご」の中からゼロを無視した最小値を抽出します。

20180319




式は以下のようになります。

=MIN(IF((A2:A10="りんご")*(B2:B10<>0),B2:B10))

配列なので「Ctrl+Shift+Enter」で確定します。

式の前後にカッコ「{}」がつき、値が返るようになります。(上図の数式バーのような状態)

リンゴの中でゼロを無視した最小値は「25」となります。

【項目は分けずにゼロを無視するだけで良い場合】

=MIN(IF(B2:B10<>0,B2:B10))

配列なので「Ctrl+Shift+Enter」で確定します。

 

ちなみに配列を使いたくない場合は、SMALLを使って以下のようにもできます。

=SMALL(B2:B10,COUNTIF(B2:B10,0)+1)

SMALLは最小値から何個目の値を抽出するのか指定することができます。

COUNTIFでゼロの数を数えると2個あります。これに「+1」すると「3」になりますね。

SMALLで指定した範囲の中から「3」番目の最小値を返す、ということでゼロを無視することができます。

以上です。

同様に最大値(MAX)を返す方法は以下のページで紹介しています。

指定した条件の中から最大値を抽出する(MAX)