EXCELとACCESSは全く異なるソフトだが、「データベース」として似たような使い方が出来る。そこで2つのソフトのデータベースの構造や動作、機能、長所・短所などを記述してみた。
基本構造
データを格納する基本の構造がEXCELとACCESSでは全く異なる。
EXCEL:1つの箱(セル)単位でを扱うのが原点で、データベース型利用時に使う「参照(VLOOKUPなど)」は、参照先の表のデータの開始セルと終了セルの集合体を範囲指定する方法。
注意点は 列に書式を設定しても、セル単位で属性の異なるデータでも入ってしまう。(尚、入力規則の利用である程度制御可)。
ACCESS:EXCELの行に相当するのがレコード(テーブル・オブジェクト)で1つのレコードに幾つものフィールド(EXCELの列)を持ち格納する。フィールドはフィールド名で管理され、夫々のデータは「データ型」としてが厳しく管理される。
ACCESSでは、マスターテーブルと参照用テーブル(何れもテーブル数の制限無し)を作成する。各テーブルを元にクエリーによってテーブルのデータ操作(更新、加工、追加、削除)を行う。また、要求するフォーム表示やレポートに必要なデータの抽出、加工などを行う。初めてACCESS開発に取り組んだとき、一つの壁がこのクエリーでこれが理解できないと先に進まない。
EXCEL
セル(1つのマス)単位が構造の基本で、その集合体として扱われ、セルにはあらゆる属性(日付、数値、通貨、テキスト、図形、画像等々)のデータを入れることが出来る。
どんな属性データも入ることから、表計算以外にワープロやメモなどに利用する人も多いと言われる。尚、セルの書式はデータから自動判別される。
ワープロとして利用
レコードとしての扱い:
レコードのように扱うには図の表参照「VLOOKUP」関数の例に見るように「開始セル}から「終了セル」の範囲指定する方法でデータベース的な利用も出来る。だが、参照先にセルの追加・変更・削除には対応が非常に厄介。(尚、「構造化参照」という手法もあるが、ファイルの肥大化や速度低下が問題になる場合がある)
データベース的に利用する場合、操作では、メインメニューの「データ」を利用する。EXCELでは、レコードという概念が無いといえる。
1 |
=VLOOKUP(C2,部署!A2:B4,2,FALSE) |
この式の場合、参照される「部署」に追加などの変更があると式を修正する必要があり、解消するには以下の「構造化参照」を参考にして下さい。
処理動作とファイル更新
違い2:EXCELとACCESSでは、ファイルが実際に更新保存されるタイミングが全く異なる。
EXCEL:ファイルが更新されるのは、操作者が意図して「CTL」+「S」の保存操作や終了時の保存をしない限り書き換えて保存されることは無い。EXCELはメモリー内で処理されているので、操作のやり直しなど前回保存時点の状態に戻ることができる、という便利な利点がある。一方処理確認は一旦保存して再度開かないと確認出来ない。
ACCESSは:1つのレコードの処理が終わるとファイルが更新されるのが特徴で「EXCEL,WORD, POWER POINT」など他のOFFICEソフトとは大きく異なる。ACCESSの設計では、ファイルを共有して複数のパソコンから利用出来るようになっているので、ファイル更新のタイミングが異なっている。
EXCEL
ファイルを一括読み込み、メモリ内処理。
①
起動すると全データがメモリ内に読み込まれる。
②
③
操作に合わせメモリーとCPUによってデータが更新されていく、この間はファイルは変更されない。操作途中でも「保存しない限り」間違えても簡単に前に戻すことが出来る。
④
「CTL + S」(保存)や終了時保存の時に、ファイルが更新される。
ACCESS
データ(テーブル)は、読み込み命令があった時にメモリに入る。
①
起動するとACCESSオブジェクトが読み込まれるが、基本データのテーブルは読み込まれない。尚、起動時自動実行でフォーム開くなどにテーブル(又はクエリー)が使われいると読み込まれる。
②
③
メモリーとCPUによってデータを更新した場合、ファイルのデータが書き換えられる。例えば、1レコードのデータを書き換え、その操作が終わり次第(次のレコードに移動など)テーブルのデータが更新される。
データの共有
違い3:EXCELとACCESS共にファイルの共有が可能であるが、この2つの共有機能はかなりの差がある。ここでの共有とは、1つのファイルを複数のパソコンから同時に利用する場合。
EXCEL
Excleでは、ファイルの共有を「ブックの共有」という表現している。この機能は、初期のEXCELでは出来なかったが、Ver.2007から可能となった。制約事項が多く、共有化するための設定とシビアな運用が必須であり、実際に運営するのは実用的とは言えないと感じる。
Microsoft公式サイトより引用:この機能には多くの制限があるため、共同編集に置き換えられました。 共同編集は、 Microsoft 365 サブスクライバー用の excel 2016 など、特定のバージョンの excel で使用できます。
1.「ブックの共有」はメインメニューの「校閲(こうえつ)」を設定。
2.「ブックの共有」:サポートされていない機能
- サポートされていない項目
- サポートされていない操作
- 表の作成または挿入
- セルのブロックの挿入または削除
- 条件付き書式の追加または変更
- ワークシートの削除
- データの入力規則の追加または変更
- セルの結合または結合されたセルの分割
- グラフやピボットグラフ レポートの作成または変更
- 書式による並べ替えまたはフィルタリング
- 図やその他のオブジェクトの挿入または変更
- 描画ツールの使用
- ハイパーリンクの挿入または変更
- パスワードの割り当て、変更、削除
- シナリオの作成、変更、表示
- ワークシートやブックの保護または保護の解除
- 自動集計の挿入
- データのグループ化またはアウトライン化
- データ テーブルの作成
- マクロの記述、記録、変更、表示、割り当て
- ピボットテーブル レポートの作成または変更
- 配列数式の変更または削除
- スライサーの作成または適用
- XML マップの追加、名前の変更、削除
- スパークラインの作成または変更
- XML 要素へのセルの対応付け
- Microsoft Excel 4 ダイアログ シートの追加または変更
- 「XML ソース」 作業ウィンドウ、「XML」 ツール バー、データ」 メニューの 「XML」の使用
- データ フォームを使用した新規データの追加
- スレッド化されたコメントの追加
- スレッド形式のコメントの編集または削除
ACCESS
ACCESS:は共有を前提に設計されているので、そのための安全性を含めて各種の機能が用意されている。
共有に対して、多くの方が色々な意見を述べられている。特に排他制御については、Accessが対応出来ていないという点で、完璧を望むならaccessでは難しいと思うのだが、開発と運用の経験ではトラブル無く運用出来ていたので、同時利用の台数は、5台以内は大丈夫と思う。尚、台数については、使用頻度の多少に応じて制限が必要と思う。
クライアントPCは、ファイル共有が標準
Accessの設定画面 「ファイル」 → 「オプション」 → 「クライアントの設定」 で確認すると初期値が「共有」となっている、
と云うことは、共有が標準という意味でもある。
Access共有化のポイント
1)管理者用PC
フルスペックのAccessファイルを入れる。
2)クライアントPC
(1) 「テーブル」をリンクの設定にデザイン変更が不可。
(2)拡張子「accde」にしフォームや帳票のデザイン変更不可。
手順:当該ファイルを起動し、「ファイル」→「名前を付けて保存」→「ACCDEの作成」→「名前を付けて保存」の順で簡単に作成出来ます。
3)環境・運用
(1)ネットワークは出来るだけ有線LANで無線は避ける。
(2)日に1度はバックアップ、週に1度程度で最適化。
(3)ネットワーク上に「NAS」がある場合は、それにテーブルを格納し、リンク設定して利用すると良いでしょう。
Excle/Accessファイルのデータ連携・例示
1.Excel利用者
共有形態に合わせ「ブックの共有」設定
2.Access管理者
フルスペックのAccessデータベース
3、Accessクライアント
配布用 accde Accessデータベース
※「拡張子accde」ファイル。
フォームとレポートが編集不可となるが、クエリーとマクロは変更や削除、新規作成が出来てしまう。この環境で運用をすると管理者や全クライアント間でデータベースの内容と異なってしまう。守られること前提に運用規則を作成する必要性を感じる。
Excel/Accessどちらを使う?
「データ管理」(データベース的)の観点で「EXCEL」と「ACCESS」のどちらを利用すべきか、明確な答えが出ない課題だが、先ずは2つのソフトの違いをしっかりと理解することが必須です。
以下の比較評価は、筆者の個人的かつ感覚的な意見なので、閲覧者の方とは意見が違う点をご了承願います。
- 比較項目
- Excel
- Access
- データ(レコード)管理・全般
- ×
- ◎
- ・データ属性の信頼性
- △
- 〇
- ・大容量のデータ処理
- ×
- ◎
- ・データ更新の即時反映
- ×
- ◎
- ・データの抽出・統合
- △
- ◎
- システム開発・全般
- 〇
- △
- ・小規模
- ◎
- △
- ・中規模
- ×
- 〇
- ・開発容易性
- ◎
- ×
- ・コスト安価(外注)
- ◎
- △
- ・開発者人口と内製化
- ◎
- ×
- 比較項目
- Excel
- Access
- フォーム、レポート・全般
- ◎
- △
- ・デザイン多様性
- ◎
- △
- ・開発の手間や容易性
- ◎
- ×
- ・グラフ、統計、集計
- ◎
- △
- 運用・システム管理・全般
- ×
- ◎
- ・複数人で同時利用
- △
- ◎
- ・バージョン管理
- ×
- ○
- ・アクセス権限
- ×
- ◎
- ・ネットワーク利用の利便性
- ×
- ◎
- ・速報性
- ×
- ◎