0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Access VBA] Excelでは限界?Accessで効率化するデータ管理術

0
Posted at

Excelでの課題

 Excelは、データの集計、分析、グラフ等に寄る可視化、自動化など、幅広い用途に使える便利なソフトですが、次のような課題もあります。
・ データの数が多くなると動作速度の低下
・ 複数人による同じファイルの編集によって、競合の発生、または機能の制限
・ VLOOKUP等の関数の多用により、動作速度の低下

 このような課題もAccessを利用することによって解決することが出来ます。

Accessが得意なこと

Accessはデータベース管理ソフトで、以下のような特徴があります。
・Excelよりも大量のデータを扱うことができ、大量のデータを効率的に管理、検索が可能
・独自のRDBMS(リレーショナルデータベース管理システム)形式を使用しており、複数人が同時にデータベースにアクセス・編集できるよう設計されているため、複数人の同時編集による競合を防止
・SQLにより、ExcelのVLOOKUP等の関数よりもデータの複雑な検索が可能で、動作が軽い

ExcelからAccessへの移行

以下では、ExcelのデータをAccessに移行する方法を、顧客管理と注文管理を組み合わせたものを例に、簡単にご紹介します。

0. Excelの下準備

最初に、下のような顧客一覧、商品一覧、注文データの表をそれぞれシートに分けた表を用意します。

顧客一覧
顧客番号 顧客名 住所 電話番号
1 顧客1 〇〇県△△市 xxx-xxx-xxxxx
2 顧客2 □□県△△市 xxx-xxx-xxxxx
... ... ... ...

商品一覧
商品番号 商品名 単価(円)
1 商品1 100
2 商品2 200
... ... ...

注文データ
注文番号 顧客番号 商品番号 注文日 数量
1 1 3 2025/7/1 4
2 3 4 2025/7/1 1
... ... ... ... ...

1. Accessにデータをインポートする

 Access上で
[外部データ] => [新しいデータソース] => [ファイルから] => [Excel]
の順に選択することで移行したいExcelのデータをシートごとにインポートすることが出来ます。
 インポートしたシート上のデータは、シート名を名前とするテーブルとしてデータベース上に保存されます。

場合によっては、インポートする前にExcel上でインポートしたいデータをクリーンアップする必要があります。
参照: Excel から Access にデータを移動する

2. リレーションを作成

・Access上で
 [データベース ツール] => [リレーションシップ]
の順に選択
・「顧客情報」テーブルの「顧客番号」を「注文データ」テーブルの「顧客番号」とのリレーションシップを作成
・同様に、「商品情報」テーブルの「商品番号」を「注文データ」テーブルの「商品番号」・「顧客情報」テーブルの「顧客番号」を「注文データ」テーブルの「顧客番号」とのリレーションシップを作成

リレーションを作成することで、後述するクエリやレポートの効率化に役立つことが出来ます。

以上でExcelのデータをAccessへ移行することが出来ます。

Accessによる効率化

正規化

 Accessのようなデータベースの管理を効率化する上で重要なことは、テーブルを「正規化」することです。
上の注文管理の例では、テーブルは既に「正規化」されていますが、もし「正規化」されていない場合、注文データは次のような表になります。

注文データ
注文番号 顧客名 住所 電話番号 注文日 商品名 単価(円) 数量
1 顧客1 〇〇県△△市 xxx-xxx-xxxxx 2025/7/1 商品3
商品4
300
400
4
2
2 顧客2 □□県△△市 xxx-xxx-xxxxx 2025/7/1 商品3 300 2
1 顧客1 〇〇県△△市 xxx-xxx-xxxxx 2025/7/1 商品1 100 5

 上の注文データ表のような非正規形のテーブルは、複数の商品を一つの注文で扱っていたり、住所や電話番号などの同じ情報が繰り返し表示されています。このようなテーブルの構造は、データの管理が非効率になります。「正規化」とは、データを分割したり、Accessへの移行で紹介したテーブルのようにテーブルを分けてデータを管理することで、テーブルをできるだけ単純に管理することです。

 ここでは「正規化」について詳しく説明はしませんが、「正規化」によって次のようなメリットがあります。

・注文データの例において、非正規系のテーブルでは、商品の単価を変更したい場合、変更したい商品を含んだ注文データの単価をすべて変更する必要が有るが、正規化されている場合、商品情報の単価を変えるだけ(データの整合性の確保)
・繰り返し項目の削除により、データベースのサイズの縮小化

データベースオブジェクト

 Accessには、データを保存する機能だけではなく、クエリ、レポート、フォームといったデータベースオブジェクトと呼ばれる便利な機能が存在します。これらの機能を活用することで、データを効率的に管理、分析することが出来ます。例えば、

・フォームを用いることで、データの入力の正確な入力
・注文データの例において、クエリを用いることで、月ごとの集計や顧客ごとの集計の表示

などが可能になります。

まとめ

 ExcelよりもAccessのほうがより効率的になるのは、

・データ量が多い
・複数人で編集
・VLOOKUP等の関数の多用

などの場合です。このようなケースでExcelに限界を感じている方は、ぜひAccessの利用をご検討ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?