Excel台帳を使った業務を自動化するために考える事

どうも、Excel台帳をデータベースの代わり利用し、業務管理を行っている会社は令和になっても数多く存在しますね。

特に、非エンジニアが「テキトウ」に作った台帳は、酷いものです。

項目の正規化がなされておらず、備考欄意外に文書が登録されていたりと、改善するエンジニアとしては頭が痛い。

私は、本業で数多くのExcel台帳を正規化し、さらにはデータ入出力の自動化を行い、業務効率を改善した経験があります。

10年近く、Excel台帳撲滅運動を繰り広げてきた知見をこの記事に惜しみなく書き殴りたいと思います。

Excel台帳を使った業務を自動化するために考える事

Excel台帳を使った業務の問題点を理解されていない方のため、まず触れておきますが、Excel台帳には次の問題点があります。

Excel台帳の問題点
  1. 人の手作業更新でデータの信憑性が低い
  2. データが消えると復元できない可能性あり
  3. バージョン管理ができない
  4. 不正データが簡単に入力できる
  5. ・・・などなど

問題点を上げたらキリがありません。

Excelは表計算ソフト出会って、データベースソフトではありません。

気軽に使えるが故間違って、データベースとして運用してしまっている会社はかなりリスクを抱えています。

即刻システム化すべきでしょう。

その手順をゼロから解説していきます。

業務で利用するデータの洗い出し

Excel台帳にメスを入れる前に、業務で使っているデータ(情報)を洗い出します。

その台帳に関わるデータがどのような形式で、社内に持ち込まれるのかを考え、全体的な業務フローを洗い出し、潜在的なバクを抽出することが目的です。

台帳を改善する前に、業務全体を見直しておきましょう。

(例)データ洗い出し
  • インプットデータはA社のExcelデータ
  • メールで届く
  • ExcelデータのセルB1〜F52までを取り込む
  • データは文字列と日付、数値がある
  • 毎日、17時に届いたデータを翌朝担当者が入力する

こんな感じですね!図も準備すると、関係者に説明しやすくなり、どこを自動化すべきかが明確になりますね。

Excel台帳の項目の正規化

データの洗い出しが終わったら、Excel台帳の項目の正規化を行います。

正規化と聞いてピンと来ない人も多いと思います。

分かりやすくいうと「Excelの項目をデータベースとして処理しやすい項目に修正する」ということです。

最低限守るべきルールとしては以下です。

Excel台帳の項目の正規化
  • 冗長な項目の排除
  • 1セルに情報は1つみ
  • 文書を登録しない

冗長な項目の排除

冗長な項目とは「利用者氏名」「使用者氏名」と言った同じ意味なのに項目名が違うだけで2列登録されていたり、単純に同じ項目が複数列あったりするものを指します。

(例)A列:No ZA列:No

A列にNoと項目名を付けた後、表を右に移動、その際、A列が画面に映らないという理由でZA列にもNoという項目名を付けてしまってませんか?

ZA列のNoは冗長な項目に該当するので削除しましょう。

一つのExcel台帳に同じ意味を持つ項目は1つだけ!複数つくならい!このルールを徹底します。

インプットデータを精査する

続いてインプットデータを精査します。

この段階で、インプットデータをそのままExcel台帳に投入できるかを判断します。

例えば、日付が「YYYY/MM/DD」ではなく、「YYYY.MM.DD」の場合、「.」を「/」に変換しないといけないですよね?

他にも、数値が文字列扱いになっていたり、その逆もありますね。

携帯電話番号の場合、「09012345678」で取り込むのか「090-1234-5678」で取り込むかで違いますよね。

このように、些細な違いですが、Excelの項目に合わないデータは全て取り込む前に加工しなければなりません。

加工するデータとそのまま取り込めるデータをこの段階で明確にしておきましょう。

自動化の方法を検討する

  • データの洗い出し
  • Excel項目の正規化
  • インプットデータの精査

これが完了したら最後に、自動化の方法を検討します。

最も良いのがシステム化ですが、データベースの基礎がないと難しいので、今回はデータベースシステム化は対象外とします。

おすすめはExcel台帳データベースとExcelマクロ(VBA)を組み合わせた自動化ですね。

Excelは台帳として使いますが、データの更新を全てプログラムで行います。

もちろん項目は正規化した状態で、社内に入って来たインプットデータをそのままExcelマクロ(VBA)で読み取って、Excel台帳まで自動でインプットしてしまいましょう。

必要な知識は「Excel VBA」です。

これを使えるエンジニアを探すか、次のようなページでExcel VBAのプログラミング技術を学ぶようにしましょう。

まとめ

Excel台帳の自動化手順をまとめましたが、如何でしたか?

少し、IT技術を学んだ人間でないと難しい点もありますが、これを機にあなたがエンジニアに転身するチャンスかもしれません。

このような自動化ができるエンジニアは引く手数多です。

一度、自動化に成功すれば得意分野になりますので、是非チャレンジする事をお勧めします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です