アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下の2つの公式を税額計算に利用しています。①税抜金額×税率/100
(税込金額は、税抜金額+上で算出した税額)

②税込金額×税率/(100+税率)
(税抜金額は、税込金額-上で算出した税額)

※全て切り捨て

①と②を混在で使用しているので、困ったことが起きています。
先ず、税込金額80000円の税額①で計算します。
すると、税額5925円、税抜金額74075円になります。(これが正です。)

しかし、これを、税抜金額74075円から②で計算すると、
税額5926円、税込金額80001円になってしまいます。


この事象は、「税込金額を27で割ったあまりが13か26のときになる」と以前教えて頂いたのですが、
何故27で割った時限定なのか、何故余りが13か26の時限定なのか、が分かりません。
この3つの数字の根拠はなんなのでしょうか?
「○○の法則」とか、「○○理論」というものですよ、程度でも良いので、どなたか教えて頂けませんでしょうか?
よろしくお願い致します。

質問者からの補足コメント

  • へこむわー

    あ、確かに質問文が間違ってました。申し訳ないです…

    No.4の回答に寄せられた補足コメントです。 補足日時:2017/02/10 23:05

A 回答 (4件)

>この事象は、「税込金額を27で割ったあまりが13か26のときになる」と以前教えて頂いたのですが、


前に聞いたのがどこかわかりませんので、同じ回答になるかもしれませんが、ご了承を!

添付した図は、「税抜価格」と「(本当のというか少数部分まで考慮した)税込価格」を示したものです。
消費税が8%ですので、25円周期で整数値27円となり、あとはこの周期で同様の現象が現れますので省略します。

>何故27で割った時限定なのか、
については、お分かりいただけましたでしょうか?
つまり、消費税8%ならば、税込価格27円周期で繰り返すのですから、「消費税が8%だから」としか言えません。
例えばもし10%になれば、税込価格11円周期で同様の現象が起こることになります。

>何故余りが13か26の時限定なのか
黄色い線の場所に注目してみてください。
おかしな事に気づきませんか?
税抜価格が1円違うだけで、税込価格が2円上がるのです。
これまで切り捨てていた端数がやっと円のところに現れるところです。
これが、「余りが13か26」に現れる原因です。

端数を嫌うのはわかりますが、税込価格を基準に考えるから起きていることです。
本来、消費税とは元の売値(税抜価格)に係るものですから、厳密に言えば
>しかし、これを、税抜金額74075円から②で計算すると、
>税額5926円、税込金額80001円になってしまいます。
の方が正確であることはわかりますか?
本来、税抜金額74075円の商品の税込価格は80001円なのです。
1円安い、税抜金額74074円の商品の税込価格は79999(.92)円ですので、消費税8%では(切り捨てを行う限り)税込み80000円の物は本来存在しないのです。
これを、「本来税込み、80001円の商品を80000円で売っているサービス」としておくしかないでしょうね。

さて、この取り損ねている1円の消費税をどうするべきなのかは経理や税の専門家にお任せします。

っと、ここまで書いてたらもう同じような回答がついてましたね。
まあ、せっかくなので投稿しときます。
「消費税計算で誤差が生じるのは何故?」の回答画像3
    • good
    • 2
この回答へのお礼

助かりました

ご回答ありがとうございます!
とてもわかりやすかったです。謎が解けました。
これはシステム開発の中で発生した問題だったのですが、そもそもの設計について考える材料にもなりました。
大変助かりました。

お礼日時:2017/02/10 23:10

No.1です。


まず、計算手順を確認します。

>先ず、税込金額80000円の税額①で計算します。

これは「先ず、税込金額80000円の税額を②で計算します」ですよね?

税込金額×税率/(100+税率)= 80,000 * 8/108 = 5925.925・・・ →(切り捨て)5925
税抜き金額 = 80,000 - 5925 = 74,075

つまりこれは、「税金額の端数をめいっぱい切り捨てて、税抜き金額を計算」していることがわかります。

>これを、税抜金額74075円から②で計算すると

「これを、税抜金額74075円から税額を①で計算すると」ですよね?

税抜金額×税率/100= 74,075 * 8/100 = 5926
税込金額 = 税抜金額74075 + 5926 = 80,001

つまりこれは、「切り捨てがまったく発生しない」ケースです。

上のように、「税金額の端数をめいっぱい切り捨て、税抜き金額を計算」処理と、その税抜き金額から切り捨てなしで税金額を計算したケースの組合せなので、税金額が1円食い違っています。


 同じ手順で、「27で割ったときの余りが 13」「27で割ったときの余りが 26」の場合を少し理論的に見てみましょう。

 税込み金額が「27で割ったときの余りが 13」「27で割ったときの余りが 26」ということは、n を正の整数として
  税込金額 = 27n + 13
  税込金額 = 27n + 26
ということですから、これを代入してみます。

(1)税込み金額が「27で割ったときの余りが 13」のとき

②の計算:
  税金額 = 税込金額 × ( 8/108 )
      = (27n + 13) × ( 2/27 )
      = 2n + 26/27
→「26/27」は切り捨て。       ←めいっぱい切り捨て。
  税金額 = 2n

従って、
  税抜き金額 = 27n + 13 - 2n = 25n + 13

次に①の計算
  税金額 = 税抜金額 × ( 8/100 )
       = (25n + 13) × ( 2/25 )
       = 2n + 26/25
       = 2n + 1 + 1/25
→「1/25」は切り捨て。       ←切り捨てが非常に少ない。
  税金額 = 2n + 1

よって、上の税金額「2n」よりも1円多くなります。

(2)税込み金額が「27で割ったときの余りが 26」のとき

