Excelは1985年に登場して、従来の紙と電卓での集計作業からパソコンでの表計算へ移行させて、世の中を変えてきました。まさに世界を変える出来事でした。しかし、それはもう40年ほど前の出来事です。その間にIT技術は目覚ましい発展を遂げています。
下のグラフをご覧下さい。これは世界1位のスーパーコンピュータの性能グラフです。順調に右肩上がりになっているなと思われるかもしれませんが、縦軸の目盛りに注目して下さい。縦軸は対数軸になっていて、1目盛り10倍になっているのです!
順調どころか物凄い勢いで性能が上がってきているのです。ちなみに M1 Mac Pro は最高で 10.4 T Flop/S と言われていますので、なんと 2001年の世界最速のコンピュータを超えています。そんなバケモノマシンが素人の私たちでも買える時代になってしまったのです。
しかし一方で、世の中の事務業務と言えば、昔ながらの表計算からあまり進歩してないのではないでしょうか?それもそのハズで、ITは専門家の仕事と言わんばかりに、日本の教育はITに力を入れてこなかったので、日本全体のITスキルは一向に上がっていません。
ですから、日本の会社員の皆さんは身近なところからでも良いので、ITスキルを少しでも向上させて世の中を良くしていって欲しいと私は願っています。
そこで再び Excel の登場です。実は Excel は 2013年にデータベースの機能が搭載されたのです。しかも、プログラミングの知識は不要で様々な処理が可能なように作られています。1985年の登場の時と同じようにこれからの世の中を変えていく力を秘めた機能ですが、残念ながら世の中でどれだけ使いこなされているのか怪しい状況です。
この記事では、従来の表計算を使った業務から Excelのデータベース機能(Power Query、Power Pivot)とデータベース(SQL Server)を使った業務への刷新、DX化についてのコンセプトを紹介します。
実際の具体的な方法については次の記事で取り上げていますので、そちらも続いてご覧いただければと思います。
では、さっそく始めましょう!
何故 脱Excelなのか
まず結論からいきましょう、従来のExcel表計算では次のような課題があり既に時代遅れになりつつあります。
1. 手作業が多く非効率
2. ファイルが簡単にコピーされバージョン管理が困難
3. データ量が多くなると処理が重くなり事実上使えない
手作業が多く非効率
表計算は、入力の「セル」の値を変えると続けて計算する部分は自動化することはできました。しかし、最近では「セル」の入力値がインプットというよりは、「データ」が丸ごとインプットというケースがほとんどです。
そうなると、データを張り付ける、セルの計算式を手直しするなど手作業が発生してしまい、非常に非効率であるばかりでなく、ミスを誘発することにもなります。さらにデータ量が多ければそれだけ手作業にも時間がかかり効率はますます下がっていきます。
大きなデータに対してはExcel関数式は時代遅れなのです。
ファイルが簡単にコピーできてしまいバージョン管理が困難
ファイルをコピーした瞬間からどちらが新しいファイルか分かりにくくなくなってしまいます。しっかり注意を払って管理しなければ最新のファイルがどれか分からなくなってしまいます。これは仕事を進める上で致命的で、何時間もかけて処理したものが実は古いデータだったなんていうのは笑い話では済まされません。
これを解決するのはデータベースによる一元管理です。だれでもアクセスできるデータベースを構築して、データベース上のデータが唯一無二の正しいデータとして管理することで、誰でも何時でも最新のデータにアクセスすることが可能になります。
データ量が多くなると処理が重くなり事実上使えない
工夫した Excel 関数式を大きなデータに適用するとすぐに直面するのが処理の重さです。最近では「ビッグデータ」で無いにしても、何万行のデータなんてそこら中に溢れています。そんなデータを Excel関数で処理しようとすると途端に処理が重くなり、手作業がますます滞ってしまいます。
Excel関数はそもそもそういう大きなデータを想定したものでは無いから仕方ありません。
このため新しいExcelのデータベース機能や、本物のデータベースを使うべきなのです。
DX化のポイント
前の項目でも書いたように、昔はインプットがセルに入力するいくつかの「値」だけでしたが、現代では「データ」が丸ごとインプットになります。
しかし、これまで会社の中で構築された様々な仕組みは「値」に適合した仕組みで、「データ」を前提にした仕組みになっていないケースがほとんどです。
ですから、この記事で言うDX化のポイントはズバリ 「データ駆動型の仕組み」 になります。
よくある Excel フォームの転記
よくあるパターンとして、Excelで入力フォームを作成して、社内で多くの人が記入してきたものを手に入れたあと、セルの値をどこか別の Excel ファイルに転記するなんて業務があります。
誰かが一度入力作業をしてくれたにもかかわらず、再度受け取った側が転記作業をするという非効率なことが日本中あちこちで行われています。
「データ」で渡せば Excel のデータベース機能で自動処理できる
「データ駆動型の仕組み」では「データ」を前提にする訳ですから、社内の情報伝達も「データ」を渡すという考え方になります。
Excel フォームは少し工夫して「データ」を含められるように見直します。そして、受け取った側はファイルから Power Query や VBA で「データ」を自動で取り出して次の処理に繋ぎます。
こうすることで、すべての処理をコンピュータに任せて自動化することができるようになるのです。
なお Excel にこだわる理由
「 “脱 Excel” なのに、”また Excel” なのか?」と思われる方も多いと思います。しかし、Excelには圧倒的な優位性があります。
それは、「世の中の大多数が使えるツールである」という点です。それは、ツールの入手の観点からも、ツールの使用スキルの観点からも、誰に対してもハードルが低いということです。
これにより構築する仕組みはスピーディーに展開できて、有効に機能させることができるというになります。
データ駆動型の仕組み
では、実際にどのようにして「データ駆動型」の仕組みを構築していくのかを説明しましょう。
手順は以下の通りです。なお、具体的な内容は次の「実践編」の記事で説明することにします。
1. データベースを構築してデータを集める場所を作る
2. 「データ」を提出できるように Excel フォームを再構築する
3. 「データ」 をデータベースに登録するツールを作る
データベースを構築してデータを集める場所を作る
Excel と連携するデータベースとしては、同じ Microsoft社製品で Excelとの親和性も良く、無料のExpress版がある SQL Server がオススメです。
SQL Server をインストールして、データベースを作成、集めたいデータを収めるテーブルを作成すれば完了です。
ここで注意するのは、ユーザーが入力するデータと同じ形をしたデータテーブルにするということです。
こうすることで、ユーザーが何百、何千となってもデータベースが楽々データを蓄えて処理してくれるようになります。
「データ」を提出できるように Excel フォームを再構築する
よくある Excel フォームは人間にとっては読みやすいものですが、コンピュータにとっては読み取り難いものになっているのがほとんどです。
これを コンピュータが「データ」として読み取れる形式に変換するする工夫が必要です。
これにはいくつか方策がありますが、Excel の Power Query の機能を活用するのがオススメです。
そもそも、Power Query は「データ」の形式になっていないものから、「データ」を抽出するための機能が沢山盛り込まれており、まさに「データ駆動型」の仕組みを作るための機能と言えます。
「データ」 をデータベースに登録するツールを作る
「データ」の形式になったものをデータベースに登録する機能は残念ながら Power Query にはありません。そこで VBAを活用します。VBAでのプログラミングは開発コスト(時間)が大きいのでなるべくシンプルなものにする必要があります。そのためにも、前段階で綺麗な「データ」形式にしておく必要があります。
これが完成すれば、沢山のユーザーから「データ」をデータベースに「一元的」に集めることができ、さらに集まったデータを更に データベースのクエリや Power Query を活用することで有効に活用することができるようになります。
まとめ
この記事では旧来の Excel フォームを使った業務から、Excel のデータベース機能や本物のデータベースである SQL Server を使った「データ駆動型」の仕組み駆逐のコンセプトについて紹介しました。
会社が「データ」を中心に回るようになると様々なことがスピードアップしていきます。これが小規模ではありますが、DX化だと思います。
このような仕組みを通して社員がIT活用に目覚めることで、更に会社のDX化が強力に推進されると考えられます。
DXは「デジタルによる価値創造の変革」です。それには「人」が変革しなければなりません。身近なところから全社員がITスキルを上げていってやがてそれが会社の変革に繋がるものと私は考えています。
是非皆さんもこの機会にITスキルの向上、普及について考えてみて下さい。
次の記事では、この「データ駆動型」の仕組み構築の実践について解説したいと思いますので、よろしければ是非読んでみて下さい。