AccessでExcel・CSVとデータ連携する全手順|インポート・エクスポート・リンクテーブルの使い分けとMOS試験対策

「ExcelのデータをAccessに持ち込みたいが、コピー貼り付けでは上手くいかない」「Accessで集計したデータをExcelに渡すにはどうするのか」「CSVを取り込もうとしたら文字化けした」——こうしたデータ連携の壁は、Excel利用者がAccessを使い始めた際に最初に直面する実務上の課題です。

Accessのインポート・エクスポート機能は、ウィザード形式で操作できるため一度覚えれば難しくありませんが、データ型の変換ルール・文字コードの扱い・ヘッダー行の認識・リンクテーブルとインポートの使い分けなど、知らないとハマる落とし穴が複数あります。本記事では、Excelファイル・CSVファイルのインポート、AccessデータのExcel・CSVへのエクスポート、リンクテーブルの作成手順を網羅し、よくあるエラーの対処法とMOS Access試験の出題パターンまで一気通貫で解説します。

「Accessで実務のデータを管理したい」「MOS Access試験でインポート・エクスポート問題を確実に得点したい」という方は、ぜひ最後までご覧ください。

目次

インポートとコピー貼り付けはどこが違うか:Accessのデータ管理の仕組み

Accessを使い始めた方がまず誤解しやすいのが、「ExcelのデータをそのままコピーしてAccessに貼り付ければいい」という発想です。実際にAccessのデータシートビューでCtrl+Vを試すと、列数と型が完全に一致していれば貼り付けできる場合もありますが、これは「偶然うまくいっている」状態に過ぎません。

Accessはリレーショナルデータベース管理システム(RDBMS)であり、各フィールドにはデータ型(テキスト型・数値型・日付型など)が定義されています。インポート機能を使うと、Accessが元データのフィールドを解析し、型変換・フィールドマッピング・主キー設定・エラーログ生成を自動で行います。コピー貼り付けではこの変換プロセスが省略されるため、型不一致によるエラーや、データの欠落が起きやすくなります。

比較項目コピー貼り付けインポート機能
型変換自動変換なし(型不一致でエラー)ウィザードで型を指定・自動判定
ヘッダー行手動で削除が必要「先頭行をフィールド名として使う」で自動処理
エラー処理エラー行は全体が失敗エラーログテーブルを自動生成し、成功行は取り込む
大量データメモリ不足で失敗しやすいバッチ処理で安定
定義の再利用都度手作業インポート定義を保存して次回再利用可能

まとめると、1,000行以上のデータや、繰り返し行うデータ連携にはインポート機能を使うべきです。コピー貼り付けはあくまで「少量のデータを一時的にテーブルに追加する」用途に限定するのが安全です。

AccessへのExcelファイルのインポート手順

Access 2019・2021・Microsoft 365版Accessのいずれも、Excelインポートの操作手順は共通です。以下の手順では「新しいテーブルを作成してExcelデータを取り込む」ケースを基本に解説します。

インポートウィザードの起動と取り込み方法の選択

  1. Accessで対象のデータベース(.accdb)を開く
  2. リボンの「外部データ」タブをクリックする
  3. 「インポートとリンク」グループの「新しいデータソース」→「ファイルから」→「Excel」をクリックする
  4. 「外部データの取り込み – Excelスプレッドシート」ダイアログが開く

ダイアログには以下の3つの取り込み方法が表示されます。目的に応じて選択してください。

オプション説明典型的な用途
現在のデータベースの新しいテーブルにソースデータをインポートする新しいテーブルを作成してExcelのデータを取り込む初回インポート、一度きりのデータ取り込み
次のテーブルにレコードのコピーを追加する既存テーブルの末尾にデータを追加する月次更新、追加データの取り込み
リンクテーブルを作成してソースデータにリンクするExcelを直接参照する「窓」を作る(後述)Excelと常に最新データを共有したい場合

ワークシート・名前付き範囲の選択

