注: Access では、秘密度ラベルが適用された Excel データのインポートはサポートされていません。 回避策として、インポートする前にラベルを削除してから、インポート後にラベルを再適用できます。 詳細については、「 Office でファイルとメールに秘密度ラベルを適用する」を参照してください。
Excel ブックのデータをさまざまな方法で Access データベースに取り込むことができます。 開いているワークシートからデータをコピーして Access データシートに貼り付けたり、ワークシートを新しいテーブルまたは既存のテーブルにインポートしたり、 Access データベースからワークシートにリンクしたりできます。
このトピックでは、 Access デスクトップ データベースから Excel データをインポートまたはリンクする方法について詳しく説明します。
目的に合ったトピックをクリックしてください
Excelからのデータのインポートについて
1 つ以上の Excel ワークシートのデータの一部またはすべてを Accessに格納することを目標にしている場合は、ワークシートの内容を新しいデータベースまたは既存の Access データベースにインポートする必要があります。 データをインポートする場合、 Access は、ソース Excel ワークシートを変更せずに、新しいテーブルまたは既存のテーブルにデータのコピーを作成します。
Excel データを Accessにインポートするための一般的なシナリオ
- 
                  Excel の長年のユーザーですが、今後は、 Access を使用してこのデータを操作する必要があります。 Excel ワークシート内のデータを 1 つ以上の新しい Access データベースに移動する必要があります。 
- 
                  部署またはワークグループでは Accessを使用しますが、 Access データベースとマージする必要がある Excel 形式のデータを受け取る場合があります。 これらの Excel ワークシートを受け取ると、データベースにインポートする必要があります。 
- 
                  Access を使用してデータを管理しますが、チームの残りの部分から受け取る週次レポートは Excel ブックです。 そこで、毎週特定の時刻にデータがデータベースにインポートされるように、インポート プロセスを合理化したいと考えています。 
初めてデータをインポートする場合は、 Excel
- 
                  Excel ブックを Access データベースとして保存する方法はありません。 Excel では、データから Access データベースを作成する機能 Excel 提供されていません。 
- 
                  Access で Excel ブックを開くと ([ ファイルを開く ] ダイアログ ボックスで、[ファイル の種類 ] リスト ボックスを [ ファイル]MicrosoftOfficeExcel に変更し、目的のファイルを選択します)、データをインポートするのではなくブックへのリンクを作成 Access 。 ブックへのリンクは、ワークシートのデータベースへのインポートとは根本的に異なります。 リンクの詳細については、この記事で後述する「Excel データにリンクする」のセクションをご覧ください。 
Excelからデータをインポートする
このセクションに記載する手順では、インポート操作の準備と実行の方法、インポート設定を後で再利用するために定義として保存する方法について説明します。 手順を進める際、データは一度に 1 つのワークシートからしかインポートできないことに注意してください。 ブック全体のすべてのデータを同時にインポートすることはできません。
ワークシートを準備する
- 
                  ソース ファイルを見つけて、 Accessにインポートするデータを含むワークシートを選択します。 ワークシートの一部のみをインポートする場合は、インポートするセルのみを含む、名前付き範囲を定義できます。名前付き範囲を定義する (省略可能) - 
                      Excel に切り替え、インポートするデータがあるワークシートを開きます。 
- 
                      インポートするデータが含まれているセルの範囲を選びます。 
- 
                      選んだ範囲内で右クリックし、[範囲に名前を付ける] か [名前の定義] をクリックします。 
- 
                      [新しい名前] ダイアログ ボックスの [名前] ボックスで範囲の名前を指定し、[OK] をクリックします。 インポート操作を行う際、データは一度に 1 つのワークシートからしかインポートできないことに注意してください。 複数のワークシートからデータをインポートするには、ワークシートごとにインポート操作を繰り返します。 
 
- 
                      
