Excelで別ファイルを参照する方法

当サイトはアフィリエイト広告を利用しています。

今回は、Excelで別ファイルを参照する方法をご紹介します。

この方法を知っていると、別ファイルのデータを引っ張ることや、VLOOKUP関数で別ファイルを対象に検索することなどができて便利です。

参照元ファイルを開かずにデータを自動更新する方法や、関数内で別ファイルを参照するとエラーになるときの対処法などもあわせてご紹介しますね。

Excelで別ファイルを参照する方法

Excelで別ファイルを参照するには、外部参照を使います。外部参照を使うと、参照元のファイルの場所や名前が変わらない限り、参照元ファイルを開かなくてもデータが反映されます。

外部参照を使って別ファイルを参照するには、まず参照元ファイルと参照先ファイルの両方を開きます。

Excel

参照先セルに「=」と入力します。

Excel

参照元セルをクリックして[Enter]を押します。

Excel

これで別ファイルが参照されます。

Excel

参照元ファイルの場所を示すパスは、参照元ファイルを開いている状態だと、[ブック名]シート名!セル範囲のように「相対パス」になります。

Excel

反対に参照元ファイルを閉じている状態だと、'フォルダパス[ブック名]'!セル範囲のように「絶対パス」になります。

Excel

B2以下のセルも参照したい場合は、数式の$B$2の部分を$B2に変更してからオートフィルすればOKです。

Excel
Excel

Excelで参照元ファイルを開かずにデータを自動更新する方法

参照元データを変更し、そのファイルを開かずに参照先ファイルを開くと、以下のようなメッセージが表示されます。参照元データの変更を反映させるには、「更新する」を押す必要があります。

Excel

これを、メッセージを表示させずに自動更新されるようにするには、まず「データ」タブ⇒「リンクの編集」をクリックします。

Excel

「リンクの編集」が表示されたら、「起動時の確認」をクリックします。

Excel

「起動時の確認」が表示されたら、「メッセージを表示しないで、リンクの自動更新を行う」を選択し、「OK」をクリックします。これで今後はメッセージが表示されずに自動更新されます。

Excel

Excel関数内で別ファイルを参照するとエラーになるときの対処法

Excel関数内で別ファイルを参照すると、エラーになってしまうことがあります。

Excel

これは、参照元ファイルが開いていないからです。関数の中には参照元ファイルが開いていないとエラーになるものがあるのです。

参照元ファイルを開いていないとエラーになる関数には以下のようなものがあります。

  • COUNTIF関数
  • DCOUNTA関数
  • DSUM関数
  • INDIRECT関数
  • SUMIF関数

解決策としては参照元ファイルを開くのが手っ取り早いですが、手動で開くのが面倒な場合は、マクロを使って参照先ファイルを開くと同時に参照元ファイルも自動で開くようにするといいでしょう。

マクロの使い方がわからない方は、先に以下の記事をご覧ください。

そのためには、参照先ファイルでVBEを起動し、「ThisWorkbook」をダブルクリックして、表示されたコードウィンドウに以下のコードを貼り付けます。

Excel
Private Sub Workbook_Open()

     Application.ScreenUpdating = False
     Workbooks.Open "G:\マイドライブ\サンプル\Book3.xlsx"
     ActiveWindow.Visible = False
     Application.ScreenUpdating = True
     
End Sub

これは、参照先ファイルを開いたとき、指定したファイルをバックグラウンド(非表示)で開くマクロです。

G:\マイドライブ\サンプル\Book3.xlsxの部分には、同時に開きたいファイルのパスを入力してください。同時に開きたいファイルが複数ある場合は、ファイルの数だけWorkbooks.Open "参照元ファイルのパス"を追加すればOKです。

MEMO

参照元ファイルのパスは、「フォルダパス+ブック名」になります。フォルダパスは参照元ファイルを右クリック⇒「プロパティ」⇒「場所」項目で確認できます。

これで参照先ファイルを開くと同時に参照元ファイルも開くため、エラーにならなくなります。

Excel

まとめ

今回は、Excelで別ファイルを参照する方法をご紹介しました。

別ファイルを参照したいときは、外部参照を使いましょう。外部参照を使うと、参照元のファイルの場所や名前が変わらない限り、参照元ファイルを開かなくてもデータが反映されますよ。

同じファイルの別シートを参照したい場合は以下の記事を参考にしてみてください。