見出し画像

【GAS活用システム①-1】立替と会費の精算を自動化する・使用方法編

Google Apps Script (GAS)を、もっと身近に、日々の暮らしに。

今回から【GAS活用システム】として、これまで紹介してきたGAS活用術を組み合わせて、より具体的に日々の暮らしに役立つシステムを紹介していきたいと思います。

第一弾は、パーティなどで使える、「立替と会費の精算システム」です。

クリスマス会でもバーベキューパーティでも送別会でも謝恩会でもいいのですが、会計担当の人が

  • 会場費や食材などの費用を誰かが一時的に立替えた分を集計して

  • 一人当たり(もしくは一家族当たり)いくら払うのか決めて

  • 最終的に精算をする

という場合に使用することを想定しています。つまり、会計担当の人が結構大変なパターンの時ですね。合宿や旅行などにも活用できそうです。

こういう時、何が大変かと言えば、「各自が立替えてくれた分の領収書やレシートを集めて、入力して集計する」ところだと思います。

この部分を、各自にGoogleフォームから立替分を入力してもらって、あらかじめ用意した集計表に自動集計されるようにしておけば、、、劇的に会計が楽になりますよ。


いきなりですが使用方法説明

GAS活用システムでは、具体的な設定手順の前に、出来上がり完成版の使い方から先に説明します。

「どのように使うのか」のイメージがついてからの方が、各種の設定手順で「何の設定をしているのか」がわかりやすくなるからです。

立替金額を入力するGoogleフォーム

まず、費用の立替えをしてくれたメンバーが、Googleフォームから入力をしてもらうところのイメージから。

いわゆる経費入力では日付を入力しますが、今回はいさぎよく省きました。

【GAS活用術⑦-2】でもふれましたが、日付の入力って少々面倒なのです。今回の場合、「誰が」「いくら」立て替えたかは大事ですが、「いつ」という日付情報はさほど重要ではないと思われます。

フォームから送信した日時がスプレッドシートにタイムスタンプとして記録されますし、備考に日付を記入することもできるので、独立した入力項目としての「日付」は割愛しました。もちろん、納得いかない場合は、追加することもできますので、ご安心を。

「名前」は、プルダウンで選択するだけにします。立替分を入力する時に楽というだけでなく、後で名前毎に立替金額を集計するため、ここでは自由入力ではなく、選択形式にする必要があります。

「分類」は、ラジオボタンで選択する形式にしています。この分類は用途にあわせて自由に設定可能です。あまり細かく分類を分けると、入力が面倒になるので、なるべく少なめに、目安としては、「その他」の選択肢を含んで5個くらいまでがいいと思います。

「名前」と「分類」は、集計で使用します。そのため、名前と分類の選択肢は、スプレッドシートの一覧表と連動させるようにします。

参加者が増えたり減ったり、分類を変更したりした場合でも、Googleフォームとスプレッドシートで、名前と分類の値を連動させるよう、GASを仕込んでいきます。

その他は、「金額」と「備考」を入力するだけのシンプルなフォームです。全部で、項目は「名前」、「分類」、「金額」と「備考」の4つだけになります。

フォームを設定したことがある方はご存じの通り、手動で設定してもこのくらいのフォームならとても簡単に定義できますが、今回はこのフォーム作成とスプレッドシートとの連動もGASで一気に実行していきたいと思います。

フォームと連携した【立替明細】シート

フォームを実行すると、【立替明細】シートが作られます。

この【立替明細】シートがフォームと連携しているので、フォームから入力した立替のデータが、【立替明細】シートにどんどん蓄積されていきます。

会計担当の人が、立替えてくれた人からレシートや領収書を集めて、こういうデータを入力するのが意外に大変なんですよね。

これをGoogleフォームから立替えた人がそれぞれに入力してくれれば、会計担当者の人は、レシートや領収書と比較して、金額が正しいかチェックするだけで済むわけです。

【GAS活用術③】でもふれましたが、Googleフォームとスプレッドシートの連動は、こんな風に各自がデータを入力する仕組みとしてとても優秀です。どんどん使っていきましょう。

自動集計・会費の計算・精算をこなす【集計表】シート

今回は、【立替明細】シートの他、もう一つ、同じスプレッドシート内の【集計表】シートを使用します。

このシートでは、主にスプレッドシートの関数を使って、自動集計・会費計算・精算を行っていきます。

A. 立替え金額の自動集計部分(緑色)

まず、【集計表】シートの左部分、緑色の範囲では、立替えた金額の自動集計を行っています。

