Excelのマクロがすごい
12月決算のクライアントの期末監査、3月決算のクライアントの3Q決算が無事終わり、やっと少し仕事が落ち着きました。
特に、今回の期末監査は非常に業務量が多く、入社して初めて「仕事が終わる気がしない」と焦りました。
昨日はそんな期末監査の反省点と改善策を洗い出していました。すると、思わぬ素晴らしい方法が見つかったので今日は少しそれを紹介したいと思います。
まず、今回の期末監査で明らかになった問題点を以下のように洗い出してみました。
①データ加工等の、単純だけど膨大な作業量が必要となる業務に時間をとられた
②上記に時間がとられることで、会社全体の数字について考える暇を作ることができなかった
③作業の優先順位づけがうまくいかなかった
④それぞれのタスクに割く時間が非常に限られており、ミスをすることがあった
上記の問題点の根源はどこにあるのでしょうか?
この場合においては、
・自らのタスク管理能力
・割り振られた仕事量
が考えられます。
しかし自分のタスク管理能力についても、結局は割り振られた仕事量が膨大であればあるほど落ちていくものなので、一旦問題点を、割り振られた仕事量が多すぎたという点に集約することにしました。
それでは、仕事量が多すぎるといった事態については、どのように対処すればよかったのでしょうか?
考えられる手段としては、
①他の人に適度に分担をふる
②単純な作業スピードをあげる
③今までとは違う抜本的な方法で、仕事を短時間で終わらせる仕組みを作る
等が考えられます。
上記について順を追って考察していくと、
①これに関してはもう少し実践できたはず。しかし、そもそも人手が枯渇している監査チーム内で他の人に分担を振るのは限界があり、仮に多少自分のタスクが軽くなったとしても、その効果は限られている。また、タスクの量に傾きが生じ、チーム全体としての作業が遅れる可能性がある。
②こちらに関しても、実践は可能であった。ただ、すでに作業の方法は完全に理解しており、ある程度スピーディーに作業を終わらせるスキルは身についていたとは思っていたし、仮に現状よりもスピードがあがったとしても、あまり効果はない。また、やみくもにスピードを上げようとすることは、その分ミスが生じる危険性を上げていることにもつながる。
③ゼロベース思考で、仕事を早く終わらせる新しい仕組みをつくる方法である。方法は様々だが、今までやってこなかった方法を採用して、現状よりも圧倒的に能率を上げる方法を見つけ出す。18世紀末に、人がどれだけ糸を早く紡ぐことができるかを追究するのではなく、紡績機をどのように作るかという視点を持つ人が現れたことで世界が変わったように。
上記のように考察した結果、もはや③の方法を選ぶしかないとの結論に至りました。
しかし、じゃあどのようにそのような抜本的な改善策を見出すことができるか?少し考えてみました。
AIの発達により、監査業務がある程度自動化される未来はそう遠くありません。しかし、そう近くもありません。やっぱり手動でエクセルを動かさないといけない時代はもう少し続くと思います。そのため、全ての業務を完全に自動化するのはまだ不可能です。
しかし、一部の単純な作業はほぼ完全に自動化することができるのではないか?そんな考えがよぎりました。
何度も何度も同じ作業を繰り返すデータ加工。毎回少しでもプロセスを誤ると、その発見のためにまた時間が奪われる。「こんなんやって何の能力が身につくんや??」そんなことにうんざりしていた矢先に、書店でこの1冊が目にとまりました。
「Excel 」「自動化」というワードがあまりにも自分の捜していたものと合致していたので、思わず即買いしてしまいました。
内容は、Excelのマクロの機能を使って、日々の作業を自動化しましょうというものです。
監査では、Excelは必須のスキルです。自分も、この1年間Excelを使ってきて、そこそこ使いこなせるようになってきたとは思っていました。
関数だって、VlookupやSumif等の基本的なものから、少し複雑なIF関数やIndex関数、Match関数といった少し応用的なものまで使えるようにはなっていました。
しかし、初めてExcelに触れてからずっと謎だった存在があります。それが、「マクロ」です。
「マクロ?なんかプログラミングみたいで難しそうやな。。。っていうか、わざわざ自分でコード書いてExcelを動かさなくても、普通に関数とか使って処理していった方が早くね?」
と思い、あまりマクロを学ぶことに関して費用対効果を見出していなかったのです。
しかし、それはただ、自分がそもそもマクロが何のためにあるのかを理解していないだけでした。
マクロの醍醐味は、「膨大な作業工程を、ボタン一つで全て自動処理してしまう」ことです。
この事実を昨日知り(今更すぎる)、自分は今までなんて無駄なことをやってきたのかと後悔の念に苛まれました。しかもマクロで使うプログラミング言語、「VBA」は、JavaとかSwiftとかの一般的なプログラミング言語と比してとっかかりやすそうでした。
そして昨日からハマってしまい、今日も1日中VBAの勉強をしてしまっていました。
そして、自分がかなり時間がかかっていた作業を本を参考にしながらひとつひとつ書き上げ、完成してからボタンを押すと、、、今まで1時間ほどかかっていた作業がわずか数秒で終わったのです。笑
これは本当に感動しました。とともに、マクロの可能性に気づかされました。
自分はプログラミング言語は全然扱えないし、VBAくらい書けるようになっても損はないかなって感じです。てかむしろ、これから生きていく上でプログラミングのスキルは必須だと思うし、何よりコードを考えながら試行錯誤し、最後に動いたときの気持ち良さがすごい。。
エンジニアの方々がプログラミングに没頭する理由が少しだけわかったような気がしました。
このマクロを使いこなして圧倒的に仕事の能率を上げ、もっと本質的なことに時間を割けるようにしていきたいと思いました。
あまり意味の感じられない作業にかかっていた時間を有意義なものに使うことで、自分の精神的余裕・経済的余裕も生まれるのではないかと思います。
特にExcelをこれから使い始めるようになる新社会人の方々には、マクロも使いこなせるようになることをお勧めしたいですね。
今日も最後までお読みいただきありがとうございました。