両者の違いについて、良く、お客様から聞かれることが多いので、できるだけ分かりやすく、ご説明したいと思います。
「テーブル」、「フォーム」、「クエリ」など、構造や仕組みについては、他のサイトでも、多数解説されているため、セルネッツでは、Accessの技術的な構造などは割愛し、システム運用する際の相違点について、解説したいと思います。
実際の対比Sampleで出力結果を比べてみよう!
Sampleでは、約2,000件の売上明細データを入力元として、【上半期】売上実績レポートを作成した場合です。
「Access(データベース)とExcel(表計算ソフト)の違い」ですが、いろんなサイトで、いろんなアプローチで違いを説明紹介されてているものの、なかなかその違いを理解するのは、難しそうなので、実際に対比サンプルを元に、両者の違いを解説します。
そもそもソフトウェアの目的・用途・得意分野が違いますが、ここでは、出力という観点から比較結果を見てみたいと思います。
出力結果Excel(xlsx形式:103KB)
出力結果Access(PDF形式:155KB)
Excel
(1) シート関数のみで、ほぼ生成可能
(2) レイアウト変更の際は、Excelシートで調整可能
(3) 出力結果に対し、シミュレーション可能
(4) 書式変更は、お客様自身で自由に変更可能
(5) 塗り色など、[条件付き書式]や[データバー]で対応可
(6) 数式やレイアウトはシート保護によりLOCK可能
↓
Excelは表計算ソフトなので、抽出・集計は遅いが、出力結果を編集・加工できる
Access
(1) レポート機能プログラムやクエリで生成
(2) レイアウト変更の際は、開発会社にて、レポート改修
(3) 出力結果に対し、シミュレーションは不可
(4) 書式変更の際は、開発会社にて、改修カスタマイズ
(5) 塗り色など視覚的な仕組みは、プログラム改修が必要
(6) 数式は使用していない(使用できない)
↓
Accessは表計算ソフトではないので、抽出・集計は速いが、出力結果を編集・加工できない
単純な集計レポートなのに、両者には、出力結果において、これだけ違いがあります。Sampleからは、Excelが表計算ソフトの得意分野というだけで、Accessが悪い訳ではなく、Accessが劣る訳でもありません。
AccessはExcelよりも高速ですが、2,000件程度のデータ件数では、その恩恵も感じにくく、膨大データで対比しないと大きな差が体感できません。
つまり、出力結果(電子データ)に対して、編集や加工ができる点では、Excelが優位と言えるでしょう。
さらに、2次利用や再配布もOKな為、表計算ソフトの利点が活かせる「見積書/請求書/精算書/報告書/勤務表」などの単票フォーマット、「一覧表データ/集計レポート」などの連票フォーマット、さらには、「統計グラフ」などでは、Accessと比べ、身近であり、手軽さという面でも優位性が高いと言えます。
一方、Excelと比べたAccessの優位性と言えば、やはり高速処理。データベースゆえ、何十万件という大量データ群からに複雑な条件抽出でも高速処理が可能となりますが、データ件数が少ないケースでは、Excelとの速度に大差がない…という点も。
つまりメリットが生きるのは、出力レポート生成において、大量膨大データ郡からの条件抽出でしかExcelを上回るメリットは体感しにくいかもしれません。また、データを編集・加工できない点がセキュリティ面では、利点となる場合もあるがExcelでもPDF変換は標準機能として実装されているので、
やはり出力系という括り方で比較した場合は、Excelに軍配が上がるのは、必然と言えるかもしれません。
本Sampleでは、約2,000件の単純な明細データでしたが、「顧客マスタ-」、「商品マスタ-」、「価格マスター」など複数のマスターを参照するケースや、数十万件を超えるデータからの条件抽出などの場合は、Accessが強みを発揮することとなります。
「システム開発」における、3つの開発パターン
まず、はじめに、受注管理システムや在庫管理システムなど、業務システム開発を行う場合、最も主流な3つの開発パターンをご紹介しておきます。
(1)何ができて、何ができないのか
まず、Excelはデータベースではないので、Accessのような大容量データを複数人で同時に取り扱う運用には向いておりません。それはExcelが表計算ソフトという位置づけであることからも、仕方がないことですが、ExcelVBA開発(Excelのみで完結するシステム構築)では、「複数人で利用できない。」と誤解されている方も多いのではないでしょうか。
もちろん、物理的に共有フォルダ内のExcelブックを同時に更新する際、後からOpenした人は読み取り専用モードとなってしまいますよね。これは物理的にOPEN中のファイルを第三者が更新することはできない為、警告が表示される訳ですが、設計方法により、都度、OPEN判定による更新処理を行うよう設計することでこの問題はほぼ解決することが可能です。
それを推奨する訳ではありませんが、実務において、この設計手法で運用されている企業様は多数いらっしゃいますので、「同時更新が唯一のネック」といった方は是非ご相談ください。 本来、Excelは表計算ソフトなので、このような同時利用を想定して開発されたものではありません。
そこで、Accessの登場です。Accessは、データベースなので、Aさんも、Bさんも、同時に利用できるのです。
(2)取り扱い可能な「有効データ件数」
Excelの場合、理屈上は、「100万件まで使える。」と解釈される訳ですが、これはあくまで理論上の話であって、現実的に100万件データなど、管理できるものではありません。
【種類】行×列 【エクセル】最大1,048,576行 × 最大16,384列 【アクセス】 行数や列数ではなく、MDBファイル最大サイズで、2GB
そもそも、エクセルのブックをダブルクリックしてから、開くまでに何十分かかるかわかりませんし、仮に開いたあとも、運用に堪えない重さやスピードというのは、ご理解いただけるかと思います。
(3)どんな事に留意すべきか
Excelシステムを選択した場合、AさんBさんが分担して、顧客データを100件づつ、システムから登録するケースでも、入力する時間帯をずらせば、何ら問題はないので、ご予算も加味した結果、小さなオフィスでの少人数システムの場合は、Excelを選択するケースは少なくありません。
(4)「Excelシステム」を選択したお客様の声をご紹介
【理由1】
Accessベースのシステムを利用していたが、様々な制約があり、柔軟性の面で使わなくなってしまった。たとえば、注意事項を促したい箇所に、「色文字を指定できない。」など。
【理由2】
Accessでは、細かな制限が多く、自由度が低いため、顧客からのイレギュラー対応には手間がかかりすぎて使えない。(※値引き請求を依頼された場合、見積書から修正してゆかなければならないなど)。Excelなら、イレギュラー処理も簡単にできるので。
【理由3】
細部調整が効かない。Accessの得意なスタッフがいないので、社名表記など文言の小さな修正を有償で依頼していたが、Excelに変更することで、社内でも対応できるようになるから。
(5)選択におけるポイント
エクセルVBA版システム採用の理由としては、「使い勝手」や「柔軟性」などを挙げる声が多いのですが、いずれの場合も、あるものを「得る」と同時に、あるものを「失っている」ことに着目してください。
それは、データ信頼性であったり、データ整合性のことを指しています。 どちらが良いか、それは、ご予算や、運用パターンにより変わってきますが、セルネッツでは、以下の3つを、システム選定判断される、参考情報としてご提案しております。
選定のポイント
その1:「利用人数」
その2:「取り扱うデータ量」
その3:「導入後の管理やメンテナンス費用」
Point!
Accessはデータベース、Excelは表計算ソフト。そもそも目的が違います。
– 複数人で同時利用ならAccess。1人や2人程度の利用ならExcel。
– 馴染みやすいExcelと違い、Accessは制約も多く、ある程度、学習が必要。
– Excelと違い、AccessはOffice製品の中でも、別ライセンスとなるケースが多い。
– Accessと違い、Excelでの膨大なデータ処理は、時間がかかり過ぎ不向き。
– Excelシステムでは、そのまま「普通~に」データ入力が出来るが、Accessは△。
– AccessはユーザによるカスタマイズがNGな為、導入後メンテナンスコストが割高。
「Access開発」 or 「Excel開発」 それぞれの選択理由
弊社では、システム開発のご相談をいただいた際のご訪問お打ち合わせでは、はじめに「Excelシステム」と「Accessシステム」との違いについてご説明しています。その理由は、「Excelシステム」から「Accessシステム」への移行もあれば、その逆のケースもある為です。
もちろん、「システムとしては、どちらが優れているか。」といった優越でのご説明でもなければ、単純な機能の比較ではなく、お客様のご利用形態/運用形態をはじめ、想定しうる発生コストについてご説明をおこない、後の無駄なシステムの入れ替えが起きないよう両者の場合の開発お見積もりをご提示させていただいております。
AccessとExcelアプリケーションの異なる目的
両アプリケーションには、それぞれに異なる目的があり、もちろん長所/短所があります。
これまで多数の受託開発を行って参りましたが、「今までは、Excelを使っていたが、利用者が増えてきたので、Accessでのシステム構築を行って欲しい。」というご要望は、とても分かりやすいのですが、その逆のケースがあります。「Accessのシステムを使っていたが、わずかな修正要望でも、システム改修と言われ、都度コストが発生してしまう。Excelの書式やテンプレートを活用することで、このようなケースには自社対応できる方がメリットがあるので、新機能追加をあわせ、Excelで開発して欲しい。」といったご依頼をいただくことがあります。
また、Accessがデータベースという事もあり、Excelのように簡単な修正などができない、など、手軽な反面、リスクも同時に抱えることになります。これらをふまえて、ご検討いただき、開発していった結果、弊社の場合は Excel:Access=7:3 の比率で開発が行われています。
Access or Excel 選択理由~お客様の声
続いて、さきほどと若干重複しますが、選定の理由を、お客様の声でご紹介したいと思います。
Excelを選択した理由
□利用人数が5人以下のため
□データが増えたらAccessに移行する
□利用者が増えたらAccessに移行する
□ライセンス料が発生するから
□保守サポート費用が発生する為
□Accessに詳しい人がいない為
□Excelシステムで充分だから
□とにかく余計なコストは省きたい
□Excelのように融通が効かない為
Accessを選択した理由
□利用者が増え、同時利用が多い為
□同時利用が前提となるから
CellNets的な結論
小規模システムにおいては、利用者が5人以内であり、データの発生頻度(増え方)が、2000件/月 程度のペース【24000件/年】、同時更新は重要ではない、といったケースでは、多くの場合、Excelで充分との結論に至るケースが多いというのも必然かもしれません。
お客様の大半は、「Access」か「Excel」かといった事は大切ではなく、「できるだけ低料金で、問題解決できれば良い。技術的な事は良く分からないので、とにかく操作性の高いシステムとなれば後はお任せします。」となる訳です。
つまり、私たちのような開発会社がどう提案し、どのように誘導してゆくかで、お客様は方針を委ねるということになるわけですが、「Excelでシステム開発」?という事がもともとイメージには存在しないこともあるようですので、他社様との提案比較の際に、Excelシステムの有用性を知っていただく事も多く、これからも、小規模システムにおいては、コストパフォーマンスの高いExcelVBA活用を提唱して参りたいと思います。
システムの拡張性について
(1)Excel+Excel
(2)Excel+Access
(3)Acces
(4)Excel+SQL
という組み合わせや、ステップアップももちろん可能ですので、システム規模を初めから大きくする必要性はありません。
私は前職でも、「利用ライセンス料」や「保守サポート費用」という付属して発生してくるコストにはとても肯定的ではありませんでしたので、「費用対効果」について重要視しシステム導入推進を行っていました。
例えば、利用者が3人しかいないのに、データベースは「オラクル」が導入され、専用サーバーが存在し、ほとんど増える事のないデータ件数でも、システム保守料として、年間60万円を支払っていたのですから、システム会社の提案にも、セカンドオピニオンが必要な気がしてなりません。
数百万円~1000万円以上をかけて、オラクルやSQLを活用する企業には、「セキュリティ重視」という絶対的な背景があるので、企業の社会的責任からも譲れない面もある訳ですが、利用者が2~3人という小さな運用においては、「Access開発」でも「Excel開発」でも、情報管理の効率化という面では、十分その役割を果たすのではないでしょうか。
3パターンの比較
小さなオフィスで、少人数が利用する程度の業務システムなら、Excelでも十分な可能性が高い。となるため、どんなに高い最先端の技術をもっても、Excelデータを加工編集するのであれば、Excelアプリケーションの便利な機能も併用できますし、やはりExcelVBAが合理的であると考えます。
(A)「Excel」のみでシステム構築
Excelのみで完結「データ変換ツール」や「データチェックツール」など、都度の処理で目的達成するようなツール類をはじめ、複数人同時利用を必要としない、簡易システムなどであれば、Excelだけ完結できるため。
(B)「Excel」+「Access」でシステム構築
Excel+Access「○○管理システム」などのように、永続的なデータ管理・蓄積を必要とし、複数同時利用も必要、さらにデータ件数もかなり多め?であれば、Excel+Accessがオススメ。
(C)「Accee」のみでシステム構築
Accessのみで完結中規模以上のシステムで、データ件数も膨大で、イレギュラー処理を許可しない且つ、他のシステムとの連携を要するシステムとなった場合は、Access開発が望ましいと考えます。
「開発でエクセルとアクセスのどっちを使う」論争の決着
「開発でエクセルとアクセスのどっちを使う」論争の決着。第三の選択肢、エクセルとSharePointの連携
「開発でエクセルとアクセスのどっちを使う」
論争の決着、第三の選択肢、エクセルとSharePointの連携について、わかりやい動画をまじえ、ご紹介しております!是非、ご覧ください。