- 
                  ソース データを確認し、次の表に示されたアクションを実行します。 要素 説明 列数 インポートするソース列の数は 255 を超えることはできません。 Access ではテーブル内の 255 個を超えるフィールドがサポートされていないためです。 列と行をスキップする ソースのワークシートや名前付き範囲には、インポートする行や列のみを含めることをお勧めします。 行数 インポート操作中に行をフィルターしたりスキップしたりすることはできません。 [列] データを既存のテーブルに追加する場合は、操作中に列をスキップすることはできません。 表形式 セルを表形式になるよう指定します。 ワークシートや名前付き範囲に結合されたセルが含まれる場合、セル内容は左端の列に対応するフィールドに配置され、その他のフィールドは空白になります。 空白の列、行、セル ワークシートや範囲から、空白の不要な列と行をすべて削除します。 ワークシートや範囲に空白のセルが含まれる場合は、不足しているデータを追加するようにしてください。 既存のテーブルにレコードを追加する場合は、テーブル内の対応するフィールドで Null (不足しているか不明な) 値が許容されていることを確認してください。 フィールドの "値要求" フィールド プロパティが "いいえ" に設定され、"入力規則" プロパティが Null 値を許可する設定になっている場合は、Null 値が許容されます。 エラー値 ワークシートや範囲の 1 つ以上のセルに #NUM や #DIV などのエラー値が含まれる場合は、インポート操作を開始する前に修正します。 ソース ワークシートまたは範囲にエラー値が含まれている場合、 Access はテーブル内の対応するフィールドに null 値を配置します。 このようなエラーを修正する方法の詳細については、この記事で後述する「存在しない値や誤った値のトラブルシューティングを行う」のセクションをご覧ください。 データ型 インポート中のエラーを回避するには、すべてのソース列の全行に同じ型のデータが含まれるようにします。 Access は、最初の 8 つのソース行をスキャンして、テーブル内のフィールドのデータ型を決定します。 ソースの最初の 8 行のどの列にも、異なるデータ型が混在しないようにすることをお勧めします。 そうしないと、 Access が正しいデータ型を列に割り当てられない可能性があります。 また、インポート操作を開始する前に、各ソース列を Excel に書式設定し、各列に特定のデータ形式を割り当てることをお勧めします。 列に複数のデータ型が含まれる場合は、書式設定を行うことをお勧めします。 たとえば、ワークシートの FlightNo 列に 871、AA90、171 など数値と文字列値が混在しているとします。 存在しない値や誤った値が発生しないようにするには、次の手順を実行します。 - 
                              列見出しを右クリックし、[セルの書式設定] をクリックします。 
- 
                              [表示形式] タブの [分類] で、書式を選びます。 FlightNo 列の場合は、[文字列] を選ぶのが妥当です。 
- 
                              [OK] をクリックします。 
 ソース列を書式設定したが、8 行目より後の行に異なるデータ型が依然として混在している場合、インポート操作ではそれらの値をスキップするか、値を不適切に変換する可能性が残ります。 トラブルシューティング情報については、「存在しない値や誤った値のトラブルシューティングを行う」のセクションをご覧ください。 最初の行 ワークシートまたは名前付き範囲の最初の行に列の名前が含まれている場合は、インポート操作中に最初の行のデータをフィールド名として扱う Access を指定できます。 ソースのワークシートや範囲に名前がない場合は、インポート操作の開始前にそれをソースに追加しておくことをお勧めします。 注: 既存のデータにデータを追加する場合は、各列の名前が対応するフィールドの名前と正確に一致していることを確認します。 列名がテーブル内の対応するフィールドの名前と異なる場合は、インポート操作が失敗します。 フィールドの名前を表示するには、 Accessのデザイン ビューでテーブルを開きます。 
- 
                              
- 
                  ソースのブックが開いている場合は、それを閉じます。 ソース ファイルを開いたままにしておくと、インポート操作中にデータ変換エラーが発生する可能性があります。 
インポート先のデータベースを準備する
- 
                  インポートされたデータが格納される Access データベースを開きます。 データベースが読み取り専用でないことと、ご自身にデータベースの変更権限があることを確認します。 または 既存データベースにデータを格納しない場合は、新しい空のデータベースを作成してください。 そのためには、次の操作を行います。 [ファイル] タブをクリックし、[新規]、[空のデータベース] の順にクリックします。 
- 
                  インポート操作を開始する前に、データを新規と既存のいずれのテーブルに格納するかを決定します。 新規テーブルを作成する 新しいテーブルにデータを格納する場合は、 Access テーブルが作成され、インポートされたデータがこのテーブルに追加されます。 指定した名前のテーブルが既に存在する場合、 Access はインポートされたデータでテーブルの内容を上書きします。 既存のテーブルに追加する 既存のテーブルにデータを追加する場合は、 Excel ワークシート内の行が指定したテーブルに追加されます。 追加操作中のほとんどの失敗の原因は、ソース データがインポート先のテーブルの構造とフィールド設定に一致しないことです。 これを避けるために、インポート先テーブルをデザイン ビューで開いて、次の項目を確認してください。 - 
                      最初の行 ソースのワークシートや名前付き範囲の最初の行に列見出しが含まれていない場合は、ソース ワークシートの各列の位置とデータ型がテーブル内の対応するフィールドの位置とデータ型に一致していることを確認します。 最初の行に列見出しがある場合、列やフィールドの順序は一致する必要はありませんが、各列の名前とデータ型は、対応するフィールドの名前とデータ型と正確に一致する必要があります。 
