Alecには、整数(23)と小数(23.4)の両方の値を含むことができるセルの範囲があります。彼は、範囲内の整数のみの最小値を返す数式を必要としています。範囲内の10進数は、数式で完全に無視する必要があります。それは公式である必要があります。マクロはアレックのニーズには実行可能ではありません。

ヘルパー列を使用してもかまわない場合は、値が整数であるかどうかを簡単に判断できます。あなたがする必要があるのは、ヘルパー列でこのような式を使用することです:

=IF(A1=INT(A1),A1,"")

最終的には整数のみになり、10進値はブランクに置き換えられます。次に、ヘルパー列のMIN関数を使用して、これらの整数値の最小値を決定できます。

ヘルパー列を使用できない場合は、配列数式を使用するのが最善の方法です。しばらくの間、セルの範囲がA1:A100であると想定します。次のいずれかの式を使用できます。

=MIN(IF(INT(A1:A100)=A1:A100,A1:A100))

これは配列数式であることを忘れないでください。つまり、Enterキーを押して入力するのではなく、Ctrl + Shift + Enterを使用する必要があります。

配列数式を使用せず、Excel 2010以降のバージョンを使用している場合は、AGGREGATE関数に基づく数式を使用できます。

=AGGREGATE(15,6,A1:A100/(A1:A100=INT(A1:A100)),1)

AGGREGATE関数で使用できるさまざまなパラメーターが多すぎてここにリストできませんが、この場合、最初のパラメーター(15)

SMALL関数を適用することを示し、2番目のパラメーター(6)

エラー値を無視することを示し、3番目のパラメーターは評価する配列であり、4番目のパラメーター(1)は、SMALLの最初の結果を返すことを示します。

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

このヒント(655)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。