- 公開日:
エクセルで違うファイルからデータを引っ張る方法
エクセルで複数のファイルからデータを引っ張ることは、効率的なデータ管理や分析に欠かせない作業です。
異なるファイルに保存されたデータを手作業でコピー&ペーストするのは非効率ですが、エクセルの便利な機能を活用すれば簡単にデータを管理することができます。
本記事では、違うファイルからデータを取り込む便利な機能や手順について解説していきます。
外部参照でデータを引っ張る
データが比較的少ない場合は、ファイルを同時に開いてデータを引っ張る外部参照を利用する方法がおすすめです。
元データを変更すると自動で連動もされるため、複数人でデータを共有する際に便利です。

今回は上記2つのファイルを使って、外部参照でデータを引っ張る方法を解説します。
左のファイルには表形式でデータがまとめられています。
この表の中にある「国名」のデータだけを、右のファイルに引っ張ってみます。

どちらのファイルでも良いので、①「表示」タブ、②「整列」の順に選択します。

「ウィンドウの整列」ダイアログボックスが表示されます。
①任意の整列方法(例:並べて表示)を選択し、②「OK」ボタンを押します。

ウィンドウを整列できました。
①参照先のセル(例:B3)に「=」と入力し、②参照元のセル(例:C3)を選択します。

「=[ファイル名]Sheet◯!$C$3」という数式が入力されますので、Enterキーを押して確定します。

データを引っ張ることができました。
この状態で参照元のデータを編集した場合、参照先も連動してデータが更新されます。

オートフィルでデータをコピーしたい場合は、①数式内のセルを「$C3」「C$3」「C3」のように変更します。
縦方向にコピーしたい場合は「$C3」、横方向にコピーしたい場合は「C$3」のように変更しましょう。
②セルの右下にあるフィルハンドルを選択し、数式をコピーしたいセルまでドラッグします。

オートフィルで数式がコピーされ、連続するデータを引っ張ることができました。
データを更新させたくない場合
外部参照で引っ張ってきたデータは、元データを変更すると自動で更新されます。
元データに編集を加えても更新させたくない場合は、以下の方法でブックのリンクを解除する必要があります。

参照先のファイルで、①「データ」タブ、②「ブックのリンク」の順に選択します。

画面右側に「ブックのリンク」という画面が表示されます。
①リンクしているブックの「…」、②「リンクの中断」の順に選択します。

「Microsoft Excel」ダイアログボックスが表示されます。
「リンクの解除の操作は元に戻すことができない」という注意書きが表示されますので、問題なければ「リンクの解除」ボタンを押します。

引っ張ってきたデータを確認すると、数式バーから数式が消えていることが分かります。
このように数式が消えていれば、データの連動は行われません。
データの取得機能でデータを引っ張る
エクセルの「データの取得」機能を使うことで、データを一気に引っ張ることができます。
引っ張るデータが表である場合、若干表示が変わってしまうことがありますが、大量にデータを引っ張りたいときにおすすめです。

①「データ」タブ、②「データの取得」、③「ファイルから」、④「Excelブックから」の順に選択します。

「データの取り込み」ダイアログボックスが表示されます。
①取り込みたいファイル(例:国データ.xlsx)を選択し、②「インポート」ボタンを押します。

①引っ張りたいデータを含むシート(例:Sheet1)を選択します。
シートを複数選択したい場合は、画面上部の「複数のアイテムの選択」にチェックを入れたうえで、シートを選択してください。
②「読み込み」ボタンを押します。

データを引っ張ることができました。
シート単位で引っ張れるため便利ですが、テーブルとして表示されたりと若干表示が変わることがありますので、注意してください。
関数・マクロを使用してデータを引っ張る
VLOOKUP関数を使用する
VLOOKUP関数を使用することで、違うファイルから必要なデータを抜き出すことができます。
他のファイルにある一部のデータのみを引っ張りたいときに便利です。転記ミスもなくなりデータも常に更新されるため、最新のデータを引っ張ることができます。
以下の記事では、VLOOKUP関数を使ってデータを引っ張る方法を丁寧に解説しています。
ExcelのVLOOKUP関数で別ファイル(別ブック)を参照する
VBAでデータを引っ張る操作を自動化する
VBA(マクロ)を使って、違うファイルからデータを引っ張るのを自動化することもできます。
大量に転記したいデータがある場合や、より作業を簡略化させたい場合に大変便利です。
以下の記事では、VBAとVLOOKUP関数でデータを引っ張る操作を自動化する方法を紹介しています。