はじめに
バックオフィスの業務効率化のために、Google Apps Script(GAS)やVBAを用いた自動化を行おうとするケースが昨今増えてきました。最近はChatGPTによるコード生成により、以前に比べてプログラミングによる業務効率化がしやすくなったように思われます。
しかし、ブラックボックス化やスケーリングの観点から、むやみにGAS等に頼り過ぎるのは危険なケースも多いです。
そこで、本稿では、バックオフィス効率化のためにGASやVBAを使うための判断材料を提供します。
GASやVBAの特徴
GASとVBAをバックオフィスで使われる背景
GASとVBAは、Google Workspace・Microsoft Officeといった利用できるプラットフォームに違いはあれど、プログラムを記述することで複雑な処理の自動化などを出来る点が共通しております(それぞれの定義は本段落末尾を参照ください)。
GASやVBAは、バックオフィスで働く人が良く使うツールとの連携に良く使われます。例えば、GASの場合であれば、Gmail, Google Drive, Googleスプレッドシートといったツール同士を簡単に連携できたり、処理の自動化が得意であるため、決算効率化を進めたい経理担当者などがよく利用するケースが多いです。また、VBAの場合はExcel内で動作することから、使えるツールに制約のある金融マンや経理担当者が処理を自動化するために利用するケースも多いです。
また、昨今では、ChatGPT等のツールがソースコードの生成までサポートしてくれるようになったことから、よりプログラムを書くのに便利になってきました。
しかし、GASやVBAは万能ではありません。使いこなすためには人間がお膳立てを行う必要があるのです。
Apps Script は、Google Workspace の統合、自動化、拡張のためのビジネスソリューションをすばやく簡単に構築するための唯一のローコードプラットフォームです。
https://workspace.google.co.jp/intl/ja/products/apps-script/
VBAとは、Microsoft Officeに含まれるアプリケーションソフトの拡張機能で、利用者が簡易なプログラムを記述して実行することで複雑な処理の自動化などを行なうことができるもの。また、そのために用意されたプログラミング言語。
https://e-words.jp/w/VBA.html
プログラムを使いこなすためにはお膳立てと費用対効果が大事
コンピューターは、決められた手続を正確かつ高速に処理することは得意であるが、ロジックを構築できない処理や機械判読しづらいデータを扱うことを苦手としています。例えば、条件分岐が非常に複雑で多岐に渡るもの、表記ゆれや揺らぎといった機械判読が出来ないデータが苦手なものになります。つまり、コンピューターやプログラムが動きやすくなるようなお膳立てを人間がしてやらないといけません。
また、どこまでプログラムで作り込むかというのも考える必要があります。多少自動化が出来ると言っても、作成コストに見合わない業務内容であればシステム化をするメリットは小さいと考えられます。特にGASやVBAでは小規模な処理でないと動かなくなるケースもあるため、「どこまでやるか」という観点を持って付き合うことが大事だといえます。
GASやVBAを入れる時の考え方
VBAやGASを導入する際の基本的な流れ
前段では、GASやVBAの特徴について解説を行ってきましたが、本段落では、実際にGASやVBAを入れる際に必要な考え方について解説を行います。
以下の図はVBAやGASを導入する際の一連の流れであり、これに則り解説を行います。
まずは手順を整理しよう
システム化の検討初期段階では、まずは現状の業務手順を整理することから始めましょう。GASやVBAをいきなり使ってみたくなる気持ちはとてもよくわかりますが、まずはグッとこらえる必要があります。
まずは、業務を日本語で箇条書きにして手順をまとめていきましょう。プログラムとは、コンピュータに対してプログラミング言語を用いて指示をするものです。コンピューターは曖昧な指示は理解できないため、きちんとコンピューターでも理解できるような理路整然とした指示をする必要があります。そのためには、きちんと日本語で業務を整理する必要があります。
業務を整理するための方法は色々あるのですが、筆者は以下のような手段で業務を整理します。
- 紙とペンを用いて、普段やってる業務の一連の流れを書き出す(この段階では業務の洗い出し)
- その内容を箇条書きでまとめる(この段階では大きな業務を小さい作業に分解する)
- 分解した小さい作業を見直して、よりシンプルに楽にする方法を考える
プログラムを書く必要があるか検討する
先程の段階で、業務手順を整理することはクリアしました。そうしたらコードを書いていこう!と思うかもしれませんが、ここも我慢です。
手順を整理した後には「コードを書く必要が必ずしも必要か?」という点を考える必要があります。業務を整理した結果、無駄な作業の存在に気づくケースも多いです。そうした無駄を削っていった結果、コードを書かずに効率化を達成することも良くあります。
筆者個人としては、プログラムを書かないで済むのであれば、書かないほうが引き継ぎがしやすくなると考えられるため、なるべくコードを書かない解決方法を選ぶのがおすすめです。
GASやVBAで実行可能なレベルか判断する
プログラムを書く必要があるか検討した結果、やはりコードを書く必要があると判断する場合があります。例えば、筆者の場合は以下のケースだとコードを書くことが多いです。
- リマインダーやバッチ処理等、同じ作業を定期的に実行する場合
- ファイルの自動ダウンロードや転記作業など、単純作業だけど人間がやるには面倒な場合
- 毎月定型的な資料の作成あ必要で、作業の8割程度が同じ手順かつ体系化できている場合
しかし、ここで壁になるのはGASやVBAの限界です。GASやVBAはあくまで小規模の業務改善等に利用するものであり、基幹システムのように大量の処理を行ったり、大量のデータを取り扱うのに限界が来ます。例えば、GASの場合だと以下のような業務を行うのがちょうどよいラインと考えられます。
- スプレッドシートにデータを保管する場合、数百行から数千行のデータをとりあつかうこと
- 一日一回APIを叩いて最新のデータをシステムからスプレッドシートに転記すること
- 一回の実行に6分以上かかってしまうもの
- 指定のタグがついたメールのファイルをダウンロードしてドライブに格納すること
逆に、上記のような要件にあてはまらないものはGASやVBAで行うにはキツイので、本格的なシステム開発や、他のツールを扱うことを検討するのがおすすめです。
なお、GASを使うべきか否かの判断については、下記記事に良くまとまっているため、ご参考にしていただけると幸いです。
https://qiita.com/mistolteen/items/c206d5970ae1a6c7813d
さいごに
最後までお読みいただきありがとうございました。
業務効率化のための基本的な考え方として、システム化より手前の業務の整理が非常に重要になることを解説しました。業務の整理もプログラムの実装も非常に高度であることから、業務効率化を専門家の力を借りながら実行することも非常に有用です。
弊社では、プログラムの書ける公認会計士による、業務効率化やシステム化に関するサポートを実施しております。興味のある方はお気軽にお問い合わせください。
会計人材が学ぶべきIT知識について解説してみた
はじめに テクノロジーが発展してきた現代では、会計業務とテクノロジーは切っても切り離せない関係にあると考えられる。とはいえ、何から学べば良いのか分からないと考える方も非常に多いと思います。 そこで、本記事において、会計業 […]
【初心者向け】DX(デジタルトランスフォーメーション)って何? 誰に相談すればいいの?
はじめに 昨今DXの(デジタルトランスフォーメーション)という単語が流行っておりますが、DXにも様々な意味があり、誰に相談をすればいいのかそもそもわからない・・・。そう思っている方は実は多いかと思います。 そこで、この記 […]
クソデータは悪!機械判読しやすいデータ設計について例を用いて解説してみました
はじめに 近年では、”ヒト・モノ・カネ”に追加して”情報”という新たな経営資源に対する注目度が高まっています。 「データを使って売上予測をしたい!」と考える企業は多く、これからの時代「情報をどれだけ上手に使えるか」がカギ […]
クラウド会計ソフトが隆盛する中での会計士・税理士の役割はどう変化するのか。現役会計士が解説してみます。
はじめに 世の中にはさまざまな会社がありますが、事業運営を行う上で必ず必要になるのが会計管理・経理処理かと思います。また会計管理・経理処理は会計システムやクラウド会計ソフトなどのテクノロジーサービスが隆盛したことにより、 […]