- 
                      存在しないフィールドまたは余分なフィールド インポート先テーブルにソースのワークシート内の 1 つ以上のフィールドが存在しない場合は、インポート操作を開始する前に、それらのフィールドを追加します。 ただし、テーブルに、ソースに存在しないフィールドが存在する場合、これらのフィールドで Null 値が許容されるときは、フィールドをテーブルから削除する必要はありません。 ヒント: フィールドの "値要求" プロパティが "いいえ" に設定され、"入力規則" プロパティが Null 値を許可する設定になっている場合は、Null 値が許容されます。 
- 
                      主キー テーブルに主キー フィールドがある場合、この主キー フィールドと互換性のある値を持つ列がソースのワークシートや範囲に必要であると共に、インポートされるキー値が一意である必要があります。 インポート先テーブルの既存の主キー値と同じ値がインポートされるレコードにあると、インポート操作中にエラー メッセージが表示されます。 
- 
                      インデックス フィールド テーブル内に "インデックス" プロパティが [はい (重複なし)] に設定されているフィールドがある場合、ソースのワークシートや範囲の対応する列は、一意の値を持つ必要があります。 次の手順に進んでインポート操作を実行します。 
 
- 
                      
インポート操作を開始する
- 
                  インポート/リンク ウィザードの場所は、 Accessのバージョンによって若干異なります。 Access のバージョンに一致する手順を選択します。 - 
                      Microsoft 365 、 Access 2021、または Access 2019の最新バージョンを使用している場合は、[ 外部データ ] タブの [ & リンクのインポート ] グループで、[ 新しいデータ ソース ] > [ ファイルから ] > Excelをクリックします。 
- 
                      Access 2016を使用している場合は、[ 外部データ ] タブの [ & リンクのインポート ] グループで、[ Excel] をクリックします。 
 注: データベースが開いていないと、[外部データ] タブは使用できません。 
- 
                      
- 
                  [ 外部データの取得 - スプレッドシートの Excel ] ダイアログ ボックスの [ ファイル名 ] ボックスで、インポートするデータを含む Excel ファイルの名前を指定します。 または [参照] をクリックして [ファイルを開く] ダイアログ ボックスを使い、インポートするファイルを特定します。 
- 
                  インポートするデータをどのようなテーブルに格納するかを指定します。 データを新規テーブルに格納する場合は、[現在のデータベースの新しいテーブルにソース データをインポートする] を選びます。 後で、このテーブルに命名するよう求められます。 既存のテーブルにデータを追加するには、[レコードのコピーを次のテーブルに追加する] を選んで、ドロップダウン リストからテーブルを選びます。 データベースにテーブルがない場合、このオプションは利用できません。 リンク テーブルを作成してデータ ソースにリンクする手順については、この記事で後述する「Excel データにリンクする」をご覧ください。 
- 
                  [OK] をクリックします。 スプレッドシート インポート ウィザードが開始され、インポート処理を誘導します。 次の手順に進みます。 
スプレッドシート インポート ウィザードを使う
- 
                  ウィザードの最初のページで、インポートするデータを含むワークシートを選び、[次へ] をクリックします。 
- 
                  ウィザードの 2 ページで、[ワークシート] か [名前の付いた範囲] をクリックし、インポートするワークシートか名前付き範囲を選んで [次へ] をクリックします。 
- 
                  ソースのワークシートや範囲の 1 行目にフィールド名が含まれる場合は、[先頭行をフィールド名として使う] を選び、[次へ] をクリックします。 新しいテーブルにデータをインポートする場合は、 Access これらの列見出しを使用してテーブル内のフィールドに名前を付けます。 この名前はインポート操作中かそれ以降に変更できます。 データを既存のテーブルに追加する場合、ソースのワークシートの列見出しがインポート先のテーブルのフィールド名に正確に一致することを確認します。 データを既存のテーブルに追加する場合は、ここからスキップして手順 6 に進みます。 データを新規テーブルにインポートする場合は、以下の手順を実行します。 
