• ベストアンサー

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

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

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答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/6970)
回答No.2

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

usagi-daisuki-
質問者

お礼

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

  • chie65535
  • ベストアンサー率43% (8512/19352)
回答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

  • エクセル if関数について

    いつも有難うございます。 エクセルで以下の計算式を関数で作る方法を教えてください。 C1のセルに下の計算式を入れます。 A1×B1=C1 この時には30,000以上になる場合は一律30000にしたいのです。 30000未満の場合は計算式通りの数字をいれます。 恐れ入りますが、教えて頂けると助かります。 宜しくお願い致します。

  • エクセルで関数SUMなどで

    エクセルで関数SUMなどで 合計を求めた数値が、あるセルにあるとします。 その合計の数値を、そのまま数字として ・・・(関数(計算式)は無くして) 他のセルに貼り付けたいのですが そのような事は出来ますでしょうか・・・。 御教示の程、よろしくお願いいたします。 <m(__)m>

  • エクセルで条件付きで合計を出す関数を教えてください

    エクセルについてなのですが、数値が入っているセルがA1、A3、A5・・・とひとつおきになっています。その数値のうち0(ゼロ)以上の数値のみの合計を計算したいのですがどんな関数式があるのでしょうか。よろしくお願いします。

  • Excelの関数に関する質問

    Excelに関する質問です。例えば、A1~A10セルに1~3の数字がランダムに入っており、B1~B10セルに適当な数字が入っています。B1~10セルのうち、左の隣のセルに"1"が入ってるものの合計、同じく"2"が入っているものの合計、"3"が入っているものの合計をそれぞれ計算したいと思うのですが、どのように式をつくれば宜しいでしょうか?

  • Excel:IF関数について

    以下のような条件付けのものを、Excelで関数にしたいと思います。どなたかお知恵を拝借できないでしょうか? 1)内容 「A1セル、A2セル、A3セルにランダムの数字が入ります。もしA3セルの数字がA1セルとA2セルとの数字の間にある時は、A4セルにA3セルの数字を表示させ、もしA3セルの数字がA1とA2セルの数字の間に入っていない場合は、A1・A2・A3セルの数字の中央値をA4セルに表示させる。」 2)自分なりに考えたが、分からない点 IF関数を使い、「=IF(AND(A3>A1,A3>A2)またはAND(A3<A2,A3<A1),median(A1:A3),A3)」で表現できるかと思いました。ただ、この中で「または」と書いたところのexcelでの関数の作り方がわかりません。

  • エクセル関数について

    エクセル(2003)の関数についてお教えください。 例えば、A1セル(3桁程度以下)からA8セル(3桁程度以下)の合計数と、ある一定数(例えば 1,000)との小さい方の数値を求めたいときは、A9セルにどのような関数を入れたらよいのでしょうか。 よろしくご教示ください。

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

    エクセルIF関数について お世話になっております。エクセルのIF関数について教えてください。 例えばA1に任意で入力する数字があるとします。 このA1の数字が4以下なら○、10以上なら×、5-9の間なら何も表示しないというような関数を組みたいのですが、どなたか教えていただけないでしょうか? たぶん、IF関数だと思いますが、もし違うならその関数を教えてください。 よろしくお願いします。

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

     こんにちわ。仕事で成績の評価表の作成をしたくて、エクセルで表を作成しました。    表は、  Aのセル・・・氏名 Bのセル・・・テストの点数 Cのセルが平常点          Dのセル・・・BとCのセルを合計した合計点数          Eのセル・・・成績評価  Fのセル・・・合計点数による順位    という表を作成しました。    Eのセルに Dのセルの合計点数を基準として 5段階の評価をつけたい。    条件が、 85点以上が5、60点以上が4、50点以上が3、35以上が2、1~34点までが1    =IF の関数 =IF(論理式、真の場合、偽の場合) というのを使用すればいいのは   わかったんですが、いまいち関数式の取り方、書き方がわからなくて・・・本をみて記入して   みたんですがエラーになります。   どうしたら評価を自動転記することができるか、教えてください。   また点数をもとに順位をつける方法も教えて欲しいです。よろしくお願いします。

  • エクセル関数

    エクセル関数が今一よく理解できてません。 A1からA3の各セルに、ランダムに1から5のうち3つの数字が入ります。 A1からA3のセル内に、「1」があればA4のセルに「●」を、 A1からA3のセル内に、「2」があればA5のセルに「●」を、 A1からA3のセル内に、「3」があればA6のセルに「●」を、 と同様に4があればはA7に、5があればA8のセルに「●」をうつ表を作成しました。A1からA3のセルは、左側から昇順に並んでいます。この場合、どんな関数を使えばよいか教えてください。

  • Excel :条件が一致した時にその数字を表示する関数

    以下の内容をExcelの関数で表す場合にどのような関数が有効でしょうか?どなたかお知恵を拝借願えると幸いです。 「A1,A2,A3にランダムに数字が入っています。仮に、3つにセル中、2つ以上の数字が一致した時には、A4セルに一致した数値を表示させ、3つのセルの数字がどれも一致しない場合は、ゼロと表示させます」 以下のようなIF関数を考えてみたいのですが、「真の場合」に一致した数字を表示させる方法が分からず悩んでいます。 IF(OR(A1=A2,A1=A3,A2=A3),一致した数字,"0") 勿論、このIF関数に拘っていないので、上述「」内の内容が関数で表現できればよいと考えております。

専門家に質問してみよう