小学館IDをお持ちの方はこちらから
ログイン
初めてご利用の方
小学館IDにご登録いただくと限定イベントへの参加や読者プレゼントにお申し込み頂くことができます。また、定期にメールマガジンでお気に入りジャンルの最新情報をお届け致します。
新規登録
人気のタグ
おすすめのサイト
企業ニュース

スプレッドシートで「XLOOKUP」と「IMPORTRANGE関数」を使って別シートを参照する方法【図解】

2024.05.05

別のスプレッドシートに書かれた情報を現在のシートに持ってきて使いたい、と思ったことはないだろうか。スプレッドシートには、他のシートを参照できる機能が備わっている。

本記事では、スプレッドシートで別シートを参照する方法について解説する。XLOOKUPとIMPORTRANGE関数を使うやり方中心にまとめた。

スプレッドシートで別シートのデータを参照するには?

スプレッドシートの別シートに書かれた情報を、現在のシートに参照して使いたい場合がある。たとえば、顧客ごとの売上データが書かれたシートを作っている際に、顧客情報が書かれたシートを参照できれば、いちいちデータをコピー&ペーストする必要がなくなる。

コピー&ペーストしても良いのだが、それだと別シートの情報が更新された際にデータが更新されない問題がある。別シートの情報が更新された際に、参照したデータも更新できるようにした方が、作業効率が高まる。スプレッドシートでは、それが可能というわけだ。

■XLOOKUP関数とIMPORTRANGE関数について

スプレッドシートでデータを参照する場合、XLOOKUP関数を使う。昔はVLOOKUPという関数が使われていたが、XLOOKUP関数の方が余計な制約がなく使いやすい。

XLOOKUP関数の書式は次のようになっている。

=XLOOKUP({検索値},{検索範囲},{戻り範囲})

検索値(検索するデータ)、検索範囲(検索するセルの範囲)、戻り範囲(出力するセルの範囲)の3つをXLOOKUP関数に指定する必要がある。別シートのデータを参照する場合、戻り範囲にシート名を記載しなくてはいけない。

また、XLOOKUPに加えIMPORTRANGE関数も併用しないといけない場合がある。

IMPORTRANGE関数は別ファイルのデータを取得する関数だ。別ファイルのデータを参照したい場合は、まずIMPORTRANGE関数でデータを引っ張ってきて、そのデータに対してXLOOKUP関数で絞り込みを行う必要がある。

XLOOKUP関数で別シートのデータを参照する手順

XLOOKUP関数で別シートのデータを参照する手順は次のとおり。

  1. シートを2つ用意する
  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関数で別ファイルのデータを参照する手順をみていこう。手順は次のとおり。

  1. ファイルを2つ用意する
  2. IMPORTRANGE関数を使う
  3. XLOOKUPをIMPORTRANGEを組み合わせる
  4. アクセスを許可する

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関数を使う際は、場合によっては「これらのシートをリンクする必要があります」と表示されることがある。参照先のスプレッドシートが公開設定になっていない場合に、この表示がされることが多い。

この場合は「アクセスを許可」をクリックすると、正常にデータを参照できる。

まとめ

本記事では、スプレッドシートで別シートを参照する方法について解説した。最後に、別シートを参照する手順についておさらいしよう。

  1. シートを2つ用意する
  2. XLOOKUP関数を使う
    1. 例:=XLOOKUP(A1,’テスト2′!A1:A8,’テスト2′!B1:B8)

また、別ファイルのシートを参照する手順についてもまとめた。

  1. ファイルを2つ用意する
  2. IMPORTRANGE関数を使う
    1. 例:=IMPORTRANGE(“https〜”,”‘テスト2’!A1:A8″)
  3. XLOOKUPをIMPORTRANGEを組み合わせる
    1. =XLOOKUP(A1,IMPORTRANGE(“https〜”,”‘テスト2’!A1:A8″),IMPORTRANGE(“https〜”,”‘テスト2’!B1:B8″))」
  4. アクセスを許可する
    1. 「アクセスを許可」を選択

構成/編集部

@DIMEのSNSアカウントをフォローしよう!

DIME最新号

最新号
2024年5月16日(木) 発売

新NISAで狙え!DIME最新号は「急成長企業55」、次のNVIDIAはどこだ!?

人気のタグ

おすすめのサイト

ページトップへ

ABJマークは、この電子書店・電子書籍配信サービスが、著作権者からコンテンツ使用許諾を得た正規版配信サービスであることを示す登録商標(登録番号 第6091713号)です。詳しくは[ABJマーク]または[電子出版制作・流通協議会]で検索してください。