A列に人の名前の一覧(青色の点線部分)、4行目の分類の一覧(赤色の点線部分)を設定するようにしています。名前毎・分類毎に立替えた金額を集計させます。

例えば、上記の例では、B5のセルは、「佐藤」さんの「食材費」の立替の合計金額を表示しています。

具体的には、スプレッドシートのSUMIFS関数を使用して、【立替明細】シートの名前の列が「佐藤」で、分類の列が「食材費」の、金額を合計するように設定していきます。

人毎の合計や分類毎の合計では、おなじみのSUM関数を仕込んでおきます。もちろん、総合計も自動集計されます。

また、このように【立替明細】シートの値を自動集計させるためには、入力元であるフォームで、名前や分類の値を【集計表】シートと連動させておく必要があります。

今回は、【集計表】シートの名前や分類を変更後に、スプレッドシートの独自メニューバー「GAS活用システム」から"フォーム上の名前と分類の選択肢を更新"を実行することで、シートとフォームの値を連動させます。

これは、【GAS活用術⑦-1】で紹介した方法です。

B. 会費計算部分(黄色)

次に、【集計表】シートの中央部分、黄色の範囲では、会費の計算を行っています。

今回のサンプルでは、保育園での謝恩会とか送別会をイメージしているので、会費も参加人数も、大人と子供に分かれています。

こういう手のパーティの会費を決めるのは、結構大変ですが、このように立替金額合計(総費用)がほぼリアルタイムに集計できれば、会費をいくらにするか、決めやすいですよね。

あらかじめ人数を設定しておき、総費用をみて、一人当たりの会費を入力すると、人単位(家族単位)の会費が自動計算されます。

会費合計と立替合計の差額も計算されるので、会費をいくらにするか、何パターンか試して決定することができます。

大人と子供の区分はいらないという場合や、逆にもっと区分を増やしたい場合もあると思います。この会費の集計部分はGASでは参照していないので、単にスプレッドシートの列の追加や削除で対応可能です。

会費合計の計算では、SUMPRODUCT関数を使用しています。大人と子供でそれぞれ会費単価×人数を計算し、合計するので、SUMPRODUCT関数がぴったりです。

C. 精算部分(青色)

最後に右部分、青色の範囲は精算で使用します。

ここでは、人単位(家族単位)に、会費合計から立替合計を引いて、差引金額を求めています。差引金額は、会計担当者からみてプラスかマイナスかを示しています。

プラスであれば会費の方が多い=差額を回収する、マイナスであれば立替の方が多い=差額を返金する、ということです。

精算にあたり、調整欄も設けています。

例えば、上記のような場合、鈴木さんと高橋さんの10円未満はそれぞれ近い方に丸めるように調整を加えることができます。

他にも、大胆にざっくり100円単位に調整したり、多く飲み食いした人から追加徴収したり、余った金額を等分にキャッシュバックしたりと、調整欄、何気に使い勝手がよさそうです。

最後の欄が精算済みチェック欄です。精算する場合は、回収が先でその後で返金すると思います。精算が終わった人にチェックをつけると、手許残高が計算されます。

全員分、精算済みにチェックをつければ、差引金額の合計と同じ金額になるはずです。現金で精算しない場合は、チェックだけつけて、手許残高は無視してください。

ちなみに、手許残高は、SUMIF関数を使用して、チェック(TRUE)の時だけ差引金額を合計するようにしています。

オプションでLINE通知も

あとはオプションで、フォームから立替データが入力されたら、会計担当者にLINE通知をすることも可能です。

過去、GAS活用術でLINE通知するパターンをいくつかご紹介しましたが、今回は、登録項目も少ないので、シンプルに【GAS活用術④-1】Googleフォームから送信されたら内容をLINEで通知・ほぼコピペ編 のGASが最適と思われます。

設定手順は次回に

「立替と会費の精算システム」をどのように使用するのかイメージがついたでしょうか。

改めてですが、今回は【集計表】シートを元に、GASで一気に、フォームを作成し、フォームと連携した【立替明細】シートを同じスプレッドシート内に作成していきます。

全体像は以下のような感じになります。

つまり、今回、一番最後に説明した【集計表】シートが、作成時にはスタート地点になります。

【集計表】シートはテンプレートとして用意していますし、GASもほぼほぼコピペで使えるので、すぐにでも「立替と会費の精算システム」が使えると思います。

次回は、【集計表】シートのテンプレートのコピーから始めて、GASを使ってフォーム作成、スプレッドシートへの関数の定義など、各種設定手順を一気に紹介していきます。


この記事が気に入ったらサポートをしてみませんか?