Excelファイルを選択してOKをクリックすると、「スプレッドシートインポートウィザード」が起動します。最初の画面では、取り込む対象を「ワークシート」または「名前付き範囲」から選択します。

  • ワークシートを表示する:Excelブック内のシート(Sheet1、データ等)を選択できます
  • 名前付き範囲を表示する:Excel側であらかじめ定義した「名前付き範囲」を選択できます。取り込み対象を特定のセル範囲に絞りたい場合に使います

画面下部にプレビューが表示されるので、対象データが正しく表示されているか確認してから「次へ」をクリックします。

先頭行のフィールド名認識の設定

次の画面では「先頭行をフィールド名として使う」チェックボックスが表示されます。Excelの1行目が「顧客ID」「氏名」「メールアドレス」などの列見出しになっている場合はここにチェックを入れます。

チェックなしの場合、Accessは自動的に「フィールド1」「フィールド2」といった汎用名でフィールドを作成します。後から列名を変更するのは手間がかかるため、Excelのデータが必ず1行目を見出し行として持つよう、事前にExcel側を整理しておくのがポイントです。

フィールドごとの型設定・インデックス・除外

「先頭行フィールド名」の設定が完了すると、各フィールドの設定画面が表示されます。ここで以下の設定を列ごとに行います。

設定項目内容注意点
フィールド名Accessテーブル内の列名を変更できる変更しなければExcelの列見出しがそのまま使われる
データ型テキスト/数値/日付などAccessが自動判定するが、郵便番号などは「数値」と誤認識するため「短いテキスト」に変更が必要
インデックス設定なし/あり(重複あり)/あり(重複なし)検索が多いフィールドにはインデックスを設定して高速化
このフィールドをインポートしないチェックを入れると取り込み対象から除外内部管理用の列や不要な列を除外するのに使う

郵便番号・電話番号・商品コードのようにゼロ始まりの数字はテキスト型に設定することが重要です。数値型として取り込んでしまうと「007」が「7」になるなど先頭のゼロが消えます。

主キーの設定と取り込み先テーブル名の決定

フィールド設定の次の画面では主キーを指定します。

  • 主キーを自動的に設定する:Accessが「ID」というオートナンバー型フィールドを自動追加して主キーに設定します。元データに固有IDが存在しない場合に便利です
  • 自分で主キーを設定する:ドロップダウンからフィールドを選択します。元データに顧客IDや商品コードなど一意のフィールドがある場合はここを選びます
  • 主キーなし:主キーを設定しません。後から変更できますが、クエリやフォームの動作に影響が出る場合があるため推奨しません

最後にテーブル名を入力して「完了」をクリックします。取り込み件数とエラーが確認できるダイアログが表示されます。エラーがあった場合は「インポートエラー」テーブルが自動生成されるので、そちらで原因を確認します。

AccessへのCSVインポート手順と文字コードの罠

CSVファイル(カンマ区切りテキスト)はExcelよりシンプルな形式ですが、文字コードの問題で取り込みに失敗するケースが後を絶ちません。特に日本語データを含むCSVは注意が必要です。

CSVインポートウィザードの起動と区切り文字の指定

  1. 「外部データ」タブ→「新しいデータソース」→「ファイルから」→「テキストファイル」をクリックする
  2. 対象のCSVファイルを選択し、取り込みオプション(新規テーブル/既存テーブルへの追加/リンク)を選択する
  3. 「テキストインポートウィザード」が起動する
  4. 「区切り記号付き」(カンマ区切り)か「固定長」かを選択する(通常のCSVは「区切り記号付き」)
  5. 区切り文字の種類(コンマ/タブ/セミコロン等)を指定する
  6. 「先頭行をフィールド名として使う」の設定を行い、以降はExcelインポートと同じ流れで進める

文字コードエラー(Shift_JIS・UTF-8)の対処法

CSVインポートで最も多いトラブルが文字化けです。Windowsの日本語環境では、古いシステムからエクスポートされたCSVが「Shift_JIS(ANSI)」で保存されていることが多く、一方でMac・Linux・Webシステムから出力されたCSVは「UTF-8」で保存されています。

