エクセルで別シートを参照して反映させる手順!

エクセルで別シートに作ったデータって参照できるんですか?他のシートにあるデータが簡単に反映できると便利だなと思ったんですけど。

エクセルでは、同じシート内だけではなくて、別のシートや別のファイルのデータも参照できるよ。
ビジネスシーンで書類を作成する場合、別のシートに作成したデータを参照したいというケースは多くあります。
別シートを参照する方法を覚えると、効率が良いだけではなく入力ミス防止にもつながります。
- 「=」を使って別のシートと同じ内容を表示
- リンク貼り付けを使って、別のシートの内容を反映する
- 関数を使って別シートの内容を表示する
別のシートを参照する方法には、別のシート内のデータをそのまま表示させる方法や関数を使って別シートの内容を表示する方法などがあります。
本記事では、実務に役立つ便利な参照の使い方を紹介していますのでぜひ参考にしてみてください。
エクセルの参照について、詳しく知りたい方はこちらの記事もおすすめです。
エクセルで別のシートを参照する3つの方法
エクセルで別のシートを参照する方法には、以下の3つがあります。
- 「=」を使って同じ内容を表示
- リンク貼り付けをする
- 関数を使う
それぞれの手順を詳しく解説します。
「=」を使って同じ内容を表示
別のシートにあるデータを参照する一番簡単な方法は、「=」を使った参照です。
操作が簡単で初心者の方でもわかりやすいため、共有する可能性がある書類で別のシートの内容を参照したい場合は、「=」を使う方法がおすすめです。
参照元のシートに「テキスト価格表」、参照先のシートに「テキスト発注表」と名前をつけて、それぞれデータを作成します。
- 「テキスト発注表」のシートの「B4」をクリックして、半角で「=」を入力
- 「テキスト価格表」のシートをクリックする
- 「テキスト価格表」のシートの「B3」をクリック
- 数式バーに「=テキスト価格表!B3」と表示される
- Enterで確定
「テキスト発注表」のシートに、「テキスト価格表」のシートの単価が表示されました。
「B4」のセルをクリックして、B列の残りのセルにオートフィルで数式をコピーしてください。
リンク貼り付けで参照する
リンク貼り付けを使うと、数式をまとめて参照できるので便利です。
- 「テキスト価格表」のシートをクリック
- 参照したい範囲を選択してCtrl+Cでコピーする
- 「テキスト発注表」のシートを選択
- 「ホーム」タブをクリック
- 「貼り付け」の下向き矢印を押す
- その他の貼り付けオプションから「リンク貼り付け」クリックする
「テキスト発注表」のシートに、「テキスト価格表」のシートの単価が表示されました。
INDIRECT関数やVLOOKUP関数を使う
関数を使って別シートを参照することもできます。
今回は、INDIRECT関数を使う方法とVLOOKUP関数を使う方法を紹介します。
INDIRECT関数で別のシートのセルの値を参照する
INDIRECT関数は、引数を使って参照先を変える関数です。
INDIRECT関数には、2つの使い方があります。
1つは引数のセル番地を「=INDIRECT("D1")」のようにダブルクォーテーションで囲んで指定する方法です。
引数をダブルクォーテーションで囲んだ場合は、指定したセル番地と同じ文字を表示します。
これは、「=」の参照と同じ使い方です。
引数をダブルクォーテーションで囲んで使うのであれば、「=」で参照したほうがわかりやすいから、今回はこの使い方の説明は省略するね。
もうひとつのINDIRECT関数の使い方は、引数のセル番地に何もつけずに指定する方法です。
これは、「D1」に手入力した「りんご」、「A1」のセルに「D1」、「A5」に「A1のセルを参照するINDIRECT関数」を入力したものです。
上記の画像のようにダブルクォーテーションで囲まずにセル番地を入力し、かつ参照先のセルに「セル番地」または「他の文字」が入力されていた場合、参照先を間接的に変えるという使い方ができます。
参照先を間接的に変えるってどういうことですか?意味がよくわからないので、もう少し詳しく教えてください。
「A5」に挿入したINDIRECT関数は、「A1」を参照していますね。
しかし、A1のセルを見ると「D1」と入力されています。
これは、参照先が「A1」から「D1」に変わることを意味しています。

