• ベストアンサー

エクセルのIF関数について

関数の作成についてお伺いします。 エクセルの関数を使って、単価に対する合計を出したいのです。 A1セルにランダムな数字が入っているとして その数値が1~2999までの単価が25円 3000以上4999以下なら単価22円 5000以上で単価19円 で合計を計算したいのです。 たとえば、A1セルの数値が5500なら 3000*25=74975 2000*22=43978 500*19=9500 で128453 という合計を出せるようにしたいのです。 よろしくお願いいたします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

範囲が曖昧なので2つの式を作りました。 =MAX(A1-4999,0)*19+MIN(MAX(A1-2999,0),2000)*22+MIN(A1,2999)*25 上記で 2999*25=74975 :1個から2999個の2999個 2000*22=44000 :3000個から4999個の2000個 501*19=9519  :5000個から5500個の501個 で合計128494 =MAX(A1-5000,0)*19+MIN(MAX(A1-3000,0),2000)*22+MIN(A1,3000)*25 上記で 3000*25=75000 :1個から3000個の3000個 2000*22=44000 :3001個から5000個の2000個 500*19=9500  :5001個から5500個の500個 で合計128500

usagi-daisuki-
質問者

お礼

ご配慮感謝します。 ありがとうございます。参考にさせていただきます。

その他の回答 (4)

  • angkor_h
  • ベストアンサー率35% (551/1557)
回答No.5

ご質問の内容は比較が単純なので、  A1<=2999ならば、A1*@25  A1<=4999ならば、A1*@22  でなければ、A1*@19 をそのまま記述すれば、順番に処理してくれます しかし、if文は、thenとelseの階層や括弧の組み合わせでよく間違いを起こし、正否確認も解かりづらいのが欠点です。階層や条件が増えるとなおさらです。 私はif分が嫌いで、論理式掛け算を良く使います。 先の例題で言えば、  答え=A1* (       and(1<=A1,A1<=2999) *25 +       and(2999<A1,A1<=4999)*22 +        (4999<A1) *19       ) こう書かれていると、各単価の範囲が式上にそのまま見ることができて確認が容易です。 なお、excel計算式は改行やスペースを含んで見やすく記述(後者例5行記述のコピー利用)が可能です。 ご参考まで、でした…

usagi-daisuki-
質問者

お礼

IFを使わずとも、作成可能ということですね。 ありがとうございます。参考にさせていただきます。

回答No.3

前の人の回答…尊敬します! 色々な角度から物事を見ないとダメですねぇ… =IF(A2>=5000,(A2-5000)*19+(A2-(A2-5000)-3000)*22+(A2-(A2-3000))*25,IF(A2<3000,A2*25,IF(AND(A2>=3000,A2<5000),(A2-2000)*25+(A2-(A2-2000))*22,IF(A2<5000,(A2-2000)*25+(A2-(A2-2000))*22)))) ためしに、適当にですが作ってみました! 合っているかは不明(たぶんあっていないかと思います)

usagi-daisuki-
質問者

お礼

考えた次第で、いろいろ作れるものですね。 ありがとうございます。参考にさせていただきます。

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.2

=IF(A1<3000,A1*25,IF(A1<5000,3000*25+(A1-3000)*22,3000*25+2000*22+(A1-5000)*19))

usagi-daisuki-
質問者

お礼

ありがとうございます。参考にさせていただきます。

回答No.1

>たとえば、A1セルの数値が5500なら >3000*25=74975 >2000*22=43978 >500*19=9500 >で128453 >という合計を出せるようにしたいのです。 間違っています。 「1~2999までの単価が25円」なら 2999*25=74975 です。 「3000以上4999以下なら単価22円」なら 2000*22=44000 です。 「5000以上で単価19円」なら 501*19=9515 です。 2999*25=74975 2000*22=44000 501*19=9515 を合計すると「128494」にならないといけません。計算が間違っています。 なお、金額は =A1*19+MIN(A1,4999)*3+MIN(A1,2999)*3 の式で出せます。 これは「とりあえず全部19円で計算」して「4999個以下の部分は足りない3円を足して単価22円で計算」して「2999個以下の部分は足りない3円を足して単価25円で計算」しています。

usagi-daisuki-
質問者

お礼

ありがとうございます。参考にさせていただきます。

usagi-daisuki-
質問者

補足

ご回答ありがとうございます。 あわてていて、質問内容が間違えていたことに後で気が付きました。 1~2999個は@¥25 3000~4999個は@¥22 5000個~は@¥19 という意味でした。

関連するQ&A