マークは、値のセットからゼロ以外の最小値を見つけることを望んでいます。

たとえば、値が0,0,3,0,6,8の場合、数式で返される値3(ゼロ以外の最小値)が必要になります。マークは、COUNTIFを使用して計算された2番目の引数でSMALL関数を使用して、範囲内のゼロの数をカウントできることを知っています。ただし、彼はこれを配列数式内で使用したいと考えており、Excelは配列数式内でCOUNTIFを処理できません。

Markは配列数式(Ctrl + Shift + Enterを押して入力)のみに関心があるため、使用できるものがいくつかあります。次の配列数式は、最初に確認する価値があります。

=MIN(IF(A1:A5=0,MAX(A1:A5),A1:A5))

調べる値がA1:A5にあると仮定すると、この式は、その範囲のゼロ以外の値の配列をまとめます。セルの1つの値が0の場合、MAX関数が開始され、範囲から最大値が返されます。 (これは基本的に、最小値とは見なされない、そのセルの値(元々は0)をキックします。)セルの1つの値が0でない場合、実際の値が返されます。

次に、MIN関数は配列から最小値を返します。

次のように数式を逆にすることで、数式をさらに短くすることができます。

=MIN(IF(A1:A5<>0,A1:A5))

このバージョンでは、範囲の各セルの値がチェックされ、0でないかどうかが確認されます。0でない場合は、値が返されます。

0の場合、何も返されません。この場合も、MIN関数を使用して、配列から最小値を返します。

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

このヒント(9330)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。