• ベストアンサー

【Excel】範囲内にある数値の0以外の最小値を求める数式を教えてください

添付した画像にある表を作成しようとしています。 各検収月の売掛金と買掛金のどちらかの最小値を相殺金額にしたいので 2009/05ならばF4に下記のような数式を入れてみました。  =MIN(IF(C4:D4<>0,C4:D4,"")) 関数の知識が乏しく、見よう見真似で式にしているところもあり エラーになってしまいます。 0以外の最小値にしたい理由は、2009/06のように売掛金か買掛金の どちらかが0だった検収月の場合に、最小値を0としたくないからです。 ※ここでいうと売掛金の303,240を相殺金額へもって行きたいのです F列の各セルに入れる数式を、ご教示頂けませんでしょうか。 よろしくお願いい致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

いろんな手口を思いつきますが、簡単なところでsmall関数を使っ て、0が一つもなければ一番小さな値、0が一つあれば2番目に小さ な値を返す方法。負の数値が入ることは想定していません。 =small(C4:D4,1+countif(C4:D4,0)) 範囲内が全部0だと#num!エラーになるので、適当にエラー処理を追 加してください。同様に負の値が入ることを想定しなければ、 =if(sum(C4:D4),small(C4:D4,1+countif(C4:D4,0)),"") あたりで充分ですね。

その他の回答 (3)

noname#204879
noname#204879
回答No.4

F4: =IF(C4*D4,MIN(C4:D4),SUM(C4:D4))

  • yucco_chan
  • ベストアンサー率48% (828/1705)
回答No.2

=IF(OR(C4=0,D4=0),MAX(C4:D4),MIN(C4:D4))

  • chiizu2
  • ベストアンサー率41% (164/400)
回答No.1

次のようにしたらどうでしょうか =IF(C1=0,D1,IF(D1=0,C1,(MIN(C1:D1))))

Torizoh
質問者

お礼

早速のご教示ありがとうございます。 エラーが出なくなり大変助かりました。

関連するQ&A

専門家に質問してみよう