みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になっております。
現在、Win10にてFileMaker Pro 18 Advancedを利用しております。
退職した前任者から給与計算の引き継ぎをした後に源泉税額計算が変更となり、
とりあえず数字の部分を変えてみたものの、さっぱりわからず困っています。
計算が合っているかどうかチェックしようとインターネット上での2020年給与計算サービスと
照らし合わせるも源泉税の金額が合わず、苦慮しています。
大変申し訳ないのですが、御教示いただけませんでしょうか。
必要と思う情報を記載いたしましたが、足りない部分がありましたらお手数ですがご指摘をお願いいたします。
【私】
会社からの指示でファイルメーカーを使用してはいるものの、
専門用語もわからず、自分で一から何かを構築する事も出来ない素人
(今後あらゆる手段を使い猛勉強します)
【したい事】
2020年1月分以降の給与から毎月適切な源泉徴収額を控除したい
【参考とする源泉徴収表】
その月の社会保険料等控除後の給与等の金額(A)・・・給与所得控除の額
135,416円以下・・・45,834円
135,417円以上149,999円以下・・・(A)×40%-8,333円
150,000円以上299,999円以下・・・(A)×30%+6,667円
300,000円以上549,999円以下・・・(A)×20%+36,667円
550,000円以上708,330円以下・・・(A)×10%+91,667円
708,331円以上・・・162,500円
【前任者から引き継ぎ、私が変更を加えた計算】
Truncate(If(GetAsNumber(控除後の計)
<= 135416; 45834;If(GetAsNumber(控除後の計)
<= 149999; 控除後の計 * .4 -8333; If(GetAsNumber(控除後の計)
<= 299999; 控除後の計 * .3 + 6667; If(GetAsNumber(控除後の計)
<= 549999; 控除後の計 * .2 + 36667; If(GetAsNumber(控除後の計)
<= 708330; 控除後の計 * .1 + 91667; 控除後の計 + 162500)))))+.9; 0)
以上よろしくお願い申し上げます。
こんな感じでしょうか。
Let ( [
~n = GetAsNumber(控除後の計)
] ;
Case (
~n <= 135416 ; 45834 ;
~n <= 149999 ; Ceiling ( ~n * .4 ) - 8333 ;
~n <= 299999 ; Ceiling ( ~n * .3 ) + 6667 ;
~n <= 549999 ; Ceiling ( ~n * .2 ) + 36667 ;
~n <= 708330 ; Ceiling ( ~n * .1 ) + 91667 ;
162500
)
)
※下記のファイルを見ると1円未満の端数は「切り上げ」となっていたため Ceiling としています
https://www.nta.go.jp/publication/pamph … ata/18.pdf
Last edited by ててを (2020-01-07 13:55:04)
Offline
<= 708330; 控除後の計 * .1 + 91667; 控除後の計 + 162500)))))+.9; 0)
最終行に疑問が…?
1)708331円以上の時の控除額が「控除後の計 + 162500」になっているが162500では?
2)+.9と常に0.9円を加算しているのはなぜ?
最終行は
<= 708330; 控除後の計 * .1 + 91667; 162500))))); 0)
ではないでしょうか?
If関数を何重にも入れ子にするより、Case関数の方がわかりやすく書けますね。
Last edited by koeda (2020-01-07 14:42:28)
Offline
ててを様
ご返信どうもありがとうございます。
とても綺麗で見やすくなっていて驚きました。今後見返してもすぐに変更箇所がわかりそうです。
今までは画面を指差してどの場所のどの数字か何度も見失いながら数字を追っていたので…。
源泉徴収税額表までお調べいただき、お手数をお掛けいたしました。
お忙しい中わざわざお時間を割いて教えてくださり、本当にありがとうございました。
koeda様
ご指摘どうもありがとうございます。
1)単純に前の式(控除後の計 * .1 + 91667)をコピペして不要な( * .1 )を消し、金額を書き換えたので(+)が残ってました
2)+.9は前任者から引き継いだそのままなので理由はわかりません…
今回の件で物凄く時間がかかってしまい不勉強を痛感しましたのでしっかり勉強しようと思いました。
お忙しい中ご返信をくださり、誠にありがとうございました。
税額は10円未満を四捨五入ですよ。
四捨五入は
Truncate関数
https://fmhelp.filemaker.com/help/18/fm … te.html%23
を調べください。
Offline
控除額は1円未満を切り上げ、税額は10円未満を四捨五入ですよ。
上の式は給与所得控除だから、切り上げ。
.9 を加えて切り捨てるのも、控除率が10%単位だからいいですが、それ以外で誤差が出るので使わない方がいいでしょうね。ただ、どっちにしても、年末調整があるので同じ事にはなりますが。
Last edited by Shin (2020-01-07 16:46:30)
Offline
チポ 様
ご指摘どうもありがとうございます。
Truncate関数のリンクも貼っていただきありがとうございます。
参照して勉強に生かします。
shin 様
ご指摘どうもありがとうございます。
控除額と税額をごちゃまぜにしないよう気をつけます。
ご返信いただいた皆様
私自身もよくわかっていない中質問をし、親切で迅速なご回答までいただき本当に嬉しく思っております。
ありがとうございます。
今後ともよろしくお願い申し上げます。
Pages: 1
[ Generated in 0.007 seconds, 10 queries executed - Memory usage: 562.48 KiB (Peak: 567.73 KiB) ]