• ベストアンサー

エクセルで所得税率と控除金額を出したい

一つのセルに所得金額を入れたときに、下記にあわせてパーセンテージと控除額を別のセルに出すことは出来ますでしょうか? パターンが6種類あるので悩んでしまいました。。 このような場合計算式はどういったものになるでしょうか?宜しくお願いいたします 所得税率 195万円以下   5% 0円 195万円を超え330万円以下    10% 97,500円 330万円を超え695万円以下   20% 427,500円 695万円を超え900万円以下    23% 636,000円 900万円を超え1,800万円以下    33% 1,536,000円 1,800万円超

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

所得税率表を同じシートに作成してもよいですがここでは例えばシート2にデータベースとして作成しておくことにします。 シート2のA1セルに所得税率、A2セルに所得金額、B2セルにパーセンテージ、C2セルに控除額とそれぞれ文字を入力します。 A3セルには0を、A4セルには1950000を、A5セルには3300000を、A6セルには6950000を、A7セルには9000000を、A8セルには18000000をそれぞれ入力します。また、B3セルには0.05、B4セルには0.1、B5セルには0.2、B6セルには0.23、B7セルには0.33をそれぞれ入力します。C3セルには0、C4セルには97500、C5セルには427500、・・・・と入力します。 そこで例えばシート1のA1セルに所得金額が入力されているとし、B1セルにパーセンテージを表示させるとしたらB1セルに次の式を入力します。 =IF(A1="","",VLOOKUP(A1-0.1,Sheet2!$A:$C,2,TRUE) また、控除額をC1セルに表示させるのでしたらC1セルに次の式を入力します。 =IF(A1="","",VLOOKUP(A1-0.1,Sheet2!$A:$C,3,TRUE) VLOOKUP関数の引数でTRUEを使うことでシート2のA列に書かれた数値以上で、その行のパーセンテージや控除額が表示されますが、ここではその額を超えた場合ということで所得金額から0.1円を引いた数値を式の中では使うなどの工夫が必要です。

penpen0358
質問者

お礼

完璧に出来ました! ものすごく助かりました。ありがとうございました

その他の回答 (2)

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

こんにちは! ○以上~△未満 といった区分けなら昇順に表を作成し、VLOOKUP関数のTRUE型で対応できると思いますが、 今回は ○より大きく~△以下 ということですので、やり方だけ・・・ ↓の画像のように降順に表を作成しておきます。 (薄い黄色部分だけでOKなのですが、判りやすくするために敢えてE列を表示しています) F2セルはこれ以上はない!という数値を入れておきます。 B2セルに =IF(A2="","",INDEX($G$2:$G$7,MATCH(A2,$F$2:$F$7,-1))) C2セルに =IF(A2="","",ROUND(A2*B2,0)) という数式を入れ、オートフィルで下へコピーすると 画像のような感じになります。 参考になりますかね?m(__)m

penpen0358
質問者

お礼

とっても参考になりました ありがとうございました♪

  • -9L9-
  • ベストアンサー率44% (1088/2422)
回答No.1

VLOOKUP関数の典型的な使用例です。まずこれらのデータを一覧にして、その範囲をVLOOKUP関数の引数(第2引数)にし、検索の型(第4引数)をTRUEに指定(省略可)すれば目的の値を表示できます。 VLOOKUP関数はEXCELを実務で使いこなすうえで必須の関数ですから、覚えておいて損はないです。 ↓のサイトの「検索値が昇順に並んでいるケース」が使用例になります。ここではTRUEが省略されていますが、さらに下のほうに意味や用法などの解説があります。 http://officetanaka.net/excel/function/function/vlookup.htm

関連するQ&A

専門家に質問してみよう