【Excel】IF関数とAND関数を組み合わせて所得税を試算する

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

こんにちは。かわべです。

ExcelでIF関数とAND関数を組み合わせて、所得税額を試算する表を作成してみました。

IF関数のみで式を記述した方が良いのか、AND関数を組み合わせるべきなのか、この記事を参考にしてみてください。

IF関数とAND関数_0

[aside type=”pink”]この記事では、平成26年の所得税率を使用しています。平成27年以降、税制改正により税率が変更されていますので、ご注意ください。[/aside]


所得税額の試算表

所得税額の試算表(課税所得に税率をかける表)を作成してみます。

所得税は累進課税(るいしんかぜい)を採用しており平成26年分は6段階の税率になっています。(平成27年分からは7段階になります。)

IF関数を多用した所得税額の算出式

IF関数とAND関数_3

最初にIF関数を多用して所得税額を算出する式を作成してみました。

上記の表のD13セルには次のような式が入力されています。

[aside type=”boader”]「=IF(D12<=B2,D12*C2,
IF(D12<=B3,D12*C3D3,
IF(D12<=B4,D12*C4D4,
IF(D12<=B5,D12*C5D5,
IF(D12<=B6,D12*C6D6,D12*C7D7)))))」[/aside]

D12セルに入力した課税所得金額が、どの税率に該当するのかを判定し課税所得金額に対する税額を計算しています。税率が6段階ですので、IF関数を5回使っています。

IF関数とAND関数を利用した所得税額の算出式

IF関数だけを利用して所得税額の算出式を作成した場合、どうしても式が長くなってしまうので、IF関数とAND関数を利用する所得税額の算出式を考えてみました。

IF関数とAND関数_4

上の画像のE2のセルにはAND関数を使って、次の式を入力しました。

[aside type=”boader”]『=IF(AND(D$12>A2,D$12<=B2),D$12*C2D2,0)』[/aside]

条件(A列の金額以上、B列の金額以下)にあてはまらい場合は、E列に「0」を表示し、条件の範囲内であれば、『課税所得金額×税率-控除額』と計算しE列に表示するという式になっています。

E7セルだけは、40%の税率が適用される場合にはB列の「(以下)」の条件がないためE2からE6までの式とは異なり、次のような式を入力しています。

[aside type=”boader”]=IF(SUM(E2:E6)=0,D$12*C7D7,0)[/aside]

そしてE8セルにE列各行の数値の合計値(E2からE7の合計数値)を表示するように設定してあります。この合計値が所得税の額となります。

上の画像の例(課税所得金額が6,000,000円の場合)では、E8セルの数値は、さきほどのIF関数を多用して計算した結果(D13のセル)と一致しました。

結局、式を5回は記述しなければならないので、手間という点ではIF関数を多様した時と変わりません。

 

おまけ 配当所得の源泉徴収税率(法人の場合)を表示する

上場企業から受ける配当の源泉所得税の率が変更になっているので、次のような表を作成してみました。

IF関数とAND関数_1

「種類が『上場』で、日付が『2014年よりも前』であったら7.147%を表示しなさい」という式をIF関数のみで作成する場合とIF関数とAND関数を組み合わせて使う場合を想定してみます。

上場株式の配当に対する源泉所得税率を表示する式

上記の表のE2のセルには、次の式が入力されています。

[aside type=”boader”]『=IF(B2=”上場”,IF(YEAR(A2)<2014,7.147%,15.315%))』[/aside]

一方、E7のセルには、次の式が入力されています。

[aside type=”boader”]『=IF(AND(B7=”上場”,YEAR(A7)<2014),7.147%,15.315%)』[/aside]

あまり式の長さに変化はありません。

上場株式と非上場株式の配当に対する源泉所得税率を表示する式

上記の『上場株式の配当に対する源泉所得税率を表示する』場合は、IF関数のみを使った場合もIF関数とAND関数を組み合わせて使った場合も、式の長さに差はあまりないですが、これに「非上場」の場合に、20.420%税率を表示させる式を加えてみます。

IF関数とAND関数_2

上記の表のE4のセルには、次の式が入力されています。

[aside type=”boader”]『=IF(B4=”上場”,IF(YEAR(A4)<2014,7.147%,15.315%),20.42%)』[/aside]

一方、E9のセルには、次の式が入力されています。

[aside type=”boader”]『=IF(B9=”非上場”,20.42%,IF(AND(B9=”上場”,YEAR(A9)<2014),7.147%,15.315%))』[/aside]

記載する順番を工夫するとIF関数のみを使ったほうがシンプルに記述することができました。

まとめ

AND関数を上手に使えばIF関数を多用したときよりも式がすっきりして誤りも少なくなると思い込んでいたのでこの記事を書き始めましたが、「おまけ」のようなケースではIF関数のみを使ったほうがシンプルに式を記述することができました。

思い込みを捨ていろいろな関数を検討してみることが大事だなと感じました。