- 
                  フィールド プロパティを確認するよう求められます。 ページの下半分の列をクリックし、対応するフィールドのプロパティを表示します。 必要に応じて、次のいずれかの操作を行います。 - 
                      インポート先のフィールドの名前とデータ型を確認し、必要に応じて変更します。 Access は、各列の最初の 8 行を確認して、対応するフィールドのデータ型を提案します。 ワークシートの列の最初の 8 行にテキスト型と数値型など複数のデータ型が含まれる場合、列のすべての値と互換性のあるデータ型 (通常、テキスト型) の候補が示されます。 別のデータ型を選択することもできますが、選んだデータ型と互換性のない値は、インポート操作中に無視されるか誤って変換されることに注意してください。 存在しない値や誤った値を修正する方法の詳細については、この記事で後述する「存在しない値や誤った値のトラブルシューティングを行う」のセクションをご覧ください。 
- 
                      フィールドにインデックスを作成する場合は、[インデックス] を [はい] に設定します。 
- 
                      特定のソース列を完全にスキップする場合は、[このフィールドをインポートしない] チェック ボックスをオンにします。 オプションを選んだら、[次へ] をクリックします。 
 
- 
                      
- 
                  次の画面で、テーブルの主キーを指定します。 [ 主キー Access 追加する] を選択 Access 場合、変換先テーブルの最初のフィールドとして AutoNumber フィールドが追加され、1 から始まる一意の ID 値が自動的に設定されます。 [次へ] をクリックします。 
- 
                  最後のウィザード画面で、インポート先テーブルの名前を指定します。 [インポート先のテーブル] ボックスに、テーブルの名前を入力します。 テーブルが既に存在する場合 Access 、テーブルの既存の内容を上書きするかどうかを確認するプロンプトが表示されます。 続行する場合は [はい]、インポート先テーブルに別の名前を指定する場合は [いいえ] をクリックし、[完了] をクリックしてデータをインポートします。 一部またはすべてのデータ Access インポートできた場合は、インポート操作の状態を示すページがウィザードに表示されます。 また、操作の詳細は、後で使えるよう、定義として保存することもできます。 逆に、操作が完全に失敗した場合、 Access はファイルのインポート中にエラーが発生しましたというメッセージを表示します。 
- 
                  操作の詳細を後で使えるよう保存する場合は、[はい] をクリックします。 詳細を保存しておくと、同じ操作を繰り返す場合に、ウィザードの手順を毎回最初から実行する必要がなくなります。 
定義の詳細を保存する方法については、「インポートやエクスポートの操作の詳細を定義として保存する」をご覧ください。
保存済みのインポート定義またはリンク定義を実行する方法については、「保存済みのインポート定義またはエクスポート定義を実行する」をご覧ください。
特定の時間にインポートおよびリンクのタスクをスケジュールする方法については、「インポート定義やエクスポート定義のスケジュールを設定する」をご覧ください。
存在しない値または不適切な値のトラブルシューティング
「ファイルをインポートするときにエラーが発生しました」というメッセージが表示された場合、インポート操作は完全に失敗しています。 代わりに、操作の詳細を保存するよう求めるダイアログ ボックスが表示された場合は、データの全部か一部が正常にインポートされています。 状態メッセージには、インポート操作中に発生したすべてのエラーの説明を含むエラー ログ テーブルの名前も示されます。
重要: 状態メッセージに操作が完全に成功したことが示された場合でも、テーブルを使い始める前にテーブルの内容と構造を表示し、それらが正しいことを確認してください。
- 
              すべてのデータがテーブルに追加されたかどうかを確認する場合は、データシート ビューでインポート先のテーブルを開きます。 
- 
              データ型などのフィールド プロパティ設定を確認する場合は、デザイン ビューでテーブルを開きます。 