Accessのインポートウィザードでは、テキストインポートウィザードの「詳細設定」ボタンからコードページ(文字コード)を指定できます。

CSVの文字コードAccessウィザードでの指定確認方法
Shift_JIS(ANSI)コードページ「932」(日本語 Shift-JIS)を選択メモ帳で開いて「ANSI」と表示されるか確認
UTF-8(BOMなし)コードページ「65001」(UTF-8)を選択メモ帳で開いて「UTF-8」と表示されるか確認
UTF-8(BOM付き)通常は自動認識されるファイル冒頭にEF BB BFのバイト列が存在

文字コードを変換してから取り込む方法もあります。Excelでそのファイルを「名前を付けて保存」→「CSV UTF-8(BOM付き)」形式で保存し直してからAccessにインポートするのが、最もトラブルの少ない方法です。

日付・数値型の自動判定ミスへの対処

CSVには型情報が存在しないため、Accessはフィールドの先頭数行を読んでデータ型を自動判定します。この自動判定が実際のデータと合わない場合が多々あります。

  • 日付フィールドが「テキスト」判定される:ウィザードのフィールド設定画面で「日付/時刻型」に手動変更する
  • 数値フィールドが「テキスト」判定される:同じく「数値型」に変更する
  • テキストフィールドが「数値」判定されてゼロが消える:「短いテキスト」に変更する

繰り返し同じCSVをインポートする業務の場合、フィールド設定を「インポート定義」として保存しておくことで、次回以降の作業を大幅に短縮できます。ウィザードの最終画面で「インポート手順の保存」にチェックを入れ、名前を付けて保存してください。

AccessデータをExcel・CSVにエクスポートする全手順

AccessのテーブルやクエリのデータをExcel形式(.xlsx)やCSVファイルに書き出すのがエクスポートです。集計クエリを作成してからエクスポートすることで、Excelでそのまま報告書として使えるデータを素早く準備できます。

テーブル・クエリ結果のExcelエクスポート手順

  1. ナビゲーションウィンドウでエクスポートしたいテーブルまたはクエリを右クリックする
  2. 「エクスポート」→「Excel」をクリックする
  3. 「外部データのエクスポート – Excelスプレッドシート」ダイアログが開く
  4. ファイルの保存先と名前を指定する
  5. 「書式設定とレイアウトを保持したままデータをエクスポートする」のチェックを確認する(書式つきでエクスポートしたい場合にチェック)
  6. 「エクスポートの完了後に目的のファイルを開く」にチェックを入れると、エクスポート完了直後にExcelが自動起動する
  7. 「OK」をクリックしてエクスポートを実行する

エクスポート先はExcel形式(.xlsx)のほか、「Excel 97-2003ブック(.xls)」も選択できます。配布先のExcelバージョンが古い場合は.xls形式を選んでください。

CSVエクスポート(テキストファイルへの書き出し)

  1. テーブルまたはクエリを右クリック→「エクスポート」→「テキストファイル」をクリックする
  2. ファイル名と保存先を指定し「OK」をクリックする
  3. 「テキストエクスポートウィザード」が起動する
  4. 「区切り記号付き」を選択し「次へ」をクリックする
  5. 区切り文字(コンマ推奨)・テキスト修飾子(「”」推奨)・先頭行のフィールド名出力の有無を設定する
  6. 「詳細設定」ボタンからコードページを指定する(UTF-8でエクスポートしたい場合は65001を選択)
  7. 「完了」でエクスポートを実行する

エクスポート定義の保存と再利用

インポート・エクスポートの設定(フィールドのマッピング・型・区切り文字など)は「エクスポート定義」として保存できます。ウィザードの最終画面で「エクスポート手順の保存」にチェックを入れ、名前を付けて保存してください。

次回以降は、「外部データ」タブ→「保存済みのインポート/エクスポート」ダイアログから保存した定義を選択するだけで、設定なしで同じ形式のエクスポートが実行できます。定期報告書の作成に使うエクスポート処理は必ずここに保存しておきましょう。

