見出し画像

#5 出勤簿から工賃明細書をつくる(一部有料)/ITド素人がGoogle無料アプリで業務管理システムを作る!


今回は、前回作った出勤簿を使って工賃を計算をする工賃明細書を作っていきます。

実際に書いたスクリプト部分だけ有料です。
流れや作り方は無料なので参考にしてみてください。

【やったこと】

  • [tpl]:工賃明細書のテンプレートを作る

  • [date]:工賃区分と昼食代を設定する

  • [tpl]:出勤簿データを明細書に反映させる関数・数式を追加

  • 出勤簿と工賃明細書をそれぞれPDFにして名前を自動でつける

  • PDF化GASを動作させるためのボタンを設置

  • [tpl]シートを人数分複製・シート名を変更

【どういう感じでやったか】

@[tpl]:工賃明細書のテンプレートを作る

利用者の出勤状況と工賃明細は一度に確認できる方が操作しやすいので、出勤簿の横に工賃明細書のテンプレートを作成しました。
事業所名は(仮)です。

下の控えは上の明細書本体を全て転記しています。
なので、工賃計算で毎月編集するのは上の明細書本体だけです。

@[date]:工賃区分と昼食代を設定する

昼食代は一部自己負担なので、明細書で計算する用の工賃区分と昼食代を[date]で設定します。

時給と昼食代

@[tpl]:出勤簿データを明細書に反映させる関数・数式を追加

前回の出勤簿作成で得た知見を持って、関数と数式を組み合わせて算出できるようにしました。
職員が直接記入するセルは、勤務時間と工賃外で発生した支給額(交通費など)と控除額です。

*工賃支給額

工賃区分を2つに分けた理由は、月途中で時給が上がる事例があったからです。そのため、2種類の時給を反映するにはそれぞれの時間を手打ちすることになります。
時給が変わるのは月が変わってから!という事業所は、工賃区分列を1つにして明細書の勤務時間セルに出勤簿の実働合計時間セルをそのまま転記するだけでOKです。
その方が断然楽。

もし時給が変わった場合は、明細書項目の「工賃区分x」[date]の時給に合わせて 工賃区分A→工賃区分B、のように書き換えます。

勤務時間で発生する工賃支給額は、VLOOKUP関数と数式を用いて計算しています。

時給を取得するVLOOLUP関数
検索値:明細書項目の工賃区分
範 囲:[date]の工賃区分がある範囲
指 数:時給データが欲しいので、2

=(時給取得VLOOK UP)*(勤務時間)

しかし、これだけでは思った金額が返ってきません。
今のところ合計時間が数値として「1日= 1」と計算されているらしく、「1時間= 1」で計算する場合は24倍する必要があるようです。

工賃計算
=(VLOOKUP(O6,date!A9:B16,2,FALSE)*$O7*24)+(VLOOKUP(P6,date!A9:B16,2,FALSE)*$P7*24)

*昼食代

COUNTIF関数で出勤簿の昼食購入回数をカウントし、[date]の昼食代を掛けます。

=COUNTIF($H$5:$H$35,"1")*date!$E$9

項目「昼食代 n日分」は、文章とCOUNTIF関数を合わせて表現しました。

="昼食代 "&(COUNTIF($H$5:$H$35,"1"))&"日分"

*頑張り賞・その他

ここは出勤簿上じゃなく、スキルアップや皆勤賞、交通費などの追加支給だったり(課税対象になる程の額にはならないけど一応)差し引く金額を控除として直接金額を記入します。

*差引支給額

=(支給額合計)-(控除額合計)

=SUM($Q7:$Q10)-SUM($R7:$R10)

*勤務日数

出勤簿の実働合計日数を転記

=$K$2

出勤簿と工賃明細書をそれぞれPDFにして名前を自動でつける

このシートは印鑑をもらったり明細控えを渡したりするので印刷必須です。
しかしGASで選択範囲を指定してプリンターを通して印刷するのは無理っぽいので、データでも残しておけるよう出勤簿と工賃明細書それぞれの範囲を選択してPDFにするGASを書く方向でいきました。

色々調べたのですが、検索で出たGASでのPDF化はなぜかうまく動作せず。
(拡張子はPDFなのにビューアーで見られない・文字化けする・大量の数字の羅列になるなど)

そこでchatGPTとの長い会議と試行錯誤を重ねてようやくGASが形になりました。

この後も頑張って色々作ってスムーズに運営業務が回るようになったんですが時給がビタイチ上がることはなかったので、このPDF化GASと、今後いくつかの記事を有料にさせてください。

選択範囲をPDF化するGASを動作させるためのボタンを設置

わかりやすい画像を作って、セル上に配置。
その画像にスクリプトを割り当てます。

PDFを保存するフォルダを作る

保存先のフォルダをそれぞれ作っておきます。

作れたら出勤簿の名前欄に記入、ボタンを押してテスト動作させます。
フォルダ内にGASで指定した名前のPDFができたら成功です。

[tpl]シートを人数分コピーし、シート名を変更する

利用者全員分のシートをコピーして作ります。
シート名はわかりやすいように、弊事業所では[xxx(利用者苗字)]にしています。ついでに出勤簿の名前欄にも記入しときます。
(出勤簿の名前はタイムカードフォームで設定したものと一字一句違いがないよう注意します)

利用者が増えるたびに[tpl]シートを複製する手間はありますが、その程度ならOKとしました。

こんな感じ。

【実際に書いたスクリプト】以下有料

選択範囲をPDF化するGAS

出勤簿と工賃明細書のPDFを保存するフォルダのIDを控えておきます。
該当フォルダ内に入った後ブラウザの検索バー、
URL「〜/folders/xxxxxx」のfolders/ 以降のやたら長い部分です。

ここから先は

4,287字

¥ 100

この記事が参加している募集

この記事が気に入ったらチップで応援してみませんか?