vlookup関数の使い方を教えてください
税金の計算をしています。
今、このような表があります。
平成22年以降所得税
B列 C列 D列
課税所得 税率 控除額
1,950,000以下 5% 0
3,300,000以下 10% 97,500
6,950,000以下 20% 427,500
9,000,000以下 23% 636,000
18,000,000以下 33% 1,536,000
18,000,000以上 40% 2,796,000
任意の金額を入力すると、それに応じた給与所得控除額を算出したいとおもい、次のようなIF式を立てました。
税率算出(H69に任意の給与所得額を入力する)
=IF(H69<=$B$60,$C$60,
IF(AND($B$60<H69,H69<=$B$61),$C$61,
IF(AND($B$61<H69,H69<=$B$62),$C$62,
IF(AND($B$62<H69,H69<=$B$63),$C$63,
IF(AND($B$63<H69,H69<=$B$64),$C$64,
IF(AND($B$64<H69),$C$65,
"ERR"))))))
控除額算出
=IF(H69<=$B$60,$D$60,
IF(AND($B$60<H69,H69<=$B$61),$D$61,
IF(AND($B$61<H69,H69<=$B$62),$D$62,
IF(AND($B$62<H69,H69<=$B$63),$D$63,
IF(AND($B$63<H69,H69<=$B$64),$D$64,
IF(AND($B$64<H69),$D$65,
"ERR"))))))
納税額算出
=(ROUNDDOWN(H69,-3)*I69)-J69
一応、計算はできているようですが、もっとスマートにやりたいです。
しかしVlookup関数を使ってみましたがどうもうまくできません。
何が悪いのでしょうか?
また、同様の表で、所得税率計算もやっています。
こちらもIF式なら何とか組めたのですが、
こちらもVloolup関数を使った方法を教えてください。
給与所得控除
B列 C列 D列
給与所得金額 控除率 さらに加算する控除額
650,000以上 0% 650,000
1,800,000以上 30% 180,000
3,600,000以上 20% 540,000
6,600,000以上 10% 1,200,000
10,000,000以上 5% 1,700,000
IF式で組むとこうなった。
税率
=IF(I12<=B70,0,
IF(AND(B70<I12,B71>=I12),C70,
IF(AND(B71<I12,B72>=I12),C71,
IF(AND(B72<I12,B73>=I12),C72,
IF(AND(B73<I12,B74>=I12),C73,
IF(AND(B74<I12),C74))))))
税額
=IF(I12<=B70,0,
IF(AND(B70<I12,B71>=I12),D70,
IF(AND(B71<I12,B72>=I12),D71,
IF(AND(B72<I12,B73>=I12),D72,
IF(AND(B73<I12,B74>=I12),D73,
IF(AND(B74<I12),D74))))))
よろしくお願いします。
お礼
ありがとうございました。出来ました。 OFFSET関数はまねっこでよく使っていますが、使い方がよくわからないのです。 でも意図通りの答えが出ました。ありがとうございました。 これからもよろしくお願いします。