経理担当者はExcelVBAやAccessVBAを知っていても損はない

経理の仕事をしていて多くの人の悩みのひとつに「ミスをしてしまう」とか「数値が合わない」といったものがあるかと思います。かくいう自分もいくつかの会社で経理の仕事をしてきて、この点に大いに悩まされました。

 

自分が今まで経験してきた会社が1つだけで、ミスをどうしてもしてしまうとかどうしても数値が合わないことばかりだったら「自分は経理として向いていない」「自分に能力が無かったのだから仕方がない」で済ませていたでしょう。

 

しかし、いろんな会社を経験してきて気づいたのは、「ミスをする」とか「数値がいつまでも合わない」人とというのは「どこにでもいる」ということです。

 

これはその人が無能であるとか怠けているとかではなくて、長年経理をしていて、なおかつミスや見落としをする「勘所」も理解していてもミスや見落としをしてしまうのです。

 

こういった場合、多くの会社や上司は部下に向かって「集中力が足りない」とか「ちゃんとチェックしろ」とか、挙句の果てに具体的な改善策を提示できないからなのか、「やれ!」という言葉で終始してしまう所がほとんどです。

 

10とか100個の数値をチェックするなら人間の目視でもまだ可能だと思いますが、これが1,000個とか10,000個以上の数値をチェックするとなると目視でのチェックはもう限界があると思います。

 

ではこのような経理とか事務的な仕事で

  • ミスをしない
  • 数値が合う
  • さらに速く処理が終わる

ためにはどうしたらいいかでしょうか。

このための解決策として自分が考えるのは、「人間が処理やチェックをする」のではなく「機械に処理やチェックをさせる」というものです。さらに具体的にはどのような方法を使えばいいのか、ということについて、最近いろいろと考えていたことを書いていってみます。

 

特に最近気づいた「AccessVBAの存在意義」と「その応用」について書いていきます。

人間が覚えるのではなく「システムに覚えさせる」という発想への転換

今回の記事のタイトルに書いてあるように「ExcelVBA」や「AccessVBA」の特徴や効果の説明から入るのもいいのですが、その前に業務に対する「考え方」について書いていこうかと思います。

 

というのも、どんなに素晴らしい道具があっても従来どおりの考え方では道具を有効に使えないでしょうし意味がなくなってしまうだろうからです。

 

最近でも、FAXを使っている会社について問題提起されているニュースを見たりします。今の時代であれば様々な自動化が可能なので、もうFAXを使うこともないのではないか、ということだと思います。

 

こういった事に限らず、企業の業務というものはIT化が進んだ今の時代であれば、その気になれば専門家ではなくてもちょっとした工夫で自動化が可能です。

 

それにも関わらず「ミスや不正が出るかもしれないから」、「証拠として形があるものがやっぱりあった方がいいから」といった理由で、何人もの人の目を使ってハンコを使ったりチェックをしたりしていたのではIT化の意味がありません。

 

こういった方法で不正をなくしたり、ミスを減らせるのであればまだいいですが、人間の手が介在している以上どうしても恣意的な部分が出てきてしまうというか、それらの役割がちゃんと機能しているかどうかは疑問です。

 

また、そのように仕事を増やす中高年の人たちに対して確かに「仕事を奪われたくない」とか「雇用を守りたい」という理由はわかります。ですが、「じゃあそういったやり方があと100年続くんですか」と聞かれたらどう答えるのでしょうか。

 

現実問題として、RPAツールやフィンテックといった新しい技術の発達などで三菱UFJ銀行やみずほ銀行、三井住友銀行といった大手の銀行は、今年大幅なリストラの発表をしています。

 

他にも日本の少子高齢化や人口減少による人手不足から企業のIT化や自動化の需要が高まっています。こういった「時代の流れ」を認識する必要がありますし、そういった時代の流れから「人間がやる」とか「人間が覚える」というやり方は限界があります。

 

