同じMicrosoft Officeの製品群である「Excel」と「Access」。
データを活用するという観点で似たようなことができる両アプリケーションですが、仕事上での使い分けがよく理解できていない方もいらっしゃると思います。
今回は両アプリケーションの特徴を整理しながら、仕事での使い分けのポイントを解説します。
ExcelとAccessの最大の違いは「データの持ち方」
両アプリケーションの違いは多々ありますが、最大にして根本的な違いは「データの持ち方」です。データの持ち方について、僕は次のようにイメージしています。
Excel(表計算ソフト) | Access(データベースソフト) |
---|---|
方眼紙にデータを並べている | 箱の中にデータを放り込んでいる |
これはExcelとAccessに限らず、表計算ソフトとデータベースソフトの違いでもありますが、このデータの持ち方の違いが両アプリケーションの違いを決定づけるポイントといえるでしょう。
それではさっそくアプリごとに詳しくみていきましょう。
Excel データの持ち方

Excelは”セル”というマス目が集まって一つの”シート”を構成しています。
シートのサイズは列(横軸)が16,384列、行(縦軸)が1,048,576 行あり、この中に数値や文字などのデータを書き込んで様々な処理を行うことを基本とします。

各セルには”セル番地”とよばれる住所のような位置指定があります。例えば「I3」というセル番地であれば、列が左から9列目、行は上から3行目のセルといった感じです。
そして、シート内であればどこでも自由に文字や数値を入力できますし、図形を配置できます。
このように、Excelは書き込んだデータがどの場所に位置するかが明確であり、視覚的にも把握しやすいので、感覚的に操作してもある程度使えてしまうのがExcelの特徴といえるでしょう。
Access データの持ち方

Accessは”テーブル”というデータを保持する箱のようなものをあらかじめ作成(設計)し、そこに数値や文字などのデータを記録し様々な作業を行うことを基本とします。

上図はテーブルの一例ですが、基本的には以下の構成となっています。
横軸:列(フィールド) ※格納するデータの内容。
縦軸:行(レコード) ※格納する1件単位のデータ。蓄積されていく。
見た目は割とExcelのシートに似ていますが、Excelの場合はシート内のどこでも自由にデータ入力を行い「1件のデータ」という概念もユーザに委ねられるのに対して、Accessのテーブルでは1行のデータが1レコードであり、レコード単位でデータを保持します。
また、追加可能なデータ件数はExcelと違って限界はありません。(一つのデータベースファイルのファイルサイズが2GBという制限はありますが、その範囲内であればデータ件数の制限はないのです。)
Accessは必要なデータをテーブルの中に蓄積し、そのデータを元に自由に設定した条件でデータ抽出したり(クエリ)、画面に表示したり(フォーム)、印刷したり(レポート)と様々な”オブジェクト”を用いてデータ活用することが特徴といえるでしょう。
普段は箱(テーブル)の中に無造作に入っていても、道具(クエリ、フォーム、レポートなどのオブジェクト)を使えば便利にデータ活用できる!というイメージですね。
ExcelとAccessの特徴比較
根本的な違いが分かったところで、さらに詳しくそれぞれの特徴を比較していきます。相違点は多々ありますがここでは「①手軽さ」「②データ信頼性」「③データ量」「④マルチユーザ」「⑤高度なデータ分析」「⑥拡張性」の6つに絞って比較します。

