SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine Day 2022

2022年6月28日(火)13:10

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

業務効率を上げる Microsoft Officeテクニック集

ExcelからAccessへの移行に困った時には?

困ったときのMicrosoft Office Tips - Access (1)


 この連載では、さまざまなシーンにおいてMicrosoft Officeツールを使いこなすためのTipsを紹介します。今回は、Accessはどうもとっつきにくいからと、Excelでデータを管理している方向けに、Accessに移行するメリット、リレーショナルデータベースの構築、および、Excelデータファイルのインポート方法などを紹介します。

はじめに

 Excelファイルを共有すると、複数人でデータを入力することができます。しかし、人によって入力パターンが様々で、なかなか整合性のとれたデータベースにすることはできません。やがて、データは日増しにどんどん増えていき、いずれExcelでまかないきれなくなるものです。

 特に、大量のリストにおいてVLOOKUPなどの関数や数式を多用すると、Excelファイルが重くなって困った……ということはないでしょうか。

 そこで今回は、Excelでデータを管理している方を対象に、ExcelとAccessの違い、ExcelからAccessへ移行するメリット、リレーショナルデータベースの構築、および、Excelデータファイルのインポート方法などを紹介します。

ExcelとAccessの違い

 まず、データ入力におけるExcelとAccessの違いについて簡単に下表にまとめました。

  Excel Access
データの最小単位 セル レコード(Excelに例えると1行単位)
データ保存のタイミング ファイルの保存を行ったとき 1つのレコードの入力/編集が終わったとき
何でも入力OK? データの入力規則が設定されていない限り、どんなデータでも入力できる ある規則に従ったデータでないと入力できない

 複数人でひとつのデータベースにデータを入力する場合、Excelでは、例えば意味が同じでも、全角/半角、ひらがな/カタカナなど、入力者によって方法が異なることがあるため、データの整合性が取れなくなる場合があります。一方、Accessでは、一連の情報をコードとして入力し、そのデータ型(文字列や数値)を制御することにより、整合性が取れたデータを蓄積することができます。

 特に、一つのデータ保存のタイミングは、ExcelとAccessとでは根本的に違います。Excelではファイルを保存するコマンドを実行しない限りデータが保存されませんが、Accessの場合は一つのデータの入力が完了した時点で保存されます。

 Accessにおいてデータ入力以外で保存する必要がでてくるのは、テーブルの作成やテーブルやフォーム、レポートなどのデザインの編集、リレーションシップ、マクロ、モジュールなどの作成や編集後になります。データの入力は自動保存されますが、それ以外の変更については保存するかどうかの確認メッセージが表示されます。

Accessへ移行するメリット

 確かに、Excelでも簡易的なデータベースを作ることができますが、関数などの数式の数が増えていくにつれて、Excelのファイルが重くなってしまいますよね。

 次々とデータ入力しなければいけないのに、データが増えれば増えるほどパフォーマンスが悪くなるのでは、時間がかかってしまい、とても非効率です。

 しかし、Accessに移行することによって、そのような問題は一気に解消されます。

 Accessでは大量なデータの取り扱いに優れ、データの数が増えてもスムーズに入力することができるので、効率的に作業が行えます。

 商品コードなどのマスタテーブルと、データを蓄積するテーブルを用意し、ExcelのVLOOKUPなどの関数や数式を入れる代わりに、マスタテーブルと関連付けたクエリを使えばいいのです。

 Accessで適切にデータベースを構築していくことによって、将来、本格的な別のDBへの移行もしやすくなります。

データベース構築のポイント

フィールドの多いテーブルを作らない!

 Accessは他の本格的なDBとは異なり、画面を選んでいくだけで誰でも簡単にデータベースを構築できる、とても便利なツールです。しかし、普段Excelを使ってきたユーザーがAccessでデータベースを作ろうとすると、Excelのシートと同じ感覚でAccessのテーブルを作る傾向があるので、結果的にやたらとフィールドの数が多い巨大なテーブルになる可能性があります。

Excelと同じ感覚で作ってしまったテーブルの例:「売上データ」
売上ID 顧客ID お客様名 購入日 商品コード 商品名 単価 数量 金額
1 6001 山田太郎 10/01 1001 シャンプー 1,200 1 1,200
2 6002 鈴木花子 10/02 1005 化粧水 2,500 2 5,000
3 6001 山田太郎 10/02 1002 リンス 1,200 1 1,200
4 6003 佐藤次郎 10/03 1003 ヘアトニック 2,500 1 2,500
5 6004 佐野洋子 10/04 1007 ファンデーション 3,000 1 3,000
6 6004 佐野洋子 10/04 1009 マスカラ 1,200 1 1,200
7 6004 佐野洋子 10/04 1006 乳液 2,300 1 2,300
8 6004 佐野洋子 10/04 1005 化粧水 2,500 1 2,500

 もし、たくさんのフィールドを持つ巨大なテーブルになってしまった場合は、そのテーブル中でフィールドの要素を分類して、複数のテーブルに分割できないかどうか確認してください。巨大なテーブルで構成されていると、将来、他のDBへの移行が困難になるので注意してください。

 テーブルは、データベースの基本です。テーブルを適切に構築していくことがポイントです。

 ちなみに、一つのテーブルの最大フィールド数は255という制限があります。詳しくは、Microsoft Office Onlineサイト内、Access の仕様を参照してください。

テーブルは単なるデータの入れ物にすぎない

 Excelのシートではどのセルにも好きなように数式を入れて計算することができますが、Accessのテーブルでは演算ができません。テーブルはデータの入れ物に過ぎないのです。

 ルックアップウィザードを使って他のテーブルの値を参照することはできますが、実際にテーブルに入る値はその外部キーになります。

 上の例のように単価に数量を乗じた金額を計算するには、テーブルに金額を代入するフィールドを作らず、クエリで演算フィールドを作成します。

 顧客コードに対する顧客名や、商品コードに対する商品名などを参照したい場合においても、テーブルでフィールドを作らず、クエリを用います。

次のページ
リレーショナルデータベースとは

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
業務効率を上げる Microsoft Officeテクニック集連載記事一覧

もっと読む

この記事の著者

小濱 良恵(コハマ ヨシエ)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/267 2008/09/05 22:09

Job Board

PR

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

2022年6月28日(火)13:10

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング