- ベストアンサー
この数式の間違い個所を教えてください。
いつもお世話になっております。 平成18年度の65歳年金収入の所得換算式は、以下のとおりになっておりますが、 (0~1,200,000)は、「0」 (1,200,001~ 3,299,999)は、「収入-1,200,000」 (3,300,000~ 4,099,999)は、「収入*0.75-375,000」 (4,100,000~ 7,699,999)は、「収入*0.85-785,000」 (7,700,000~)は、「収入*0.95-1,550,000」 数式を以下のように作りました。 =IF(D5<=1200000,"0",IF(1200001<=3299999,D5-1200000,IF(D5<=4099999,D5*0.75-375000,IF(D5<=7699999,D5*0.85-785000,IF(7700000<=D5,D5*0.95-1550000))))) セルD5に収入金額420万円を入れると、所得金額が数式の入ったセルに「300万円」と表示されてしまいます。 正しい所得は、「2,785,000円」だと思います。 数式のどこが間違っているのか教えてください。 よろしくお願いします。 「エクセル2003」
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
数式の IF(1200001<=3299999,D5-1200000, の部分がIF(D5<=3299999,D5-1200000, なら正常に動きますよ。 質問者さんの書き方だと1200001が3299999以下の時に D5-1200000をせよ、となってしまいますから、毎回実行されてしまいますね。
その他の回答 (2)
- mshr1962
- ベストアンサー率39% (7417/18945)
まあ答えは出てますが、こんな計算方法もあります。 =CHOOSE(MATCH(D5,{0,1200001,3300000,4100000,7700000},1),0,D5-1200000,D5*0.75-375000,D5*0.85-785000,D5*0.95-1550000)
お礼
簡単ですね。勉強します。ありがとうございました。
- laputart
- ベストアンサー率34% (288/843)
最初の方の 1200001<=3299999 は間違いでしょう。 これは常に真です。 =IF(D5<=1200000,"0",IF(D5<=3299999,D5-1200000,IF(D5<=4099999,D5*0.75-375000,IF(D5<=7699999,D5*0.85-785000,IF(7700000<=D5,D5*0.95-1550000)))))
お礼
ありがとうございます。注意不足ですね。助かりました。
お礼
ありがとうございます。注意不足ですね。助かりました。