目次
別のスプレッドシートに書かれた情報を現在のシートに持ってきて使いたい、と思ったことはないだろうか。スプレッドシートには、他のシートを参照できる機能が備わっている。
本記事では、スプレッドシートで別シートを参照する方法について解説する。XLOOKUPとIMPORTRANGE関数を使うやり方中心にまとめた。
スプレッドシートで別シートのデータを参照するには?
スプレッドシートの別シートに書かれた情報を、現在のシートに参照して使いたい場合がある。たとえば、顧客ごとの売上データが書かれたシートを作っている際に、顧客情報が書かれたシートを参照できれば、いちいちデータをコピー&ペーストする必要がなくなる。
コピー&ペーストしても良いのだが、それだと別シートの情報が更新された際にデータが更新されない問題がある。別シートの情報が更新された際に、参照したデータも更新できるようにした方が、作業効率が高まる。スプレッドシートでは、それが可能というわけだ。
■XLOOKUP関数とIMPORTRANGE関数について
スプレッドシートでデータを参照する場合、XLOOKUP関数を使う。昔はVLOOKUPという関数が使われていたが、XLOOKUP関数の方が余計な制約がなく使いやすい。
XLOOKUP関数の書式は次のようになっている。
=XLOOKUP({検索値},{検索範囲},{戻り範囲})
検索値(検索するデータ)、検索範囲(検索するセルの範囲)、戻り範囲(出力するセルの範囲)の3つをXLOOKUP関数に指定する必要がある。別シートのデータを参照する場合、戻り範囲にシート名を記載しなくてはいけない。
また、XLOOKUPに加えIMPORTRANGE関数も併用しないといけない場合がある。
IMPORTRANGE関数は別ファイルのデータを取得する関数だ。別ファイルのデータを参照したい場合は、まずIMPORTRANGE関数でデータを引っ張ってきて、そのデータに対してXLOOKUP関数で絞り込みを行う必要がある。
XLOOKUP関数で別シートのデータを参照する手順
XLOOKUP関数で別シートのデータを参照する手順は次のとおり。
- シートを2つ用意する
- XLOOKUP関数を使う
1つ1つの手順について詳しく解説していこう。
■1.シートを2つ用意する
まず、シートを2つ用意する。1つ目のシートには何も書かず、2つ目のシートには以下のような表を準備しておこう。2つ目のシート名は「テスト2」にしている。XLOOKUP関数はシート名が違うと正しく参照できないので、シート名は必ず「テスト2」にしよう。
■2.XLOOKUP関数を使う
2つ目のシートに表を作成したら、1つ目のシートからXLOOKUP関数で参照を行う。
ここでは試しに「=XLOOKUP(A1,’テスト2′!A1:A8,’テスト2′!B1:B8)」と入力した。これは、A1の値がシート「テスト2」の「A1〜A8」にないか探し、あった場合、その値に対応するデータを「B1〜B8」から出力する、というものだ。
実行すると、次のように「テスト2」から情報が出力されるはず。これがXLOOLUP関数でデータを参照する基本的なやり方である。
IMPORTRANGE関数で別ファイルのデータを参照する手順
続いて、IMPORTRANGE関数で別ファイルのデータを参照する手順をみていこう。手順は次のとおり。
- ファイルを2つ用意する
- IMPORTRANGE関数を使う
- XLOOKUPをIMPORTRANGEを組み合わせる
- アクセスを許可する
1つ1つの手順について詳しく解説していく。
■1.ファイルを2つ用意する
先ほど同様にシートを2つ用意する必要がある。
今度は2つ目のシートは別ファイルに作成する。2つ目のシートには次のように表を作成しよう。シート名は同じく「テスト2」にする。
■2.IMPORTRANGE関数を使う
XLOOKUPとIMPORTRANGE関数を使う前に、まずIMPORTRANGE関数単体で使ってみよう。IMPORTRANGE関数の書式は次のとおり。
=IMPORTRANGE(“{URL}”,{出力範囲}”)
実際に、IMPORTRANGE関数を使ってみる。次のように「=IMPORTRANGE(“https〜”,”‘テスト2’!A1:A8″)」と記入する。
実行すると、「テスト2」のA1〜A8のデータが表示された。
■3.XLOOKUPをIMPORTRANGEを組み合わせる
それでは、XLOOKUPをIMPORTRANGEを組み合わせて、別ファイルのシートからデータを参照してみよう。
次の画像では「=XLOOKUP(A1,IMPORTRANGE(“https〜”,”‘テスト2’!A1:A8″),IMPORTRANGE(“https〜”,”‘テスト2’!B1:B8″))」と記入している。
これは、IMPORTRANGE関数を使ってA1〜A8とB1〜B8のデータを取得している。その取得したデータを使って、XLOOKUP関数で絞り込み検索を行っている。
実行すると、先程と同じ出力結果が得られており、別ファイルのシートからデータを参照できていることが分かる。
■4.アクセスを許可する
IMPORTRANGE関数を使う際は、場合によっては「これらのシートをリンクする必要があります」と表示されることがある。参照先のスプレッドシートが公開設定になっていない場合に、この表示がされることが多い。
この場合は「アクセスを許可」をクリックすると、正常にデータを参照できる。
まとめ
本記事では、スプレッドシートで別シートを参照する方法について解説した。最後に、別シートを参照する手順についておさらいしよう。
- シートを2つ用意する
- XLOOKUP関数を使う
- 例:=XLOOKUP(A1,’テスト2′!A1:A8,’テスト2′!B1:B8)
また、別ファイルのシートを参照する手順についてもまとめた。
- ファイルを2つ用意する
- IMPORTRANGE関数を使う
- 例:=IMPORTRANGE(“https〜”,”‘テスト2’!A1:A8″)
- XLOOKUPをIMPORTRANGEを組み合わせる
- =XLOOKUP(A1,IMPORTRANGE(“https〜”,”‘テスト2’!A1:A8″),IMPORTRANGE(“https〜”,”‘テスト2’!B1:B8″))」
- アクセスを許可する
- 「アクセスを許可」を選択
構成/編集部