例えば労働集約産業である外食産業などで働く人の場合、人間一人がつくれる商品は手間や体力から限界がありますし、働ける時間というのも一日24時間とどうしても「上限」があります。

 

こういった状況から脱出するためには、人間中心ではなく「機械中心」に考え、機械に人間のサポートをしてもらうのではなく、「人間が機械のサポートをする」という発想への転換が必要なのではないでしょうか。

 

このような考え方については、以下の過去記事でも触れています。

ExcelVBAからのきっかけ

ここから少し具体的な話に入ります。発想の転換とか人間ではなくシステムに覚えさせるといきなり言われてもピンと来ない人もいるかもしれません。

 

自分がこのような発想を持てるようになったきっかけの一つとして「ExcelVBA」があります。Excelは多くの企業の事務の処理などで使われているので簡単にイメージできるかと思います。ExcelVBAというのはExcel専用のプログラミング言語です。

 

このExcelVBAの業務における効果については、このブログで以下の過去記事のようにいくつも書いてきました。

人間が処理をするのではなく、プログラムに処理をしてもらうと全然違うんです。適切なプログラムを組むことが出来れば、ある程度の分量がある業務でも文字通り「一瞬」で処理が終わってしまいます。

 

また、人間ではなくプログラムに業務を処理してもらうことになるので適切な順序でプログラムが組まれていれば、まず「ミス」は出ません。多くの人が使っているExcelには無料で使える「ExcelVBA」というプログラミング言語が搭載されているのですいからこれを使わない手はないです。

AccessVBAの存在意義と応用

今回の記事のメインは実はここです。この「AccessVBA」について書きたいがためにこの記事をつくったとも言えます。というのも最近AccessVBAについて勉強していたのですが、このAccessVBAの「存在意義」と「その応用」が実は非常に重要なのではないか考えたからです。

 

勉強に使っていたのは『これ一冊で完璧! AccessVBA即戦力講座』という本なのですが、以下の一連の文章がなるほどと思ったので引用してみます。

p.16

さて、ここで大事なのは「Accessデータベースを使う」=「同時にAccessVBAも使っている」という点です。

例えば、仕事で「顧客管理データベース」を使っていて、新しい顧客登録(入力)するとします。この時、生年月日に未来日を入力したら当然、エラーメッセージが表示されるべきでしょう。でも、実はこの仕組みは、VBAを使わないと実現できません。

ふむふむ、確かに本来入力されるべき数値があってもちゃんとその数値が入力されるとは限りません。人間がどんなに注意してもちょっとした手違いなどで間違える時は間違えます。

 

その間違いに気づかせてくれる仕組みはVBAを使わないと実現できないと。本書の16ページに第1章1節の題名として「Accessを仕事で使う場合、VBA無しだと話にならない」と書かれています。

 

結構ストレートな言い回しですが、なぜAccessはVBAなしだと話にならないのでしょうか。その理由として次のように書かれています。

p.18

逆に、もしも日付のチェックなどの入力チェック機能の無いAccessデータベースを仕事で使っているのであれば、ぜひVBAを使って改善して欲しいものです。

なぜなら、「顧客管理データベース」でも「商品管理データベース」でもなんでも良いのですが、データベースと呼ばれるもので一番大切なのは、「データが正しく保存されている」ことだからです。間違ったデータが保存されていたり、必要なデータが保存されていなかったりしたら、その時点でデータベースとしては「使えない」ものになってしまいます。

だから、Accessデータベースにとって入力チェック機能は、絶対に無くてはならない要素なのです。

なるほど、いろいろな分析事項に対して、その元となっているデータ自体が間違っていたらどんなに分析の処理方法が正しくても結果は間違ったものが出てきてしまいます。

 

現在の国会で議論されている高度プロフェッショナル制度の元となるデータも、法律を通すために実は作為的に適切なものとはされていなかったのではないか、なんてニュースも見たりしますし。

 

