仙台,弁護士,小松亀一,法律事務所,宮城県,交通事故,債務整理,離婚,相続

旧TOPホーム > 桐・IT等 > 桐会計等 >    

事務員給与計算システムの基本的仕組みー修正月の出し方

平成19年12月 3日(月):初稿
「事務員給与計算システムの基本的仕組み1」で当事務所の給与支払は、前月21日以降当月20日までの基本給、時間外残業手当等を加えた金額を当月25日に支払うため、[月]をグループ項目とした一覧表フォームにおいて、例えば11月分給料計算のための11月分として、10月21日から11月20日までの1ヶ月間を表示する方法を紹介しました。

○それは本来の[月]の他に[修正月]と言う項目を設け、[修正月]では、11月は10月21日から11月20日までを表示するもので、そのため[修正月]には
#条件選択(#日([年月日])>20 .and #月([年月日])=12,1,#日([年月日])>20,#月([年月日])+1,1,#月([年月日]))
と言う計算式を入れました。
#日([年月日])>20 .and #月([年月日])=12,
は、12月21日から31日までの[修正月]には、1を
#日([年月日])>20,#月([年月日])+1,
は、21日以降の日はその月に1を加えた月を
1,#月([年月日])
その他の場合即ち20日以前の日はその月を
表示しなさいと言うもので、条件を3つに分けたものです。

○これに対し桐師匠の【多遊】さんから
#mod(#月([年月日])+#int(#日([年月日])/21)-1,12)+1
と言う計算式を紹介頂きました。
#int(num)とはnum の整数部を取り出す関数で、#mod(num1,num2)とは、数値num1を数値num2で割った余り(剰余)を求めるものです。

○この計算式で平成19年11月25日がどのように表示されるかを検討します。
先ず#mod(num1,num2)のnum1には、
#月([年月日])+#int(#日([年月日])/21)-1が、該当します。
平成19年11月25日の#月([年月日]は11となります。
#int(#日([年月日])/21)は、#日([年月日])即ち25を21で除した1.19の整数部1となり、これは20日以前は0を、21日以降は1を取り出すもので、これがこの計算式の一番のポイントです。
そこで#月([年月日])+#int(#日([年月日])/21)-1即ちnum1とは、
11+1-1=11となります。

○最後に#mod(num1,num2)は、11を12で割った場合、0余り11で余りは11になり、それに+1で1を加えますから12になります。
平成19年12月3日の場合、
#mod(#月([年月日])+#int(#日([年月日])/21)-1,12)+1
#mod(12+0-1,12)(=11)+1で
12になります。
以上:1,091文字

タイトル
お名前
email
ご感想
ご確認 上記内容で送信する(要チェック
※大変恐縮ながら具体的事件のメール相談は実施しておりません。

 


旧TOPホーム > 桐・IT等 > 桐会計等 > 事務員給与計算システムの基本的仕組みー修正月の出し方