リンクテーブルとは:インポートとの根本的な違い

インポートとよく混同されるのがリンクテーブルです。両者の本質的な違いを先に整理します。

特性インポートリンクテーブル
データの保存先Accessデータベース内元のファイル(Excel・CSVなど)のまま
元データの変更の反映反映されない(スナップショット)Accessからアクセスするたびに最新データを読み込む
編集Access内で自由に編集できる読み取り専用または元ファイルが編集対象になる
元ファイルの移動・削除の影響影響を受けないリンク切れになりエラーが発生する
向いているシーン一度だけ取り込む場合・元データを保護したい場合Excelと並行して使い続ける場合・他のユーザーが更新するファイルを参照する場合

ExcelファイルへのリンクテーブルをAccessに作成する手順

  1. 「外部データ」タブ→「新しいデータソース」→「ファイルから」→「Excel」をクリックする
  2. Excelファイルを選択してOKをクリックする
  3. 取り込み方法の選択画面で「リンクテーブルを作成してソースデータにリンクする」を選択する
  4. ウィザードに従ってシートと先頭行のフィールド名認識を設定する
  5. 「完了」をクリックすると、ナビゲーションウィンドウに矢印アイコン付きのテーブル(リンクテーブル)が作成される

リンクテーブルのアイコンには矢印(→)が表示されています。このテーブルをクエリで使用すると、クエリを実行するたびにExcelの最新データが取得されます。

リンクテーブルのリンク先更新(リンクテーブルマネージャー)

Excelファイルを別のフォルダに移動したり、ファイル名を変更したりすると、リンクテーブルは「リンク切れ」状態になりエラーが発生します。この場合はリンクテーブルマネージャーでパスを再設定します。

  1. 「外部データ」タブ→「リンクテーブルマネージャー」をクリックする
  2. リンク切れのテーブルが一覧表示される
  3. 更新したいテーブルにチェックを入れ「選択済みを更新」をクリックする
  4. 新しいファイルパスを指定して「OK」をクリックする

ネットワーク共有フォルダ上のExcelファイルにリンクテーブルを作成している場合、共有フォルダのパスが変わった場合もリンクテーブルマネージャーで更新が必要です。

インポート・エクスポートのよくあるエラーと対処法

実際の業務でインポート・エクスポートを行う際に遭遇しやすいエラーと、それぞれの対処法をまとめます。

エラー1:「インポートエラーテーブル」が生成されてデータが欠落する

インポート後に「_ImportErrors」という名前のテーブルが自動生成されていた場合、そのテーブルを開くとどのフィールドの何行目でどんなエラーが起きたかが確認できます。

よくあるエラー内容原因対処法
型変換エラー数値型フィールドに文字列データが混入していたExcel側でデータを整形してから再インポート
フィールド長超過テキストフィールドの最大文字数(255文字)を超えるデータテーブルのフィールドサイズを「長いテキスト」型に変更
一意性制約違反主キーまたは一意インデックスを持つフィールドに重複値が存在Excel側で重複を除去してから再インポート

エラー2:日付型の「1900年1月0日」問題

ExcelはデフォルトでシリアルナンバーでDateを管理しており、セルが「0」の場合に「1900年1月0日」という無効な日付が生成されます。Accessにインポートすると「型変換エラー」として処理されます。

対処法:Excel側で空白セルと日付が入ったセルを区別し、空白は空欄のまま(NULLとして取り込まれる)にしてからインポートしてください。

エラー3:エクスポートしたCSVが文字化けする

AccessからCSVをエクスポートする際、デフォルトのコードページ(システムの既定値)でエクスポートされます。受信側がUTF-8を期待しているのにShift_JISでエクスポートされると文字化けします。

対処法:エクスポートウィザードの「詳細設定」でコードページを「65001 (UTF-8)」に設定してからエクスポートしてください。または、エクスポートしたShift_JISのCSVをExcelで開き、「名前を付けて保存」で「CSV UTF-8(BOM付き)」として保存し直す方法も使えます。