次の表に、不足している値や誤った値を修正するための手順を示します。
ヒント: 結果のトラブルシューティングを行うときに、いくつかの値が不足していることが判明した場合は、テーブルに手動で値を追加できます。 これに対して、列全体や大量の値が不足しているか正しくインポートされていないことが判明した場合は、ソース ファイルで問題を修正してください。 判明した問題をすべて修正したら、インポート操作を再実行してください。
| 問題 | 解決策 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| グラフィック要素 | ロゴ、グラフ、図などのグラフィック要素はインポートできません。 これらは、インポート操作の完了後に手動でデータベースに追加してください。 | ||||||||||||
| 集計値 | 集計列や集計セルの計算結果はインポートされますが、計算式はインポートされません。 インポート操作時には、数値など、計算式の計算結果と互換性のあるデータ型を指定できます。 | ||||||||||||
| TRUE や FALSE の値と -1 や 0 の値が混在する | ソース ワークシートまたは範囲に TRUE または FALSE 値のみを含む列が含まれている場合、 Access は列の [はい]/[いいえ] フィールドを作成し、フィールドに -1 または 0 の値を挿入します。 ただし、ソース ワークシートまたは範囲に -1 または 0 の値のみを含む列が含まれている場合は、既定で Access、列の数値フィールドが作成されます。 左記の問題を回避するには、インポート操作時にフィールドのデータ型を [はい/いいえ] に変更します。 | ||||||||||||
| 複数値を持つフィールド | 新しいテーブルにデータをインポートしたり、既存のテーブルにデータを追加したりする場合、ソース列にセミコロン (;) で区切られた値のリストが含まれている場合でも、 Access はフィールド内の複数の値のサポートを有効にしません。 値のリストは、1 つの値として扱われ、テキスト フィールドに取り込まれます。 | ||||||||||||
| データが切り捨てられる | Access テーブルの列にデータが切り捨てられた場合は、データシート ビューで列の幅を大きくしてみてください。 それでも問題が解決しない場合、 Excel の数値列のデータは、 Accessの変換先フィールドのフィールド サイズに対して大きすぎます。 たとえば、変換先フィールドの FieldSize プロパティは、 Access データベースの Byte に設定されていても、ソース データに 255 を超える値が含まれている場合があります。 ソース ファイルの値を修正して、インポートをやり直します。 | ||||||||||||
| 表示形式 | データシート ビューで値が正しく表示されるよう、デザイン ビューで特定のフィールドの "表示形式" プロパティを必要に応じて設定します。 次に例を示します。 
 注: ソースのワークシートに太字、下線、斜体などのリッチ テキスト形式が含まれる場合、テキストはインポートされますが、書式設定は失われます。 | ||||||||||||
| 重複値 (キー違反エラー) | インポートするレコードに、インポート先テーブルの主キー フィールドや、"インデックス" プロパティが [はい (重複なし)] に設定されているフィールドには格納されない重複値が含まれている可能性があります。 ソース ファイルで重複値を排除して、インポートをやり直します。 | ||||||||||||
| 日付型の値の 4 年のずれ | Excel ワークシートからインポートされた日付フィールドは、4 年分のオフになる場合があります。 Windows のExcel では、次の 2 つの日付システムを使用できます。 
 日付システムは、[ Excel オプション: ファイル > オプション ]> [詳細] > [1904 日付システムを使用する] で設定できます。 注意 .xlsb ブックからインポートする場合、日付システムの設定に関係なく、常に 1900 日付システムが使用されます。 データをインポートする前に、 Excel ブックの日付システムを変更するか、データを追加した後、式 [日付フィールド名] + 1462 を使用して日付を修正する更新クエリを実行します。 Macintosh のExcel では、1904 日付システムのみが使用されます。 | ||||||||||||
| Null 値 | インポート操作の最後に、操作中に削除または失われたデータに関するエラー メッセージが表示される場合や、データシート ビューでテーブルを開くと、一部のフィールド値が空白になる場合があります。 Excel のソース列が書式設定されていない場合、または最初の 8 つのソース行に異なるデータ型の値が含まれている場合は、ソース ワークシートを開き、次の操作を行います。 
 上記の手順によって、できるだけ少ない Null 値が生成されるようになります。 それでも Null 値が表示されるケースを次の表に示します。 
 | ||||||||||||
| 日付型の値が数値型の値に置き換わる | 次の場合、完全な日付型の値でなく、一見ランダムな 5 桁の数値が表示されます。 
 | ||||||||||||
| 数値型の値が日付型の値に置き換わる | 次の場合、完全な数値型の値でなく、一見ランダムな日付型の値が表示されます。 
 これを回避するには、ソース列で数値型の値を日付型の値に置き換え、インポートをやり直します。 | 