②の計算:
  税金額 = 税込金額 × ( 8/108 )
      = (27n + 26) × ( 2/27 )
      = 2n + 52/27
      = 2n + 1 + 25/27
→「25/27」は切り捨て。
  税金額 = 2n + 1

従って、
  税抜き金額 = 27n + 13 - (2n + 1) = 25n + 12

次に①の計算
  税金額 = 税抜金額 × ( 8/100 )
       = (25n + 12) × ( 2/25 )
       = 2n + 24/25
→「24/25」は切り捨て。       ←めいっぱい切り捨て。
  税金額 = 2n

となって、上の税金額「2n」よりも1円少なくなります。


 以上から、「切り捨て」がめいっぱい大きくなったときに、2通りで計算した税金額に差が生じることが分かります。


 その他のケースも試算してみると、例えば「27で割ったときの余りが 25」のとき

②の計算:
  税金額 = 税込金額 × ( 8/108 )
      = (27n + 25) × ( 2/27 )
      = 2n + 50/27
      = 2n + 1 + 23/27
→「23/27」は切り捨て。
  税金額 = 2n + 1

従って、
  税抜き金額 = 27n + 25 - (2n + 1) = 25n + 24

次に①の計算
  税金額 = 税抜金額 × ( 8/100 )
       = (25n + 24) × ( 2/25 )
       = 2n + 48/25
       = 2n + 1 + 23/25
→「23/25」は切り捨て。
  税金額 = 2n + 1

となって、上の税金額「2n + 1」と一致。


別な例、例えば「27で割ったときの余りが 14」のとき

②の計算:
  税金額 = 税込金額 × ( 8/108 )
      = (27n + 14) × ( 2/27 )
      = 2n + 28/27
      = 2n + 1 + 1/27
→「1/27」は切り捨て。
  税金額 = 2n + 1

従って、
  税抜き金額 = 27n + 14 - (2n + 1) = 25n + 13

次に①の計算
  税金額 = 税抜金額 × ( 8/100 )
       = (25n + 13) × ( 2/25 )
       = 2n + 26/25
       = 2n + 1 + 1/25
→「1/25」は切り捨て。
  税金額 = 2n + 1

となって、上の税金額「2n + 1」と一致。


別な例、例えば「27で割ったときの余りが 12」のとき

②の計算:
  税金額 = 税込金額 × ( 8/108 )
      = (27n + 12) × ( 2/27 )
      = 2n + 24/27
→「24/27」は切り捨て。
  税金額 = 2n

従って、
  税抜き金額 = 27n + 12 - 2n = 25n + 12

次に①の計算
  税金額 = 税抜金額 × ( 8/100 )
       = (25n + 12) × ( 2/25 )
       = 2n + 24/25
→「24/25」は切り捨て。
  税金額 = 2n

となって、上の税金額「2n」と一致。


 なるほど、税率と、分母の「25」「27」のバランスから、「27で割ったときの余りが 13」「27で割ったときの余りが 26」のケースで特に大きな切り捨てが発生して、食い違いが発生しているようです。

 でも、別に「法則」というわけではなく、「端数が積算されて」どこかで食い違いが発生し、それを過ぎると端数がリセットされて、また積算が始まるという繰り返しのようです。
 いずれにせよ、どうやら「②の式」が、消費税額をできるだけ少なく計算するように工夫してあるようです。
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとう

お返事ありがとうございます!
途中の計算式まで書いて頂いて、とてもわかりやすかったです。やっと理屈が分かりました。

お礼日時:2017/02/10 23:03

以下質問文に合わせて 1円未満の端数は切り捨てます. ここの処理が変わるとまた違う議論になります.



質問文にある「税込金額80000円」の例では, じっと計算するとわかるんだけど「その計算で税込金額が 80000円になる」ことはあり得ません. つまり, 「もともとの端数処理とあなたの計算が食い違っていて, その矛盾が表面化している」のです. 実際, 税抜金額を 1円ずつ変えて計算すると
「税込金額を27で割ったあまりが13か26のとき」
は出てきません.

数学的には
・27 という数字自体は 1.08 に由来する (1.08 の整数倍で整数になるのは 27 が最初).
・あまりの 13 と 26 のうち, 26 については単純に 27-1
・もう一方の 13 は「108 が 8 で割り切れない」ことによる (108/8 = 27/2 で, この分母の 2 から 26/2 = 13)
といえます.
    • good
    • 1
この回答へのお礼

ありがとう

ご回答ありがとうございます!
特に後半、何故その数字なのかが、簡潔に説明出来るので、助かります。
この後、資料にまとめて、人に説明しなくてはいけないので…

お礼日時:2017/02/10 23:16

>この事象は、「税込金額を27で割ったあまりが13か26のときになる」


>「○○の法則」とか、「○○理論」というものですよ、程度でも良いので

なんですか、それ?

単純に、「消費税は、8%(=0.08)をかけて計算するので小数点以下の端数が出るが、円で示した価格は小数点以下を「切り捨て」か「四捨五入」か「切り上げ」処理して整数にする」ことから発生するだけのことです。
    • good
    • 0
この回答へのお礼

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

原因はそうなのだとしても、最終的な目標は、税抜金額・税込金額のどちらから計算しても同じ結果にすることなので、どういう時に誤差が生じるかという条件をはっきりさせる必要があります。
質問の事例は切り捨てで計算していますが、四捨五入にすると、誤差が生じるケースは大幅に増えます。
切り捨ての場合は、誤差がでたケースを調べると、確かに、「税込金額を27で割ったあまりが13か26のとき」ばかりなのです。

お礼日時:2017/02/10 17:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A