事例紹介

Excel専門家が語る
AccessとExcelの根本的な違いとは?

ExcelとAccessの優位性

当社が主にExcelを前面に出した情報システム化を専門としていることもあり、お客様からよく「AccessとExcelはどちらが優れているか」的な質問を受けます。

かつて(Excel2003まで)は、Excelで扱える行の上限が65536行だったこともあり、大量データはAccessでないと扱えない、というのが常識でした。

しかし、2007以降のバージョンからは100万行以上のデータを扱えるだけでなく、列方向(横方向)も168384列まで扱えるようになり、大量データでも扱えるようになっているので、以前のような単純な比較が難しくなっています。

 

 

そもそもAccessは、ただのデータベースソフトではない

Accessの本当のすごさ(他のデータベース環境との決定的な差別化)

Accessの最初のバージョン1.0が登場したのは、1992年の暮れのことでした。当時は日本語版が存在せず、筆者は秋葉原の量販店で英語版を購入したのを覚えています(たしか、3万円台でした)。

日本語版が登場するのはその翌年ですから、日本では93年以降に普及したと言えます(バージョンアップの扱いを受けられず、正価で再び購入しました)。

当時パソコンでリレーショナル型のデータベースが存在していなかったので、まさに革命的な出来事として受け止められていました。更に、データをためる器としてだけでなく、データ入力のための画面や、蓄積されたデータを活用したレポートの作成などが簡単にできる点は、従前のデータベースを使っていた立場のものとしては、晴天の霹靂とも言える利便性革命でした。

今でもそうですが、本来データベースとは、データを蓄積して検索する為の「器」を指します。例えばSQL ServerやOracleは、大量のデータを高速かつ安全に検索するためのエンジンとしての機能であり、画面やレポートを作りたければ、それぞれが任意のプログラム言語で作成するのが常識で、本体にそれを補助する機能はありません。つまり、Accessの革命的なすごさは、データ操作をSQLでできるというリレーショナル性とともに、業務上は当然にセットになる入口(画面)と出口(レポート)を作る機能が一体化している点にあるといえます。

なお、似たような処理環境として「File Maker」がありましたが、こちらは(リレーショナル型ではなく)カード型と呼ばれるもので、処理の自由度などが決定的に異なります。

 

Ver1.0の基本設計が、今でも残る(負の遺産)

ところで、今では当たり前のネットワーク環境(社内LANを含む)ですが、パソコンでネットワークに接続できるようになったのは、ネットワークOSであるWindowsNTが登場して以降です。これが1994年ですから、Accessを開発している頃には、パソコンでネットワークに接続して、複数名が同時に接続して使うことは想定されていませんでした。

皮肉なことに、データを一元管理するための「データベース」でありながら、Accessは複数名が同時に使う前提ではない仕様を未だに引きずっており、同時に更新をかけに行くと壊れることが少なくありません。業務用に安定稼働をさせようとした場合は、相当の工夫をして使わないと、いつ壊れるか分からないというリスクがついて回ります。

 

その後のバージョンアップで変わったこと、変わらなかったこと

その後、バージョンアップを繰り返す度に性能が上がっていくのですが、基本的な「データベースの中から情報を取り出す」機能については、実は初代からあまり変わっていません。これはSQLというしくみ自体が、当初から完成度が高かったから、大きく変更する必要がなかったとも植えるでしょう。扱えるデータの件数についても同様で、パソコンの性能が上がった分、実用になるキャパが拡大したと言った方が正しいかもしれません。

一方、ユーザが登録する画面を作る機能やレポート作成の機能は高度化しており、Excelにはできないようなレポートが簡単に作れるのが特徴です。

何故か、バージョンアップする度に、以前のバージョンで作った画面(Form)やレポート(Report)が使えなくなるのが泣き所でした(最近は改善されたようですが)。

 

Excelにできない、Accessだけの機能とは

ちょっと情報システムに詳しい方ですと、Accessはデータベース操作言語であるSQLを使って処理ができる、という認識をされているかと思います。

