AccessとExcel(VBA/マクロ含む)の違いとどちらを導入すべかについて

Published on:
Last updated:

This post is also available in: 日本語 (Japanese)

業務をExcelで行っていて、Accessに乗り換えるのか、それともExcel(VBA/マクロ含む)で作業の効率化を進めるかどうか?について悩んでいる場合が多いのかなと思います。
本記事では、開発会社の立場から、AccessとExcel(VBA/マクロ含む)の違いと、どちらを導入すべかについて簡単に書いています。

Excelの処理できる行数について

Excelの処理できる行数についてよく聞かれますが、Excelの2007以降のバージョンは、行数が100万件以上のデータも処理できるような仕様になっています。
なので、データの件数によって、AccessにするのかExcelにするのか判断する必要はないかと思います。
ただ、Excelの仕様で行数が100万件以上のデータも処理できるといっても、その処理に耐えられるある程度のパソコンのスペックは必要になることには注意が必要です。

AccessとExcel(VBA/マクロ含む)のどっちを導入すべか?

過去にご相談を受けてお話してきた感じでは、簡単には以下のような判断基準で良いのではないかと思います。

・データ処理に関してイレギュラーがほとんどなく、データを大量に処理する場合にはAccessでの開発
・データ処理に関してイレギュラーが多く、まとめて処理できない作業が多い場合にはExcel(VBA/マクロ含む)での開発

AccessとExcel(VBA/マクロ含む)の違いについて

Accessには大きく分けて4つの機能があります。
テーブル機能、クエリ機能、レポート機能、フォーム機能 です。

この4つの機能を効果的に使える場合には、Accessを導入した方が良いでしょう。
そうでない場合には、Excel(VBA/マクロ含む)を使うのが良いのかなと思います。

テーブル機能

データを保存して一覧表示する機能です。
Excelのシートとほとんど変わりませんが、他の機能との連携でAccessの威力が発揮されます。

クエリ機能

テーブルに対して、演算(四則演算や平均、集計など)したりと複雑な処理を行ったりする機能です。
処理結果をテーブルに表示したり、レポート機能で整形して印刷形式に表示したりすることができます。

ExcelでいうマクロやVBAの機能に相当しますが、中級程度のプログラミング知識がない場合には、Accessの方が圧倒的に苦労せずに事務処理を行うことが可能だと思います。

レポート機能

テーブルやクエリの内容を表示する機能です。
大量のデータを定型のレポートで一括で表示・印刷する場合には、かなり効果的に使える機能です。

フォーム機能

入力フォームの機能を作成する機能です。
Excelのようにテーブルのセルに直接入力して使うことも可能ですが、フォーム機能によって入力しやすく間違いが起こりにくいシステムにすることが可能です。
入力フォームが必要なくらいの管理体制(データの重要度や、複数人で入力するなど)においては、データを効率的に管理するという面ではAccessを使った方が長期的には良いのかなと思います。

About
Kuniyoshi Takemoto is the founder of Amelt.net LLC, and editor of this blog(www.amelt.net).Learn more and follow me on LinkedIn.