言葉で説明するとちょっとわかりにくいんだけど、INDIRECT関数は入力されている内容を変更せずに、参照先が変えられる便利な関数なんだ。
INDIRECT関数を使って、別のシートを参照してみましょう。
「テキスト発注表」シートの空いているセルに、参照元のシート名と同じ「テキスト価格表」の文字を入力します。
文字を入力したセル番地は、あとで挿入するINDIRECT関数の引数になります。
- 「テキスト価格表」を選択
- 先頭のセル番地を確認
「テキスト発注表」のシートの「B4」に、INDIRECT関数を挿入します。
セルをクリックして、以下の関数を入力してください。
=INDIRECT(F3&"!B3")
参照する文字列が入力されているセル番地が同じINDIRECT関数は、オートフィルではコピーできません。
残りのセルにも同じように以下の計算式を入力してください。
B4 =INDIRECT(F3&"!B3")
B5 =INDIRECT(F3&"!B4")
B6 =INDIRECT(F3&"!B5")
B7 =INDIRECT(F3&"!B6")
B8 =INDIRECT(F3&"!B7")
B9 =INDIRECT(F3&"!B8")
B10 =INDIRECT(F3&"!B9")
B11 =INDIRECT(F3&"!B10")
すべてのセルにINDIRECT関数を挿入すると、上記のようになります。
INDIRECT関数を使って、別のシートの値を参照することができました。
INDIRECT関数を使って複数シートの合計を集計シートにまとめて表示する
ビジネスシーンでは、下記の画像のように月別や支店別にシートを分けてデータを作成し、集計用のシートに各シートの合計額を表示するといったケースがありますね。
このようなデータは、INDIRECT関数を使って集計シートにまとめることが可能です。
集計のシートに作成した表の見出しとシート名が同じことを利用し、INDIRECT関数を使って見出しのセル番地から各シートに参照先を変更します。
- 「集計」のシートをクリック
- 「B2」に「=INDIRECT(A2&"!G4")」と入力する
- Enterで確定
=INDIRECT(A2&"!G4")
「B2」の計算式を「B4」までコピーします。
集計のシートに各シートの1~6月の合計を参照することができました。
INDIRECT関数は、使い慣れないと少し扱いにくいと感じてしまう場合もありますが、参照先を間接的に変更できるので覚えておくと便利です。
VLOOKUP関数を使って別のシートの文字を参照する
VLOOKUP関数は、列方向にデータを検索して、指定した列番号の文字を返す関数です。
エクセルで、商品一覧表や発注表を作成して在庫を管理している場合は、VLOOKUP関数を活用してみましょう。
シートを分けて、「テキスト一覧」、「テキスト発注表」を作成します。
- 「テキスト発注表」のシートを選択
- 「B4」に「=V」と入力
- 表示された関数名の中から「VLOOKUP」をダブルクリックする
- 「テキスト発注表」の「A4」をクリック
- 半角で「,」を入力
- 「テキスト一覧」のシートをクリックする
「テキスト一覧」の表の範囲を選択してください。
- 数式バーに表示された赤枠の表の範囲を絶対参照にする
- 「,2,0)」を入力
- Enterで確定
=VLOOKUP(A4,テキスト一覧!$A$3:$D$17,2,0)
「B4」のセルを選択しなおして、オートフィルで計算式をコピーします。
商品名を入力すると、テキスト名が表示されるようになりました。
ただし、VLOOKUP関数を単体で使うと、商品No.が入力されていないテキスト名のセルにエラーが表示されます。
エラー表示を消してVLOOKUP関数を挿入する方法は、VLOOKUP関数で絶対参照を使う方法を紹介している記事で詳しく解説していますので、こちらの記事を参考にしてみてください。
エクセルで別のファイルを参照する方法は2通り!
エクセルで別のファイルを参照する場合は、「パス」を使います。

