経理業務でデバッグツールが使えたり会計ソフトが学習できたら便利なのに

経理という仕事をしていると、どの職場でも次のような言葉が耳に入ってきます。

「あぁ合わない、合わない!」

 

何が合わないのかというと、「数値の合計が合わない」ということです。企業というのは日々膨大な取引をしています。取引先へ自社の製品を販売したり、販売した製品の代金を回収したり、

 

または取引先から商品やサービスを購入してそのための代金を支払ったり、それ以外にも社員の営業活動の経費を精算したり等様々なお金の出入りがあります。

 

そういった日々の膨大なお金の流れを算出する、というのが経理業務の中のひとつとしてあるのですが、これが「全て一発で合う」ということはまずありません。

 

というのも途中で簡単な計算ミスをしたり、そもそも計算の元になる数値自体が間違っているという可能性もあります。他にも取引先に請求書を出し忘れていたりとか、エクセルの関数で消費税の端数の計算が一部違っていて1円合わないとか、

 

仮に合計が合ったとしても、途中の計算が微妙にずれていたり、必要な数値が入っていなかったりなど、数え上げたらキリがありません。

 

どんな場所でもどんな計算でも「ミス」する可能性は存在しているわけです。以前まではそういったミスというのはどうしようもないものだと思っていました。

 

しかしそのような考え方は、プログラミング言語というものを勉強してからちょっとずつ変わってきました。というのもプログラミングには「デバッグ」というものがあるからです。

 

このブログではVBAというプログラミング言語の内容や業務での効果についていろいろ書いてきましたが、業務を効率化するためのプログラムをつくるときにVBEに搭載されている「デバッグ機能」には何度も助けられました。

 

今回はこの「デバッグ」というものについて経理業務と絡めて思ったことを書いていってみます。

プログラミングやVBAにおける「デバッグ」とは

そもそも「デバッグ」とはどういったものなのでしょうか。wikipediaには次のように書かれています。

デバッグ(debug)とは、コンピュータプログラムや電気機器中のバグ・欠陥を発見および修正し、動作を仕様通りのものとするための作業である。

 

サブシステムが密結合であると、1箇所の変更が別の箇所でのバグを作り出すので、バグの修正がより困難となる。

 

要は問題がある所を探して、その部分を修正するということですね。プログラミングという領域においては、さらにこのデバッグをより簡単にできるようにした「デバッガ」というツールがあります。

 

同様にwikipediaには以下のように書かれています。

デバッガを使うとプログラムの実行について観測、停止、再開、速度を落としての実行、メモリ中の値の変更が行え、さらには時間を巻き戻すことさえ可能な場合がある。また、デバッグ作業を行う人のことを指してデバッガと呼ぶこともある

 

デバッグをより簡単にできるツールはVBE(VBA用のエディター)にもあります。実際にこれを使ってプログラミングをしたからこそわかるのですが、本当にびっくりします。

 

要はプログラミングで間違っても、その部分をエラーとしてVBEが「教えてくれる」のです。

ExcelVBAのエラーの種類

プログラミングをしていると様々なエラーが出てきます、特に自分のような初心者の場合は。ではVBAでプログラミングしているとどんなエラーがでてくるのでしょうか。

 

この部分を詳細に伝えようとするとかなり長くなってしまいそうなので簡単に説明していきます。

 

ExcelのVBAでマクロをつくる際に発生するエラーとして次の2種類に分類できると言われています。

  1. 文法エラー
  2. 論理エラー

 

文法エラーは主にVBAの構文や文法などに違反した形で記述した時に発生します。例えば次のようなコードです。

