• 締切済み

IF関数について

収入金額から所得をだす数式をIF関数で考えてるんですが、うまくいきません。 収入金額130万円以下の場合、収入金額-70万円 収入金額130万円超410万円以下の場合 収入金額×0.75-375000 収入金額410万円超770万円以下の場合 収入金額×0.85-785000 収入金額770万円超の場合、収入金額×0.95-1555000 の条件で、=IF(B9>7700000,IF(AND(B9<=7700000,B9>4100000),IF(AND(B9<=4100000,B9>1300000),IF(B9<=1300000,B9-700000,B9*0.75-375000),B9*0.85-785000),B9*0.95-1555000)) で自分なりにやってみたんですが、うまくいきませんでした。ご回答よろしくお願いします。

みんなの回答

  • surounin
  • ベストアンサー率28% (30/106)
回答No.11

マイナス対応 忘れてました(汗) =IF(C6>7700000,ROUNDDOWN(C6*0.95,0)-1555000,IF(C6>4100000,ROUNDDOWN(C6*0.85,0)-785000,IF(C6>1300000,ROUNDDOWN(C6*0.75,0)-375000,if(C6-700000<0,0,C6-700000)))) でどうでしょ

全文を見る
すると、全ての回答が全文表示されます。
  • oyaji-2
  • ベストアンサー率24% (6/25)
回答No.10

条件の法則を考えると、境目の金額で折れる連続した折れ線になっています。そこで130万円以上では3つの条件で計算した答の最大値が求める答えになるのでは? MAX(B9*0.75-37.5,B9*0.85-78.5,B9*0.95-155.5) でも、130万円以下はこの法則が当てはまらないのでIF関数を使うしかないでしょう。

全文を見る
すると、全ての回答が全文表示されます。
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.9

No.7です。 >マイナス表示は0に置き換えられれば それなら、No.7の数式を以下に置き換えます。 =B9*VLOOKUP(B9/10000,{0,0;70,1;130,0.75;410,0.85;770,0.95},2,TRUE)-VLOOKUP(B9/10000,{0,0;70,70;130,37.5;410,78.5;770,155.5},2,TRUE)*10000 また、他の人のIFの回答を手っ取り早く直す場合は、 =MAX(元の数式,0) とMAX関数を大外に付けましょう。

全文を見る
すると、全ての回答が全文表示されます。
  • itman
  • ベストアンサー率50% (1/2)
回答No.8

No.4です ・・っと、5ひとつが多かったので訂正します。すみません(-▽-;) =IF(B9<1300000,B9-700000,IF(AND(B9>=1300000,B9<4100000),B9*0.75-375000,IF(AND(B9>=410,B9<770),B9*0.85-785000,B9*0.95-1555000)))

sayu252525
質問者

お礼

再度のご回答ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.7

こんにちは。maruru01です。 IFの入れ子ではない方法を。 =B9*VLOOKUP(B9/10000,{0,1;130,0.75;410,0.85;770,0.95},2,TRUE)-VLOOKUP(B9/10000,{0,70;130,37.5;410,78.5;770,155.5},2,TRUE)*10000 ところで、収入金額70万未満はどうなるんですか? (質問欄の条件だとマイナスになりますが。)

sayu252525
質問者

お礼

ご回答ありがとうございます。 参考にさせていただきます。 そうなんですよね・・・マイナス表示は0に置き換えられれば最高なんですが・・ そうなると、またIFを・・・頭混乱・・

全文を見る
すると、全ての回答が全文表示されます。
回答No.6

