• ベストアンサー

エクセル関数 IF?ちょっと複雑な関数を

エクセル 関数の使い方を教えてください。 50000円以上なら、その価格の10.5%を差し引いて、さらに200円引 50000円以下なら、7500円引き という関数を作りたいのですが なかなか上手くいきません。 どなたかエクセルに詳しい方、ご教授ください、よろしくお願いします。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

 確認したいのですが、50000円以上の場合において、価格の(10.5%+200円)を差し引いた後の値に含まれている端数は、そのまま表示させた方が良いのでしょうか、それとも四捨五入や切り捨て等の、数値を丸めるための何らかの処理をさせた方が良いのでしょうか?  例えば元の価格が50005円の場合、価格の(10.5%+200円)を差し引いた後の値は44554.475円になりますが、 その値の1円未満の端数を切り捨てた場合は44554円、 その値の1円未満の端数を切り上げた場合は44555円、 その値の1円未満の端数を四捨五入した場合は44554円、 となります。  今仮に、元の価格がA1セルに表示されているものとしますと、 端数もそのまま表示する様にする関数は =IF(ISNUMBER(A1),A1-IF(A1<50000,7500,A1*0.105+200),"") 1円未満の端数を切り捨てる様にする関数は =IF(ISNUMBER(A1),A1-IF(A1<50000,7500,ROUNDUP(A1*0.105,0)+200),"") 1円未満の端数を切り上げる様にする関数は =IF(ISNUMBER(A1),A1-IF(A1<50000,7500,INT(A1*0.105)+200),"") 1円未満の端数を四捨五入する様にする関数は =IF(ISNUMBER(A1),ROUND(A1-IF(A1<50000,7500,A1*0.105+200),0),"") になります。

ganpner
質問者

お礼

ありがとうございました、=IF(ISNUMBER(A1),A1-IF(A1<50000,7500,A1*0.105+200),"")  で完璧に計算してくれました。質問の数値は実際とは変更しています。実際は端数は出ませんでした。

その他の回答 (5)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんばんは! 他の方々からの指摘があるようにちょうど50000円の場合はどちらに? それからもし7500円以下の場合はどうなるのでしょうか? 仮に6000円でも50000円以下となり7500円を引くとマイナスになってしまいますけど。 上記のコトを踏まえて・・・ こちらで勝手に50000以下の場合は15%引き 50000を超える場合は10.5%引きからさらに200円引きとすると A1セル以降にデータがある場合 B1セルに =IF(A1="","",IF(A1>50000,ROUND(A1*(1-0.105)-200,0),ROUND(A1*(1-0.15),0))) としてオートフィルではどうでしょうか? ※ この数式で50000円と55000円を比較した場合、50000円の方が55000円より割引額が多くなるので おそらくもう一つか二つは金額の区分があるのでは? 参考にならなかったら 無視してください。m(_ _)m

ganpner
質問者

補足

すいません!50000円以上、、50000円未満、、の間違いでした!

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

=IF(A1="","",IF(A1>=50000,A1*89.5%-200,IF(A1>7500,A1-7500,A1))) みたいなカンジで計算します。

回答No.3

50000以上、50000以下……? 50000以上、49999以下……? 正しくは?どちらですか? 単純に…=If(○≧50000,○-(○×0.105)-200,○-7500)とかでは?ダメですか? 今、パソコンが無い場所だから、正解かどうかわかりませんが、理屈で言うと…こんな感じでは? 間違ってたらスミマセン!!

ganpner
質問者

補足

すいません!50000以上、49999以下です!

  • miles3912
  • ベストアンサー率65% (68/104)
回答No.2

一番シンプルな方法ですが…と云いますか、この程度しかわかりませんが参考になりましたらお試しください。 A1のセルに適宜金額を入力することとしまして… A2のセルに次の関数を入力しまして… =IF(A1>=50000,-ROUNDDOWN(A1*0.105+200),-7500) ※円未満切捨としてみました。 そうしますと、A2のセルに値引金額が返されると思います。 A3のセルに次の関数を入力すれば、値引き顔の金額が返されると思います。 =A1-A2 ところで…条件設定は「50,000円以上か50,000円以下」ではなくて、「50,000円以上か50,000円未満」又は「50,000円超か50,000円以下」の何れかですよね? ちなみに、上記の数式は「50,000円以上か50,000円未満」という設定になっています。 また、余計なお世話なんですが…求める金額が代金の値引金額だとしますと、50,000円以下の場合の方が50,000円以上より値引金額が多額になる場合があると思いますが、これは気にする必要はないんですよね?

回答No.1

=IF(A1>=50000,A1-(A1*0.105+200),A1-7500) それで50000円はどっちになるんでしょうか? この式だと10.5%と200円引きになります。 7500円引きにする場合は、「 A1>=50000 」 を 「 A1>50000 」にしてください。 ちなみにこれは、A1のセルに金額を入力した場合です。

ganpner
質問者

補足

すいません!50000円以上、、と50000円未満でした!

関連するQ&A