• 締切済み

エクセルの給与計算の税額表の式で

初めて質問します。 エクセルで賃金台帳作成を市販の本で作成しました。 源泉税は税務署の電子計算機を使用する場合の表を使いますが, 税額表で-円以上135,416円を¥-999、999以上と式に入れるように なっているのですが、どうしてこの数字なのか理由を知りたいので わかる方よろしくお願い致します。

みんなの回答

回答No.2

恐らく Nishi6 さんが答えられている様に"0"でも良いと思いますが、中途入社や、退職などによる日割計算の結果、社会保険料控除後の給与がマイナスになるケースがあるからこのようにしてるんじゃないですかね? また、中途半端なマイナス数値にすると却ってややこしいんで、この様にしてるような気がします。 自信はないですけど・・・(汗)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

おそらく、給与額を引数にして控除額を計算しようとしているのでしょう。(扶養家族などは別にして) その場合、給与額のランクによって控除額が違ってくるので、それを計算するための係数、定数テーブル(表)を定義する必要があると思います。 しかし質問に『¥-999、999以上と式に入れるように』とあるのが引っかかっています。 この『式』は? 『¥-999、999以上』が式? 単に『-999、999』のこと? または、VBAのモジュールのことでしょうか。 ここからは想像です。(シートのみで、自分で作るとしたら)作成するテーブルは    から     まで    係数    定数 -999999 135416      54167  135417 149999 0.40     0  150000 299999 0.30 15000    : のようなものではないでしょうか。 計算を想像すると  給与額の入力→控除額の計算のための係数の決定→定数の決定        →控除額=給与額×係数+定数 ここで、係数、定数を決めるために、VLookup関数を使っているのではないでしょうか。 -999999から作成したテーブルをB2からE7とすると  係数を得るためには =VLOOKUP(給与額,$B$2:$E$7,3,TRUE) ・・・表の3列目  定数を得るためには =VLOOKUP(給与額,$B$2:$E$7,4,TRUE) ・・・表の4列目 になります。VLookupでこういうテーブルを使う場合は検索の型をTrueにして使用します。 Trueの意味はHelpに『TRUE を指定するか省略すると、検索値 が見つからない場合に、検索値 未満で最も大きい値が使用されます。』とあります。 したがって、上のテーブルで給与額が140000なら135417が検索され、3、4番目の列の値が特定されます。 この時、一番最初の行(-999999のセル)が未入力の場合、給与額に100000円などを入力すると該当値がなくエラーになります。そのために何か入力が必要で『-999999』をセットするように指定されているのでしょう。マイナス給与がなければ『-999999』の替わりに『0』でも同じ結果と思われます。 なにぶん想像しての回答です。その辺を含めて参考にして下さい。

nao77
質問者

補足

ご解答ありがとうございました。 私の説明が足りなくて申し訳ありませんでした。ご想像の通りテーブルを作成しVLOOKUP関数で金額の検索をします。 私も「0」でもいいのではないかと思うのですが,わざわざ「¥-999,999」と 入力させるには理由があると思うのです。実は人にこの給与台帳の作成を 教えるのでやはり理由を聞かれたときに答えられないと困るので・・・ すみません。また、何かわかりましたら教えていただけますでしょうか よろしくお願い致します。

関連するQ&A

専門家に質問してみよう