ExcelのMIN関数を使って、ある範囲から基準値以上の最小値を取得したいという問題について解説します。特に、IF関数を併用した場合に結果が予想と異なることがありますが、その原因と解決方法を詳しく紹介します。
問題の説明:MIN関数を使った検索で誤った結果が表示される
質問者は、Excelで「=MIN(IF(B16:B25>=B13,B16:B25,0))」という数式を使用し、B16~B25の範囲内でB13の値以上の最小値を求めようとしました。しかし、正しい数値が表示されず、最小値が表示されてしまうという問題に直面しています。
なぜ数式が期待通りの結果を返さないのか?
原因は、Excelの「配列数式」に関する理解不足にあります。MIN関数とIF関数を組み合わせて使用する場合、配列数式として認識させる必要があります。通常、IF関数は条件に一致する値を返しますが、この時点では数式が「配列数式」として認識されないため、全ての値が一つのセルに集約されることになります。これにより、最小値が範囲全体から取得されてしまうのです。
解決方法:配列数式を使用する
この問題を解決するには、数式を「配列数式」として入力する必要があります。配列数式にすることで、条件に一致する値を処理し、最小値を正確に求めることができます。
- 数式:
=MIN(IF(B16:B25>=B13, B16:B25)) - 数式を入力後、Ctrl + Shift + Enterで配列数式として確定します。
これで、条件を満たす値の中から最小値を求めることができ、問題が解決します。
まとめ
ExcelのMIN関数とIF関数を組み合わせて最小値を求める際には、配列数式を使う必要があります。数式を入力した後、Ctrl + Shift + Enterで配列数式として確定することで、期待通りの結果を得ることができます。これで、範囲内の基準値以上の最小値を正確に求めることができるようになります。


コメント