経理業務ではどこの企業でも毎月月次決算をしますし、毎年年次決算をします。そのための元となる日々の取引データが正しく記録されていなければ正しい結果は出てきません。正しいデータが揃わなければ正しい分析もできず、正しい打ち手も打てません。間違った解決策を実行することは、場合によっては倒産といった可能性も出てきます。

 

どんなに素晴らしい分析手法があっても、その元となるデータが正しく揃っていなければ、その素晴らしい分析手法も宝の持ち腐れとなってしまうということです。

 

正しい結果を出すためにも「入力チェック機能」は重要ということですね。さらに本書ではExcelVBAとAccessVBAを比較して次のように書かれています。

p.19

この点は、ExcelVBAとは少し異なります。ExcelVBAは、自分の仕事で使うファイルを「更に使い勝手を良くする」ために使用しますよね。手作業でもできなくはない(効率は抜きにして)ことをVBAで自動化するのですから、「より良く」するためにExcelVBAを使います。

しかし、仕事で使う以上AccessVBAは「無くてはならない」もの、そして「使えないと話にならない」ものなのです。

この部分に対して「あぁ、なるほどな」と思いました。筆者の言いたいことはすごいよくわかります。

 

イメージとしては、例えば1から10の業務があったとして、ExcelVBAは1から10の業務を一気に処理できるようにするという感じです。一方AccessVBAは1から10までの業務を全てひとつひとつ自動でチェックしていけるようにする、といった感じでしょう。

 

このような点から経理業務に対して自分は、「あぁ、AccessVBAはこういった存在意義があるんだな」と思ったのと、業務上のミスを防ぐには「ひとつひとつの処理やセルにVBAを通して『チェック機能』をつくっていけばいいのではないか」と考えました。

 

この発想に至る前は、ひとつひとつの処理に自動チェック機能をつくる、なんて考えはまったくありませんでした。というのも、AccessVBAを勉強するまでは、一般的なプログラミング言語とかExcelVBAのイメージから「プログラムで処理、自動化できるのものはある程度の分量の業務だけ」といった発想しかありませんでしたし、

 

ある程度の量ではなく、ひとつひとつの細かい業務に対して処理、そしてチェックのためだけにプログラムを組むという発想はなかったので、結局人間の目視しかないと思い込んでいました。

 

例えばExcelには「入力規則」という機能があります。確かにこの機能でも入力ミスを減らすために様々な条件や制限をつけることもできますが、やはり限界があるのではないでしょうか。

 

例えば入力ミスを防ぐために、ひとつひとつのセルに対して「このセルにAという値が入力された場合は1の処理、それ以外の場合は2の処理する」といった複雑な条件分岐などの処理をさせようと考えた場合、やはりVBAという機能は必要になってくると思います。

 

確かに手間はかかりそうですが、一度環境を整えてしまえば人間がチェックするよりはるかに業務の精度が上がるはずです。

 

もちろん専用のシステムを導入して完全に人間の手を入れなくても全て自動で処理してくれるようにする、という方法もあるでしょう。しかし、そういったやり方はコストがかかりますし、完全にシステムに処理を任せてしまって何らかのトラブルがあった場合対処できるのか、という不安もつきまといます。

 

そういった点を考慮すると、どの企業にもあるExcelやAccessに無料で搭載されているVBAを活用して業務を自動化、チェック機能を組み込むことは、現在の日本の社会や人手不足を考えた場合悪くない手だと思います。

まとめ

ここまで「経理担当者がExcelVBAやAccessVBAを知っていても損はない理由」について書いてきました。今回の内容は別に経理に限ったことではないと思いますし、「考え方」などは現在の日本の状況からどんな業種、どんな人でもこれからは必要なのではないかなと思っています。

 

AccessVBAというものの利用方法や効果について気づいたからこそ、今回のような記事が書けたわけですが、このような発想をもっと以前から気づいていれば自分が今まで経験してきた経理業務ももっとミスなく楽にできていたでしょう。

 

今回の記事で書いたような考え方や方法が少しでも多くの人のお役に立てれば幸いです。

あわせて読みたい

こんな記事も読まれています

コメント