Range("A1).select

何が間違っているのかというと、A1の後ろに”(ダブルクォーテーション)がありません。これだとExcelは反応してしてくれずにエラーを表示してきます。

 

正確には以下のような形にしないといけません

Range("A1").select

 

論理エラーはVBAの文法的な間違いはなくても、論理的に矛盾がある場合に発生するエラーです。これはコンパイルエラーと実行時エラーの2つがあり詳細は割愛しますが、例えば次のようなケースが考えられます。

 

エクセルの3枚目のシートのA1に「エクセル」の文字列を入力しようとしても3枚目のシートがない場合は「エクセル」の文字列を入力しようがないのでエラーが発生してエクセルからエラーが表示される、といった具合です。

 

しかし意図通りの結果ではないのにエラーが表示されないような場合もあります。こういった場合はどうすればいいのでしょうか。

 

エラーに対してエクセルとかVBAとかVBE、デバッガを「すごい」と思ったのがエラーを「追跡できる」という部分です。

 

この部分も説明しだすと長くなってしまうので割愛しますが、例えば「ブレークポイントの設定」という機能によってコードを一行ずつ実行して動作を確認していくとか、「ウォッチウィンドウ」という機能によってコード内の変数や式がどう動いていっているのかを確認できるのです。

 

他にもエラーが出た際にそれをわかりやすく詳細にチェックできる機能がまだまだたくさんあるのですが、VBEのデバッグ機能には以上のようなことができるわけです。

 

ここで思ったのは、経理業務とか会計ソフトを使っている時にプログラミングのデバッグ機能のようなものががあればどんなにチェックが楽になるだろうか、ということです。たぶんこれは経理という業務に限らず、事務的な仕事全般に言えるのではないでしょうか。

 

複数の会社で共通して感じる経理業務の問題点

これは今まで働いてきた全ての会社に共通して言えることですが、それは

  • 数値が合わない

という点です。冒頭部分でも書きましたが、数値が合わない理由や可能性というのは膨大にありキリがありません。

 

ですから「数値が合わない」というのは「もうどうしようもない問題」とか「当たり前」みたいに思われがちです。さらに問題なのは何度もチェックしたりそのチェックの仕方もいろいろと工夫されていて、なおそういった問題が出るという点です。

 

しかしこういった問題に対して、

  • プログラミング
  • Excelの関数
  • フリーソフトの利用
  • 以上のようなITに関するツールの組み合わせ
  • 今回の記事で書いたデバッグのツールやその概念

を経理業務に入れることで、いつも発生する「合わない」という問題を解決できるのではないかなぁと思いました。

 

というのも、このブログで自分の実体験としてVBAやプログラミングの記事をいくつか書いてきましたが、これらが上手く使えるようになると「本当に全くミスが出なくなった」からです。

 

それはもちろん「個人」という小さい範囲だったのでできたからかもしれませんが、これがやり方によっては部署単位、企業単位でできるようになるのではないでしょうか。

 

しかしここで大きな問題が発生します。それは「上の人たちに新しい方法を勧めてもなかなか理解してただけない」という点です。部署単位、企業単位で何かを変えようとしても、上の人たちが承認してくれなければどんなに良い解決策であっても進みません。

 

でもこれは仕方ないかもしれません。自分も数ヶ月前にやっとVBAというプログラミング言語のすごさがわかりました。そういった理解も、実際の業務においてマクロのすごさを実体験として経験できたからです。

 

今の時代は様々なメディアや本から「プログラミングの時代になる」とか「このプログラミング言語を勉強した方がいい」といった言葉をよく目にするようになりました。

 

じゃあ多くの人がプログラミングの道に進んだかというとそうでもありません。IT業界では長年慢性的な人手不足に悩まされています。「論より証拠」とはよく言ったもので、そもそも「なぜそれが必要なのか」ということが理解できないと、人間というのはなかなか取り組めないものです。

 

特に職位が上がれば上がるほど現場レベルの業務からは遠ざかっていきます。企業の大きな方向性を決めるとか財務の分析業務に比べれば、日々の数値を合わせる業務なんて上の人たちから見れば些細なものでしかないのかもしれませんね。

もし会計ソフトが学習してくれたら

ここまでプログラミングのデバッグとかそれをより簡単にできるツールについて書いてきました。

 

経理業務に欠かせないものとして「会計ソフト」があります。この会計ソフトにプログラミングで使うデバッガなどのツールのようなものがあったらどれだけ便利になるかなぁと考えるようになりました。

 

ここまで書くと会計ソフトにはデバッガ的な部分は何もないかのように見えるかもしれませんがそんなことはありません。

 

例えば会計ソフトで何らかの取引の仕訳を入力する時があったとします。これが借方が10,000円で貸方が9,980円となった場合に貸借不一致として仕訳が入力ができないようになっています。

 

他にも、ある勘定科目にしか特定の補助科目が表示されないようにしていたりなど、機能ごとに間違った入力ができないようになっています。

 

他にもいろいろな機能があるのですが、だからといって経理業務においてミスがなくなって数値が「合う」ようになる、というわけではありません。人間の手が入ると様々なミスが発生します。

 

例えば家賃などは毎月発生するものですが、この部分の入力を忘れていたりということがあります。また、資金移動の時とか社員への給与の支払いとかお金が移動するときにいくらかの手数料が発生するのですが、この数値は小さいためにミスが発生しやすいです。

 

例えば単純に見落としていたり、入力する時に微妙に数値を間違えたり(648円とか256円など金額の多寡や振込み方法の違いなどで混同しやすい)、桁数を間違えたり(648円を6480円にしてしまったり)など可能性は無限にあります。

 

しかし会計ソフトがその企業の取引のパターンを学習してくれたらどうでしょうか。

 

例えば、ある月に特定の仕訳が入力されなかった場合、会計ソフトから「過去3年間の5月にこの取引先に毎回支払いをしていますが仕訳が入力されていません。問題はありませんか?」みたいな警告が表示されたらどうでしょうか。

 

このような警告が表示されたら入力忘れは少なくなるかもしれません。

 

他にも毎月決まった取引先に決まった金額を支払っていたとします。例えば毎月90万から110万円の範囲で支払っていたのにある月は1000万円の支払いの入力をした場合、会計ソフトから「この数値は過去のデータの平均と比較すると突出していますが異常値ではありませんか」と警告してくれたらどうでしょうか。

 

もしかしたら仕訳を入力した人が単純に入力する桁数を間違えてしまったかもしれませんし、他にも考えられる可能性はいくらでもあります。

 

もしくはVBEのデバッグ機能のように日々の取引の仕訳入力でミスが発生した場合、取引ごとに自動でミスを追跡できるようになったりなど、

 

別にこういった形でなくても構わないのですが、プログラミングのデバッグツールのように人間が何らかのミスをしてしまったことに対して

  • 警告してくれる機能
  • 追跡できる機能

などが会計ソフトにあったら便利だなぁと考えるようになりました。

 

まぁ一番良いのは完全に人の手が入らないようにしてしまうことだとは思いますが。完全にコンピュータに処理させてしまえば、人間がしてしまうミスの可能性はほとんど排除できるので。

 

仮にそういったシステムができても、そのシステムを利用するための知識がまた必要になってくるわけで、この「ミスをしない」という課題を解決するのはなかなか難しそうではあります。

あわせて読みたい

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

コメント