「パス」って何ですか?
パソコンの中に保存されているフォルダやファイルの住所のようなものだよ。
エクセルなどで作成したデータは、Cドライブの中にフォルダがあり、さらにその中にフォルダがあるいったように階層構造の入れ物に保存されています。
「パス」とは、ファイルやフォルダの保存場所を示す文字列のことです。
参照元のファイルを開いてから参照する場合はパスを簡略化することができますが、ファイルを開かずに参照したい場合は、フルパスで指定する必要があります。
簡略化したパスとかフルパスとか言葉の意味がよくわかりません。
違いを教えてください!
実際のデータを見たほうがわかりやすいから、手順を説明しながら違いを解説するね。
参照元のファイルを開いて参照する
参照したいファイルを開いても特に問題がない場合は、ファイルを開いて参照する方法がおすすめです。
「A1」の文字は、別のファイルを参照して表示させたものです。
元のファイルを開いてから参照すると「=[ファイル名.xlsx]sheet1!$A$1」のように、元データのファイル名、シート名、セル番地のみが表示されます。
しかし、ファイルを開かずに参照する場合は、Cドライブから始まるすべてのフォルダの場所、ファイル名、シート名、セル番地を表記しなければなりません。
逆にいうと、ファイルを開かずに別のファイルを参照したい場合は、フルパスの書き方を理解しておく必要があるということです。
ファイルを開いて参照する場合は、別のシートを参照するときと同じ手順で操作できます。
参照先のファイルと参照元のファイルを両方開きます。
参照先のシートを選択して、「=」を入力してください。
- 参照元のファイルを開いて、参照したいセルをクリック
- 数式バーにパスが表示される
- Enterで確定
参照先のファイルのシートに、別のファイルのデータを表示することができました。
参照元のファイルを開かずに参照する
「フルパス」を利用すると、ファイルを開かずに別のファイルを参照することができます。
ただし、フルパスを使った参照は、ファイル名が変更されたり、ファイルが削除されたりするとエラーになり、データが表示できなくなるので注意してください。
参照元のファイルと参照先のファイルを別々に保存します。
今回はわかりやすくするために同じフォルダに保存していますが、異なるフォルダに保存しても問題ありません。
- 参照元ファイルの保存先を開き、参照元ファイルを右クリックする
- ショートカットメニューから「パスのコピー」を選択
コピーした参照元ファイルのパスを、ワードまたはメモ帳などのテキストエディタに貼り付けてください。
「パスのコピー」でコピーされた文字列は、そのままではファイルを参照することができません。
上段の形でコピーされたパスを下段の形になるように修正します。
- Cの前にある「"」を削除する
- パスの先頭部分を「='」に変更
- ファイル名「参照元データ.xlsx」の前後に[]を入力
- ファイル名「参照元データ.xlsx」の後ろにある「"」を削除
- ファイル名「参照元データ.xlsx」のあとに、参照元のシート名「sheet1'!」と参照するセル番地を「$A$1」のように絶対参照で入力する
修正が終わったら、修正したほうのパスを選択してコピーしてください。
='C:\Users\****\Desktop\外部リンク用データ\[参照元データ.xlsx] sheet1'!$A$1
参照先のファイルを開きます。
- データを表示したいセルを選択して、コピーした参照元のパスを貼り付ける
- 「セキュリティに影響を及ぼす可能性がある問題点が検知されました」のメッセージの「すべてを貼り付ける」をクリック
外部参照のパスやコピーしたマクロを貼り付けると、「セキュリティに影響を及ぼす可能性がある問題点が検知されました」というメッセージが表示されます。
外部参照のパスは、「すべて貼り付ける」を選択しても問題が起こることはありません。
参照元ファイルの「A1」に入力されていた文字を表示することができました。
パソコンの階層にあまり詳しくない方やパスの見方がわからない場合は、参照したいファイルを開いてから操作することをおすすめします。
別のシートやファイルが参照できない主な原因と対処法
参照した別のシートやファイルが表示されないときは、以下の点をチェックしてみましょう。
- 数式の先頭に「=」が入力されているか
- 参照したい元データが削除されていないか
- 参照元のファイル名や保存先が変更されていないか
- 参照を指定した内容に入力ミスがないか
原因別に対処法を解説していきます。
「=」が入力されていない
別のシートやファイルを参照する場合、セル内に数式を入力しますが、数式の先頭に「=」が入力されていないと、入力した文字がそのままセルに表示されてしまいます。
この画像のように、入力した文字がそのまま表示されている場合は、「=」の入力漏れがないか確認してみましょう。
「=」が入力されていなかった場合は、数式の先頭に「=」を入力すると参照先のデータが表示されるようになります。
参照元のデータが削除されている
参照しているデータが削除されていた場合は、シート名やファイル名が表示される場所に参照する値がないという意味の「#REF!」エラーが表示されます。
シート名またはファイル名が表示される位置に「#REF!」エラーが表示されている場合は、参照したシートやファイルが削除されていないか確認してみましょう。
データが削除されていた場合は参照することができないため、手入力をするかまたは新しくデータを作成しなおしてください。
参照元のシート名またはファイル名や保存先が変更されている
数式を挿入したあとに、シート名やファイル名、保存先が変更されていると、「#REF!」エラーになります。
数式を入力したあとにシート名やファイル名、または保存先が変更されていた場合は、最初に入力されていた数式を削除してから、参照しなおせば表示されるようになります。
参照を指定した内容に入力ミスがある
参照元のセルに値が入力されているのに、「0」と表示されてしまうときは入力ミスをしている可能性が高いです。
参照したセルが「0」など正しい値が表示されない場合は、参照した数式が正しく入力されているか確認してみてください。
入力ミスがあった場合は、正しい数式に修正しましょう。
エクセルで別のシートやファイルを参照するに関するQ&A
- エクセルで別シートのデータを集計したいのですが、どうすればいいですか?
-
入力したそれぞれのシート名と集計用のシートに作成した表の見出しが同じ場合は、INDIRECT関数を使うと簡単に集計することができます。
詳しい手順は、≫INDIRECT関数やVLOOKUP関数を使うで解説していますので、こちらをご覧ください。
- 別シートからVLOOKUP関数を使って参照する方法を教えてください。
-
参照したデータを表示したいシートと元になるデータの表をそれぞれ作成しておきます。VLOOKUP関数の検索値を指定しやすくするために、番号が入力できる列を作成しておくと便利です。
VLOOKUP関数を使って別シートのデータを参照する手順は、≫INDIRECT関数やVLOOKUP関数を使うで解説しています。
- エクセルで別シートのセルを参照しても反映されないのですが、どうしてですか?
-
別シートのセルを参照しても値に反映されない原因は、いくつか考えられます。
はじめに、入力した数式に誤りがないかを確認してみましょう。
数式に誤りがない場合は、参照したシート名が変更されているか、削除されてしまった可能性があります。
≫別のシートやファイルが参照できない主な原因と対処法で詳しく解説していますので、こちらの内容を確認してみてください。
エクセルで別のシートやファイルを参照して作業効率をアップしよう!
エクセルで別のシートやファイルを参照すると、入力の手間が楽になるのはもちろんですが、参照したセルの値が変更されると、参照先のセルの値も自動で変更されるため、修正漏れを防ぐことができます。
セル参照の手順はそれほど難しいものではありませんが、参照元のデータが削除されたり、保存先が変更されたりするとエラーになってしまうことがあるので注意してください。
最後に、セルの参照を行う3つの方法をおさらいしておきましょう。
- 「=」を使う
- リンク貼り付けを使って、別のシートの内容を反映させる
- INDIRECT関数やVLOOKUP関数を使って別シートの内容を表示する
今回は、「=」を使った方法や「リンク貼り付け」で参照する方法に加えて、VLOOKUP関数やINDIRECT関数を使った方法を紹介しました。
特に、VLOOKUP関数はビジネスではよく使われる関数の1つなので、ぜひマスターしてみてください。
ほかにも、実務に役立つエクセルの参照の便利な使い方を紹介している記事があります。
こちらの記事もぜひご覧ください。