また、データシート ビューで、(ウィザードの最終ページに表示される) エラー ログ テーブルを確認してください。 このテーブルには、[エラー]、[フィールド]、[行] の 3 つのフィールドがあります。 各行には特定のエラーについての情報が表示され、[エラー] フィールドの内容は問題のトラブルシューティングに役立ちます。
エラー文字列とトラブルシューティングのヒント
| エラー | 説明 | 
|---|---|
| 「フィールドの切り捨て」 | ファイルの値が、このフィールドの "フィールドサイズ" プロパティ設定には大きすぎます。 | 
| 「データ型の変換エラー」 | このフィールドのデータ型に対し、ワークシートの値が誤っています。 値が存在しないかインポート先フィールドでは誤っている可能性があります。 この問題のトラブルシューティングを行う方法の詳細については、前の表をご覧ください。 | 
| 「キー違反」 | このレコードの主キー値は重複していて、既にテーブルに存在しています。 | 
| 「入力規則エラー」 | 値が、このフィールドかテーブルの "ValidationRule/入力規則" プロパティを使って設定された規則に違反しています。 | 
| 「必須フィールドに Null 値をインポートしようとしました」 | このフィールドの "必須" プロパティが "はい" に設定されているため、このフィールドでは Null 値は許可されません。 | 
| 「オートナンバー型フィールドに Null 値を追加しようとしました」 | [オートナンバー型] フィールドに追加しようとしたインポート元データに、"Null" 値が含まれています。 | 
| 「解析不能なレコード」 | テキスト型の値がテキストの区切り記号 (通常、引用符 (")) で囲まれています。 値を区切り記号で囲む場合は、次の例のようにテキスト ファイル内で区切り記号を 2 回繰り返してください。 直径 4 1/2"" | 
Excel内のデータへのリンク
Access データベースを別のプログラムのデータにリンクすることで、データベース内の Excel データのコピーを保持することなく、 Access が提供するクエリおよびレポート ツールを使用できます。
Excel ワークシートまたは名前付き範囲にリンクすると、 Access ソース セルにリンクされた新しいテーブルが作成されます。 Excel のソース セルに加えた変更はすべて、リンク テーブルに表示されます。 ただし、 Accessで対応するテーブルの内容を編集することはできません。 データを追加、編集、削除したい場合は、リンク元ファイルでその変更を行ってください。
Access内から Excel ワークシートにリンクするための一般的なシナリオ
通常、次の理由により、(インポートではなく) Excel ワークシートにリンクします。
- 
                  引き続きデータを Excel ワークシートに保持するが、 Accessの強力なクエリとレポート機能を使用できるようにする必要があります。 
- 
                  部署またはワークグループでは Accessを使用しますが、使用する外部ソースのデータはワークシート Excel にあります。 外部データのコピーを保持する必要はありませんが、 Accessで操作できるようにする必要があります。 
初めて Excel ワークシートにリンクする場合
- 
                  Excel内から Access データベースへのリンクを作成することはできません。 
- 
                  Excel ファイルにリンクすると、 Access はリンク テーブルと呼ばれる新しいテーブルを作成 します。 テーブルにはリンク元のワークシートや名前付き範囲のデータが表示されますが、データベースのデータが実際に保存されているわけではありません。 
- 
                  Excel データをデータベース内の既存のテーブルにリンクすることはできません。 つまり、リンク操作を実行することでデータを既存テーブルに追加することはできないということです。 
- 
                  データベースには、複数のリンク テーブルを格納できます。 
- 
                  Excel のデータに加えた変更はすべて、リンク テーブルに自動的に反映されます。 ただし、 Access のリンク テーブルの内容と構造は読み取り専用です。 
- 
                  Access で Excel ブックを開くと ([ ファイルを開く ] ダイアログ ボックスで、[ ファイルの種類 ] リスト ボックスを [Excel] に変更し、目的のファイルを選択します)、空のデータベース Access 作成され、スプレッドシートのリンク ウィザードが自動的に起動します。 
Excel データを準備する
- 
                      Excel ファイルと、リンク先のデータを含むワークシートまたは範囲を見つけます。 ワークシート全体にリンクしたくない場合は、リンクするセルのみが含まれる名前付き範囲を定義することを検討してください。Excel で名前付き範囲を作成します (省略可能 – 一部のワークシート データにのみリンクする場合に便利です) - 
                          Excel に切り替え、名前付き範囲を定義するワークシートを表示します。 
- 
                          リンク元のデータが含まれているセルの範囲を選びます。 
- 
                          選んだ範囲内で右クリックし、[範囲に名前を付ける] か [名前の定義] をクリックします。 
- 
                          [新しい名前] ダイアログ ボックスの [名前] ボックスで範囲の名前を指定し、[OK] をクリックします。 リンク操作を行う際は、一度に 1 つのワークシートや範囲にしかリンクできないことに注意してください。 ブック内の複数の場所のデータにリンクするには、ワークシートや範囲ごとにリンク操作を繰り返します。 
 
- 
                          
- 
                      リンク元データを確認し、次の表に示されたアクションを実行します。 要素 説明 表形式 セルを表形式になるよう指定します。 範囲に結合されたセルが含まれる場合、セル内容は左端の列に対応するフィールドに配置され、その他のフィールドは空白になります。 列と行をスキップする リンク操作中にソース列と行をスキップすることはできません。 ただし、 にインポートした後にデータシート ビューでリンク テーブルを開くと、フィールドを非表示にしたり、レコードをフィルター処理 Access。 列数 Access ではテーブル内の 255 個を超えるフィールドがサポートされていないため、ソース列の数は 255 を超えることはできません。 空白の列、行、セル Excel ワークシートまたは範囲内のすべての不要な空白列と空白行を削除します。 空白のセルがある場合は、不足しているデータを追加するようにしてください。 エラー値 ワークシートや範囲の 1 つ以上のセルにエラー値が含まれる場合は、インポート操作を開始する前に修正します。 ソース ワークシートまたは範囲にエラー値が含まれている場合、 Access テーブルの対応するフィールドに null 値が挿入されることに注意してください。 データ型 リンク テーブルのフィールドのデータ型やサイズは変更できません。 リンク操作を開始する前に、各列に特定の型のデータが含まれていることを確認してください。 列に複数のデータ型の値が含まれる場合は、列を書式設定することをお勧めします。 たとえば、ワークシートの FlightNo 列に 871、AA90、171 など数値と文字列値が混在しているとします。 存在しない値や誤った値が発生しないようにするには、次の手順を実行します。 - 
                                  列を右クリックし、[セルの書式設定] をクリックします。 
- 
                                  [表示形式] タブの [分類] で、書式を選びます。 
- 
                                  [OK] をクリックします。 
 最初の行 ワークシートまたは名前付き範囲の最初の行に列の名前が含まれている場合は、リンク操作中に最初の行のデータをフィールド名として扱う Access を指定できます。 ワークシートに列名がない場合、または特定の列名が Accessのフィールドの名前付け規則に違反している場合 Access は、対応する各フィールドに有効な名前が割り当てられます。 
- 
                                  
- 
                      リンク元のファイルが開いている場合は、それを閉じます。 
インポート先のデータベースを準備する
- 
                      リンクを作成するデータベースを開きます。 データベースが読み取り専用でないことと、データベースを変更するために必要とされる権限があることを確認します。 
- 
                      既存のデータベースにリンクを保存しない場合は、空のデータベースを作成します。[ ファイル ] タブをクリックし、[ 新規] をクリックし、[ 空のデータベース] をクリックします。 
これで、リンク操作を開始できます。
リンクを作成する
- 
                      インポート/リンク ウィザードの場所は、 Accessのバージョンによって若干異なります。 Access のバージョンに一致する手順を選択します。 - 
                          Microsoft 365 サブスクリプション バージョンの最新バージョンの Access、 Access 2021、または Access 2019を使用している場合は、[ 外部データ ] タブの [ & リンクのインポート ] グループで、[ 新しいデータ ソース ] > [ ファイルから > ]Excelをクリックします。 
- 
                          Access 2016 または Access 2013を使用している場合は、[ 外部データ ] タブの [ & リンクのインポート ] グループで、[ Excel] をクリックします。 
 注: データベースが開いていないと、[外部データ] タブは使用できません。 
- 
                          
- 
                      [ 外部データの取得 - スプレッドシートの Excel ] ダイアログ ボックスの [ ファイル名 ] ボックスに、 Excel ソース ファイルの名前を指定します。 
- 
                      [リンク テーブルを作成してソース データにリンクする] を選び、[OK] をクリックします。 スプレッドシート リンク ウィザードが開始され、リンク手順に従って進みます。 
- 
                      ウィザードの最初のページで、ワークシートか名前付き範囲を選び、[次へ] をクリックします。 
- 
                      リンク元のワークシートや範囲の 1 行目にフィールド名が含まれる場合は、[先頭行をフィールド名として使う] を選択します。 Access では、これらの列見出しを使用してテーブル内のフィールドに名前を付けます。 列名に特定の特殊文字が含まれている場合は、 Accessのフィールド名として使用できません。 このような場合は、フィールドに有効な名前を割り当てる Access を示すエラー メッセージが表示されます。 [OK] をクリックして操作を続けます。 
- 
                      ウィザードの最後のページで、リンク テーブルの名前を指定し、[完了] をクリックします。 指定した名前のテーブルが既に存在する場合は、その既存のテーブルかクエリを上書きするかどうかをたずねられます。 テーブルかクエリを上書きする場合は [はい]、別の名前を指定する場合は [いいえ] をクリックします。 Access は、リンク テーブルの作成を試みます。 操作が成功した場合、 Access 完了 リンク テーブル メッセージが 表示されます。 リンク テーブルを開き、フィールドとデータを表示して、すべてのフィールドのデータが正しいことを確認します。 エラー値や誤ったデータがある場合は、リンク元データのトラブルシューティングを行う必要があります。 エラー値のトラブルシューティングを行う方法の詳細については、次のセクションをご覧ください。 
#Num! などリンク テーブルの誤った値のトラブルシューティングを行う
「テーブルをリンクしました」というメッセージが表示された場合でも、データシート ビューでテーブルを開いて、行と列に正しいデータが表示されていることを確認してください。
テーブルにエラーや誤ったデータが表示されている場合は、次の表に示された修正アクションを実行し、リンクをやり直します。 リンク テーブルは読み取り専用のため、テーブルに値を直接追加することはできませんので、注意してください。
| 問題 | 解決策 | 
|---|---|
| グラフィック要素 | ロゴ、グラフ、図など、 Excel ワークシート内のグラフィカル要素を Accessで にリンクすることはできません。 | 
| 表示形式 | データシート ビューで値が正しく表示されるよう、デザイン ビューで特定のフィールドの "表示形式" プロパティを必要に応じて設定します。 | 
| 集計値 | 計算列またはセルの結果は対応するフィールドに表示されますが、式 (または式) を Accessで表示することはできません。 | 
| テキスト型の値が切り捨てられる | データシート ビューで列幅を広げます。 それでも値全体が表示されない場合は、値が 255 文字を超えていることが原因である可能性があります。 Access は最初の 255 文字にのみリンクできるため、データにリンクするのではなく、データをインポートする必要があります。 | 
| 数値型の値のオーバーフローのエラー メッセージ | リンク テーブルが一見正しいのに、後でテーブルに対して問い合わせを実行すると、「数値型フィールドのオーバーフロー」エラー メッセージが表示される場合があります。 この問題が起こる原因は、リンク テーブルのフィールドのデータ型とそのフィールドに格納されるデータの型が競合するためです。 | 
| TRUE や FALSE の値と -1 や 0 の値が混在する | ソース ワークシートまたは範囲に TRUE または FALSE 値のみを含む列が含まれている場合、 Access リンク テーブル内の列の [はい/いいえ] フィールドが作成されます。 ただし、ソース ワークシートまたは範囲に -1 または 0 の値のみを含む列が含まれている場合は、既定で Access、列の数値フィールドが作成され、テーブル内の対応するフィールドのデータ型を変更することはできません。 リンク テーブルに [はい]/[いいえ] フィールドが必要な場合は、ソース列に TRUE と FALSE の値が含まれていることを確認します。 | 
| 複数値を持つフィールド | Access では、ソース列にセミコロン (;)で区切られた値の一覧が含まれている場合でも、フィールド内の複数の値のサポートは有効になりません。 値のリストは、1 つの値として扱われ、テキスト フィールドに取り込まれます。 | 
| Num! | Access に #Num が表示されます。 エラー値が表示されます。 
 この場合、次の操作を行って、テーブル内の Null 値の数を最小化します。 
 | 
| 日付型の値が数値型の値に置き換わる | フィールドに一見ランダムな 5 桁の数値が表示された場合は、リンク元の列に多数の数値型の値のほかに少数の日付型の値も含まれていないかチェックします。 日付型の値は、数値型の列に表示しようとすると、不適切な数値に変換されます。 日付型の値を数値型の値に置き換え、リンクをやり直します。 | 
| 数値型の値が日付型の値に置き換わる | フィールドに一見ランダムな日付型の値が表示された場合は、リンク元の列に多数の数値型の値のほかに少数の数値型の値も含まれていないかチェックします。 数値型の値は、日付型の列に表示しようとすると、不適切な日付に変換されます。 数値型の値を日付型の値に置き換え、リンクをやり直します。 | 
 
                         
				 
				