しかし、実のところExcelにもMS Queryという機能がついており、SQL操作が可能です。つまり、単にSQLを使ってデータ操作をするだけなら、両方とも「可能」です。

それでは、Accessにしかできない特徴的な機能は何でしょうか?

細かい違いはさておいて、よく使う部分では、登録用画面がわずか数十秒でできてしまう機能(Formのウィザードを使います)や、同じく複雑なレポートを数十秒で作ってしまう機能(Reportのウィザード)は、Excelでは絶対に真似ができない機能です。

この他、最近流行の「ノンコーディングで作れるRPA」同様、プログラムを書かずして(メニューから処理を選択するだけで)、一定の処理ができる「マクロ」機能も、Accessならではの特徴です。

 

Excelにしかできないと思われている機能

逆に、Excelしかできないと思われている「フィルタ」機能は、Accessでも使えます。

意外なところでは、Pivotテーブルも、グラフ描画も、Accessで使えます。

こうしてみると、案外両者は似たものの兄弟なのかも知れません。

 

Excelにしかできないこと

一方、Excelにしかできない、業務効率に影響のある機能を挙げてみます。

  • セルに着色する
  • セルに下線や枠線を引く
  • 任意の位置に、コメントやオブジェクトを配置できる
  • ファイルに結果を保存する
  • 範囲でコピペする
  • オンライン版(ブラウザで動作)が存在する

まだまだありますが、これが使えなくなると困る、という機能が意外と多いのではないでしょうか?

機能ではありませんが、標準的なOfficeのライセンスにExcelは含まれますが、Accessは別途購入するか高額プランを選択する必要があるのも、留意が必要です。

 

Excel/Accessそれぞれに向くシステム化対象とは

当社はExcelをUI(利用者が使う画面や印刷用帳票)に最大限活用する、専門企業です。

20年前にこの仕事を始めた時には、まだExcelで企業向けのシステムを手がけるところが皆無で、ネットで調べても「できない」的な論調の内容ばかりでしたから、優位性をアピールすることに必死でした。

思えば、自分達で思っているだけで、利用者には余りメリットのないこともアピールして来ましたが、20年もやっていると実際にExcelで実現すべき情報システムの適性が見えてきます。

特に大きいのが入力画面系で、手持ちのExcelからコピペで登録する、といった使い方をするケースが意外と多いのです。

また、最近のシステムだとブラウザで画面を作るのですが、これだと「一時保存」ができません(わざわざ機能化していれば別ですが)。Excelならファイルで保存しておき、清書になったら別のフォルダに配置する、といった単純な運用で説明がつきます。

次にレポート系では、作成されたレポート(出力物)に直接コメントやセル着色などの形で記入ができる点が支持されています。特に会計系では、「どこまでチェックしたか」や「後で忘れないように補足メモを残す」といった行為が業務上重要な意味を持っており、直接書き込めるとしたら、事実上Excelしか選択肢はありません。

更に、取引先毎に伝票形式が微妙に違う、といったケースでも、Excelなら行列を入れ替えながらレイアウトを変更する、といったことが利用者側でもできます。

このようなExcelのメリットを活かせる業務であれば、わざわざ高い費用と長い開発期間をかけて、ブラウザを使ったシステムにするメリットはありません。

 

一方、短期間に大量の入力画面/出力帳票を量産するのであれば、圧倒的にAccessの方が生産性が高いです。テーブルやクエリが存在していれば、それこそ1分以内に作れてしまうので、実用性には目をつぶってでも大急ぎで間に合わせる必要があるような時には、信じられないような生産性をたたき出します。

少なくとも、一般的に「ちゃんとしたシステム」と思われているブラウザを使った情報システムに比べ、ExcelやAccessを使ったシステムのほうが、柔軟性に長ける傾向があります。つまり、すぐ修正できるのです。

本当か?と思ったら、是非両方式で相見積もりをとって下さい。初期費用だけでなく、その後の運用の柔軟性の差に、唖然とするはずです。