エラー4:リンクテーブルで「外部テーブルが予期された形式ではありません」

リンクしているExcelファイルが、破損・パスワード保護・別のバージョンのExcel形式(.xls)に変更された場合に発生します。Excelファイルを正常な形式で開き直し、.xlsx形式で保存してからリンクテーブルマネージャーでパスを更新してください。

MOS Access試験のインポート・エクスポート出題パターン

MOS Access(MO-500/MO-600)の試験では、インポート・エクスポート関連の操作が出題されます。本章では頻出の出題形式と押さえておくべき操作ポイントを解説します。

出題タイプ1:Excelファイルから新規テーブルを作成するインポート操作

試験では「添付のExcelファイルを取り込んで新しいテーブルを作成し、先頭行をフィールド名として設定せよ」のような指示が与えられます。

攻略ポイント:

  • 「外部データ」タブ→「Excel」の経路をすぐに辿れるよう手順を頭に入れておく
  • 「先頭行をフィールド名として使う」チェックの有無を問題文で確認する(「見出し行なし」と指示された場合はチェックを外す)
  • 主キーの設定方法(自動/手動/なし)の3択の意味を理解しておく

出題タイプ2:テーブルのデータをExcelにエクスポートする操作

「○○テーブルのデータをデスクトップにExcel形式でエクスポートせよ」という設問が出題されます。

攻略ポイント:

  • テーブルを右クリック→「エクスポート」→「Excel」の手順を確実に習得する
  • 「書式設定とレイアウトを保持したままデータをエクスポートする」オプションの意味を理解する
  • 「エクスポートの手順の保存」の設定が問われる場合もある(通常は「いいえ」でOK)

出題タイプ3:リンクテーブルの作成とリンクテーブルマネージャーの操作

MOS Accessエキスパート(MO-600)レベルでは、リンクテーブルの作成・更新に関する設問が出題されます。

攻略ポイント:

  • インポートダイアログで「リンクテーブルを作成」オプションを正確に選べること
  • 作成されたリンクテーブルのアイコンがインポートテーブルと異なることを認識する
  • リンクテーブルマネージャーの起動場所(「外部データ」タブ)と「選択済みを更新」の操作を覚える

試験対策:事前に確認すべき用語の整理

用語意味
インポート外部データをAccessデータベース内に取り込んでコピーを作成する操作
エクスポートAccessのテーブル・クエリ結果を外部ファイル形式で書き出す操作
リンクテーブル外部ファイルへの参照を作成し、常に元ファイルの最新データを参照する仮想テーブル
インポートエラーテーブルインポート時にエラーが発生した行を記録するために自動生成されるテーブル
インポート定義/エクスポート定義インポート・エクスポートの設定を再利用できるよう保存したもの

まとめ:AccessのデータをExcel・CSVと正しく連携する

本記事では、AccessとExcel・CSVとのデータ連携の全手順を解説しました。要点を整理します。

  • インポートはコピー貼り付けより安全:型変換・エラーログ・定義の再利用が可能で、大量データに対応できる
  • Excelインポートの要点:先頭行のフィールド名設定、郵便番号などゼロ始まり列は「短いテキスト」型に変更する
  • CSVの文字コード問題:取り込み前にExcelで「CSV UTF-8(BOM付き)」に変換するか、ウィザードの詳細設定でコードページを指定する
  • エクスポートの定義は保存しておく:繰り返し使うエクスポート設定は「保存済みインポート/エクスポート」に登録して再利用する
  • リンクテーブルはインポートと別物:元データが常に更新される場合はリンクテーブル、一度だけ取り込む場合はインポートを選ぶ
  • MOS試験ではウィザードの操作手順と用語の意味を正確に覚えること

Accessのインポート・エクスポートは、Excelとの連携を通じて実務の幅を大きく広げる機能です。ウィザードの各設定項目の意味を理解しておけば、業務に合わせた柔軟なデータ連携が実現できます。本記事の手順を参考に、実際のデータを使って練習してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次