=if(B<=130,B-70,if(and(B>130,B<=410)=true,B*0.75-37.5,if(and(B>410,B<=770)=true,B*0.85-78.5,B*0.95-155.5))ではどうですか?

sayu252525
質問者

お礼

ご回答ありがとうございます。 参考にさせていただきます。 もっと早く皆さんに聞いていれば・・

全文を見る
すると、全ての回答が全文表示されます。
  • surounin
  • ベストアンサー率28% (30/106)
回答No.5

NO2です C6は値が入っているセルを指定してください^^;

全文を見る
すると、全ての回答が全文表示されます。
  • itman
  • ベストアンサー率50% (1/2)
回答No.4

これでいかがでしょうか。 =IF(B9<1300000,B9-700000,IF(AND(B9>=1300000,B9<4100000),B9*0.75-375000,IF(AND(B9>=410,B9<770),B9*0.85-785000,B9*0.95-15555000)))

sayu252525
質問者

お礼

ご回答ありがとうございます。 参考にさせていただきます。 もっと早く皆さんに聞いていれば・・

全文を見る
すると、全ての回答が全文表示されます。
  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.3

NO1です。 すみません、ゼロの位置は直さずに試してください。 考えるときはゼロを省略して考えたのですが、書き込むときに直していました(笑) ですから、そのまま使えるはずです。 ちなみにB1のセルに収入を入れてくださいね。B9ではありませんので。

sayu252525
質問者

お礼

再度のご回答ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • surounin
  • ベストアンサー率28% (30/106)
回答No.2

失礼ですが,IFの使い方が悪いですね^^; IFは入れ子で使います if(条件,成り立つときの式、成り立たないときの式) を入れ子で使ってください =IF(C6>7700000,ROUNDDOWN(C6*0.95,0)-1555000,IF(C6>4100000,ROUNDDOWN(C6*0.85,0)-785000,IF(C6>1300000,ROUNDDOWN(C6*0.75,0)-375000,C6-700000))) でどうでしょうか?

sayu252525
質問者

お礼

ご回答ありがとうございます。 そうなんです。所得を求める際は小数点以下切捨てなくてはならないんですよね! まさに求めていた数式です。 早速使わせていただきます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

    エクセルの数式でIFを使って、下記のような複数の条件の時に、それぞれの計算結果を算出する式を作りましたが、単純に条件を並べただけで(IFとAND使用)、式が長くなってしまいます。これを短く出来る式の方法はありますでしょうか?(他の関数を使用する方法など)また、エクセルの関数の数式を応用編まで詳しく調べられるサイトをご存知でしたら教えてください。 (条件の例)R1への式入力 (1)A1がに"A"か"B"かを入力 (2)A1がAで、B2の値がC3以下の時、R1には8、C3より大きい場合は、B2-C3の値を表示 (3)A1がBで、B2の値がC3以下の時、R1には5、C3より大きい場合は、(B2-C3)/2の値を表示 といった条件を満たすものが作成したいです。 ちなみに私が作成した式は、 =IF(AND(A1=A,B2<=C3),8),IF(AND(A1=A,B2>C3),B2-C3,・・・・)って感じです。こんな方法しか無いでしょうか?

  • エクセルの関数について(IF,AND関数)

    エクセルでIF,ANDを用いた関数計算の数式を作っているのですが、うまく出来ません。 どなたか詳しい方、教えて下さい。 たとえばこんな感じです。 ※条件は2個 ●第1条件~東京、大阪、北海道(3パターン) ●第2条件~数値の大小(3パターン) この2個の条件を満たす値、全部で9種類の計算パターンを実行できる数式を作ろうと思っています。 あともう1条件(IF文)入れたいのですが、これ以上入れると計算しません。 =IF(AND(B22>5000,B5="東京"),111,IF(AND(B22>=2000,B5="東京"),ROUND(300*B22^2/1000,4),IF(AND(B22<2000,B5="東京"),222,IF(AND(B22>5000,B5="大阪"),333,IF(AND(B22>=2000,B5="大阪"),ROUND(300*B22^2/1000,4),IF(AND(B22<2000,B5="大阪"),444,IF(AND(B22>5000,B5="北海道"),555,666)))))))

  • IF関数についておしえてください。

    お世話になります。 作成している表の中で、利用しようとおもっている関数について教えてください。 A1セルに下記のようなIF関数を作成しました。 =IF(AND(B2>=1,C2<=0),"○",IF(AND(C2>=1,B2<=0),"○",IF(AND(B2>=1,C2>=1),"○",IF(AND(B2<=1,C2<=1),"")))) B2セルは別シートからVLOOKUPを利用して検索してきて、数字を表示させているセルのため、 該当しない場合”#N/A”と 表示されるところがありました。それで、”=IF(ISERROR”を利用して、#N/Aと表示される場合、空白で表示される数式にしたところ、今度はA1セルが条件にあっていないのに”○”と表示されるようになりました。≪”B2=空白(”#N/A”),C2<=1の場合にあたるのだと思います。≫ *B2セルを”空白”ではなく”0”で表示させるようにしても同様に”○”となりました。 A1セルに、  B2>=1,C2<=0の場合”○”  C2>=1,B2<=0の場合”○”  B2>=1,C2>=1の場合”○”  B2<=1,C2<=1の場合"空白" で表示できる方法をご存じの方、ご教示お願いいたします。 簡単なことなのかもしれませんが、エクセル関数初心者のため、大変困っております。 うまく、不明な点を説明できていませんでしたら、申し訳ございません。何卒 よろしくお願いいたします。

  • エクセルのIF関数とVLOOKUP関数について教えてください。

      A B C 1 A1 B1 C1 2 A2 B2 C2 ・ ・ ・ 上記のような表があり、セルX、Yに入力した値が2つの条件に合致した場合、セルZにC列の値を返すような数式を作っています。 たとえば、セルXの値がA1より小さく、かつ、セルYの値がB1より小さい場合にはセルZにC1の値を表示する、という数式を作りたいのです。 (ちなみにAn、Bn、Cnにはそれぞれ数字が入ります) =IF(AND(X<=A1,Y<=B1),C1,IF(AND(X<=A2,Y<=B2),C2,・・・ AND関数を利用してこのように数式を入れると、途中まではうまくいくのですが、引数が多いため途中からエラーが出てしまいます。 (引数の数は10個以上あります) IF関数とVLOOKUPを組み合わせればいいというところまではわかるのですが、どのように条件設定をすればいいのかがわかりません。 エクセル初心者で恐縮ですが、どなたか詳しい方いらっしゃいましたらご回答よろしくお願いいたします。

  • excelのand関数、IF関数について

    エクセルのand関数、IF関数について質問です。 非常に簡単なことで申し訳ないのですが、仮にセルA2が5でかつセルB2が0の時にtrueとしたいときの関数は=and(A2=5,B2=0)であっているでしょうか。また、これをIFの関数で表す場合、=IF(A2=5,IF(B2=0,1,0),0)で同じ意味になるでしょうか?(IFの方は条件を満たす場合を1、満たしていない場合を0としたつもりです) ANDの方の関数は、多分合っていると思うのですが…。エクセルに入力しても、正しい結果が得られなかったので、質問させていただきました。初心者です。つまらない質問で申し訳ないのですが、よろしくお願いします。 

  • if関数とAND関数の使い方

    エクセルのif関数とANDをつかって複数条件を設定したいのですが、上手く行かずに困っています。 D13のセルの値が以下の場合 29以下なら”1” 30以上34以下なら”2” 35以上39以下なら”3" 40以上44以下なら"4" 45以上なら"5" そこで、次のように式を作ってみたのですが、 「この関数に対して多すぎる引用が入力されています。」とエラーがでてしまいます。 どなたか、お詳しい方、教えていただけたら幸いです。 お願い致します。 =IF(IF(D13<=45,"5"),AND(D13>=40,D13<=44),"4",IF(AND(D13>=35,D13<39),"3",IF(AND(D13>=30,D13<34),"2",IF(D13>=29,"1")))))

  • IF関数にて

    ある検定問題集の問題なんですが、県別人口データという表があって、その中から男の人口が1500000以上で、女の人口が2000000以上の県の数を関数を用いて求めなさい。ただし、countif関数、データベース関数を利用せず、配列数式を用いて求めなさい。という問題があります。 で、{=sum(if(男の人口>=1500000,if(女の人口>=2000000,1,0)))}というのが答えなんですが、 {=sum(if(and(男の人口>=1500000,女の人口>=2000000),1,0)))}とした場合、エラーを出します。 男の人口が●人以上、女の人口が●人以上という二つの条件をともに満たす場合、and関数で出せたと思ったのですが、なぜandを使うとエラーが出るのでしょうか?

  • 文字列を含んだIF関数

    IF関数についての質問です 現在以下のような関数を入れています。 A1とは受注数量です。 A1が100個以下の場合A1×300円 A1が100個以上の場合A1×200円     ↓ =A1*IF(A1>=100,200,300) つまり、受注数量によって金額が変わるというものなのですが B1に顧客名を入れて、B1が○○様だった場合100円で売るという 文字を含んだIF関数も足したいのです。 方法がありましたら教えて頂けませんでしょうか。 お願い致します。

  • IF関数について教えてください。

    IF関数について教えてください。    A    B    C    D     1              ここの関数     この場合D1の数式をご教授お願いします。   もしA1に数値を入力した場合は「C1+A1」、もしB1に数値を入力した場合は「C1-B1」   おそらく2つのIFがあるのはわかるのですができません。      よろしくお願いいたします。

  • IF関数でしょうか?

    IF関数だと思うのですが、セルA1に仮に数値30と入っています。で条件としてセルB1が0.2の場合にはA1(値30)に1.1を掛けます。ただB1が0.3の場合はA1(値30)に0.9を掛けます。B1が0.4の場合にはA1(値30)に0.7を掛けます。同じ様にB1が0.5の場合にはA1に0.6を掛けます。その値をC1に表示したいと言う場合、C1の数式はどのように描けばよいのでしょうか?

専門家に質問してみよう