根拠は私の経験に基づいた独断と偏見です!
項目 | Excel | Access |
---|---|---|
①手軽さ | 〇 | △ |
②データ信頼性 | △ | 〇 |
③データ量 | 〇 | ◎ |
④マルチユーザ | △ | 〇 |
⑤高度なデータ分析 | ◎ | 〇 |
⑥拡張性 | ◎ | ◎ |
①手軽さ
事前学習もそこそこで直感的に使い始められるという点ではExcelに軍配があがるでしょう。
操作は”リボン”とよばれるメニューボタンで行いますが、同じMicrosoft製品であるWordと共通している部分も多いためこの時点で操作習得のハードルをぐっと下げてくれています。もちろん高度な使い方をするには学習が必要ですが、基本的操作…例えばシート上に自由に罫線を引いたり、数値を入力したり、関数で計算したりといった部分は直感的に行うことができますし、この部分だけでもかなりの作業に対応できると思います。
このような手軽さは実際のユーザー数にも表れており、ある調査では仕事における表計算ソフトの利用率が62%と高い割合を示しています。
一方Accessの場合は、アプリケーションとしての操作方法を習得することとは別に、データベースとしての知識(テーブル正規化、SQL等)もある程度必要です。そういった意味では”手軽に”という謳い文句は適さないかもしれません。ただしそこは学習次第でカバーできるところです。
②データ信頼性
Accessには、正しいデータを保持するための仕組みと機能が備わっています。
その一つがテーブル設計です。「Access データの持ち方」の項目でも述べたとおり、データを格納するテーブルを自分で設計する際、どの項目にどういうデータを入れるか定めることで、意図しないデータの混在を防ぐことができます。例えば、「郵便番号」項目があったとして、この項目には7桁の数値のみを入れたい場合、そのような設計にしておけばそれ以外は入力できなくなります。また、テーブルには「主キー」という概念があり、主キーとした項目は重複や空白は許可されません。これにより、データの重複登録や登録漏れといったミスを防ぐことができます。
その他にも様々な工夫でデータの信頼性を高めることができるのが、Accessの強みであり、特徴といえるでしょう。
一方、Excelは手軽で自由度の高い操作が特徴であるがゆえに、入力ミスに気づかない可能性があります。ただし、セルに対して入力規則の設定、またはユーザーフォームという独自の入力画面を作成し、VBAで入力値の制御などを行えば、ある程度信頼性を高めることは可能です。このあたりは、自由度(手軽さ)と制御(難易度)のトレードオフ関係といえるかもしれません。
③データ量
前述「データの持ち方」でも書きましたが、データ件数の限界が明確にあるExcelに対して、Accessはファイルサイズが2GB内であればデータ件数の制約はありません。よってこの項目に関してAccessに軍配があがるでしょう。
もっともExcelでも100万行以上のデータを持つことはできますので、一般的な事務処理で扱うデータであれば困ることはないスペックといえるでしょう。とはいえ現実に数十万件のデータに対して複雑な関数を設定のうえデータ絞り込みを行う…なんてことをしていると動作が重くなることも多いと思います。(大きなデータの扱いでパフォーマンスが低下する点はAccessも同様ですが…)
データの管理でよくあるのは、日々発生するデータを蓄積するタイプの処理です。売上データや請求データ、成績管理や在庫管理など様々あると思いますが、こういった時系列の中でデータ蓄積していき、結果として大量データとなるケースにおいても、データを並べていくExcelよりも箱の中に放り込んでおいて必要に応じて取り出すAccessの方が使い勝手が良いです。
④マルチユーザー
一つのファイルを複数人で同時使用することを一般的に”マルチユーザー”とよびます。機能としてはExcel、Accessのどちらでも一つのファイルを複数人で編集等を行うことができます。
Excelには”ブックの共有”または”共有編集”という機能がありますが、共有編集はExcel2019以前のバージョンでは使用できませんし、ブックの共有は更新内容がリアルタイムで反映されないなど、なかなかクセがありますし、個人的には実用性の幅が低いと感じます。
一方のAccessですが、データベース自体がもともと複数人でデータを扱うことを前提にしていますので、当然Accessも複数人での使用が可能です。しかしもともとスタンドアローンでの使用を前提とした製品であるため、あまり多人数での共有は推奨されていません。
とはいえ、私自身の経験では100人規模で使用するツールも作成/運用していましたので、設計や使用方法によっては大人数での運用にも十分対応できます。
⑤高度なデータ分析
Excelには様々な方法でデータ分析を行う方法が用意されています。
身近なところではSUM、AVERAGEといった関数を使った合計や平均値を求める基本的な分析。ピボットテーブルを使えばクロス集計による動的な分析が可能ですし、分析元となるデータの取込/加工はPower Queryを使うと効率的です。極めつけはその名の通り”分析ツール”というツールがアドインとして追加することができ、統計学的な分析を行うことができます。
また、グラフ機能も強力で、多種多様なグラフを比較的容易に作成することができますので分析結果のアウトプットに最適でしょう。
もちろんAccessもデータ分析は得意です。蓄積しているデータに対してクエリの”集計”を使えば合計、平均、カウント、標準偏差などの値を求めることができますし、クロス集計も可能です。基本的な分析機能は満たしているといえるでしょう。
しかしながら、高度な分析という括りでは、機能の幅や深さ、グラフ機能の多彩さなどを含めExcelがより適しているといえるかもしれません。
⑥拡張性
Excel、AccessともVAB(Visual Basic for Applications)というプログラミングにより、独自の機能を構築することができます。個人的な感覚でいうと、事務処理の効率化を目的にExcelやAccessを活用する場合、頭で思い浮かべた「ああしたい、こうしたい」はほぼ実現できるといって過言ではないです。ただそれを実現するためには、プログラミングを習得することはもちろん、そもそもExcelやAccessで何ができるのかという基本的な機能全般を把握できている必要があります。
また両者ともにアドインという機能追加による拡張にも対応していますので、ユーザにより活用の幅を広げることができます。
事務作業での使い分け
前項で述べたとおり得意分野が異なることがお分かりいただけたと思います。データを扱う仕事は何でもかんでもExcelでやっちゃうというのがよく見られる光景ですが、必要に応じてAccessを使うことで何割も作業時間を短縮することができます。それでは具体的な事例をピックアップしてみます。
Accessの活用が向いている作業
一定の間隔で継続して発生するデータ(外部データ取込、データ手入力)を蓄積して、そのデータを元に様々なアウトプット(画面表示、紙印刷、データ出力、メール送信等)として活用する業務はぜひAccessを使用してみましょう。具体的には次のようなものです。
- 営業における顧客管理(顧客管理、取引履歴、請求情報など)
- 庶務における備品・物品管理(入庫数、出庫数、使用履歴など)
- 人事における社員管理(社員情報、勤怠管理、取組実績、特記事項など)
- ドキュメント管理(書類受付日、処理完了日、不備内容など)
上記で挙げた事例はいずれも、マスタデータ(あまり頻繁に更新されない基本的なデータ)とトランザクションデータ(頻繁に更新されるデータ)を特定のキーで結びつけて管理する方法が適している業務であり、こういったデータ管理方法を”リレーショナルデータベース”といい、まさにAccessの得意分野と言えます。
Excelの活用が向いている作業
幅広く使用できるExcelですが、どちらかというと単発で発生するデータの取り扱いに向いていると思います。具体的には以下のようなものです。
- アンケート結果の集計/分析(Googleフォームなどからデータ取込、結果を集計→グラフ化など)
- タスク管理(取組事項列挙、ステータス管理、取組期間の設定と到来の判定など)
- プロジェクト管理(タスク管理と同様)
両者を組み合わせてより効率的に(Access × Excel)
ここまでExcel、Accessの特徴の違いと使い分けについて説明してきましたが、実は最後に述べるこの部分が最終結論です。結局「2つを組み合わせて使うのが最強!」ということです。
どういうことかというと、Office製品にはお互いに連携できる”オートメーション”という機能があります。例えばAccess側からExcelを操作することで次のようなことができます。
[A(Access)]:Access側に大量のデータを蓄積している
[B(Access)]:[A]をクエリにより必要なデータのみに絞り込み
[C(Access)]:オートメーションにより[B]を所定のExcelファイルにデータ連携
[D(Excel)] :Excelを操作を直接操作してグラフ作成等を行う

今回の事例において、[C]はAccess側のVBAによりExcelへのエスクポート処理を設定し、[D]はExcel上の手作業でグラフ作成を行う処理ですが、設定によっては全く手作業を排してExcel側を制御することも可能です。
このように、お互いの得意分野を生かすように両アプリケーションを活用することが、業務効率化に最も資するのではないかと考えます。
まとめ
今回の記事ではExcelとAccessの使い分けについて説明してきましたが、記事の中で一貫しているのは”どちらが優れたアプリケーションか”という視点ではなく、”特徴を理解してどのように使い分けるか”ということです。
考えてみれば、表計算とデータベースというジャンルが異なるアプリケーションですから違うのは当たり前の話ですが、巷では「Excelは簡単 Accessは難しい」という視点でAccessが敬遠される傾向にありますので、今回の記事で「いやいや、Accessを使えば、その仕事もっと楽になりますよ」というところが伝わればとても幸いです。