最小(または最大)を導出する必要がある場合があります

最小(または最大)値がゼロでない限り、範囲からの値。たとえば、\ {0、3、1、4、2}などの値の範囲があるとします。この場合、最小値はゼロですが、実際に返したい値は1です。

ここで規定されている値を返すExcel内の組み込み関数はありません。ただし、そのトリックを実行する数式を作成することはできます。分析する値の範囲がC4:C8にあるとすると、次の数式はゼロ以外の最小値を返します。

=IF(MIN(C4:C8)=0,SMALL(C4:C8,COUNTIF(C4:C8,"=0")+1),MIN(C4:C8))

この式は、MIN関数を使用して、範囲の最小値がゼロかどうかを判別します。そうである場合、SMALL関数を使用して、ゼロを除く最小値を導き出します。 (COUNTIF関数は、範囲内のゼロの数を返すため、範囲内のどの項目を選択するかをSMALLに指示します。)

数式を少し変更するだけで、次の範囲でゼロ以外の最大の数値を返すことができます。

=IF(MAX(C4:C8)=0,LARGE(C4:C8,COUNTIF(C4:C8,"=0")+1),MAX(C4:C8))

これらの数式は、範囲が完全にゼロで構成されていない限り、どの範囲でも機能します。その場合、#NUM!エラーが返されます。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(2332)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。