別のスプレッドシートからデータを読み込む「Importrange」関数使い方

別のスプレッドシートからデータを読み込む「Importrange」関数使い方 スプレッドシート

Googleスプレッドシート特有の便利関数「Importrange」関数の使い方を記事投稿します。

普段、データ登録用のスプレッドシートがあれば、そのファイルからの行列データを処理用のファイルに読み込むことが可能です。元データが更新されれば、読み込み先のデータも動的にデータ追加される画期的な関数です。

今回は基本的な関数の用法について触れていきます。

スポンサーリンク

データの再利用を促す「Importrange」関数

「Importrange」を使うと、関数ひとつでファイル外のスプレッドシートから大量のデータを取得することができます。Excelには同じ関数は存在しませんが、同様のことは「データの取得(Power Query)」という機能で実現することができます。

Excelの「データの取得」は、まだまだ世間的に多くのひとが使っているわけではありません。GUIも直感的に使いやすい…とはいえないかな。

その点、スプレッドシートの「Importrange」関数であれば、必要な引数を与えるだけで使えるので手軽ですよね。

「Importrange」関数を使うメリット
  • 元ファイルにデータが追加されれば、読み込み先でもデータが動的に反映される。
  • データの「管理」と「処理」を別々のファイルに分けることでスプレッドシートの構成をすっきりさせられる。
  • データ用シートの存在を隠蔽できる。
  • 別のVLOOKUP関数、FILTER関数のインプットにすることができる。
スポンサーリンク

「Importrange」関数使い方

別のスプレッドシートからデータを読み込む「Importrange」関数使い方

▲ 「スプレッドシートのURL」には、読み込み先のシートのURLを入れて二重引用符で囲みます。

「範囲の文字列」には、読み込み先のシートの範囲を “シート名!A2:B6” のような形式で指定します。シート名は省略できますが、明示的に指定しておいたほうが親切でしょう。

前提や注意事項
  • 他のスプレッドシートからデータを読み込む際に、読み込み先のスプレッドシートで明示的に権限を許可する必要があります(最初のアクセスで求められます)。
  • 一旦、アクセスを許可すると読み込み先ファイルに編集権限のあるすべてのユーザーは、設定を行ったユーザーと同様にデータ操作することが可能となります。
  • このアクセス権は、アクセス権を許可したユーザーがソースから削除されるまで有効です。
  • 大量のデータを読み込む場合にはエラーになることがあるようです。

一つのセルを読み込む

読み込み先のシートの任意場所で関数を入力します。一つのセルであれば「A1」等の指定でOKです。

別のスプレッドシートからデータを読み込む「Importrange」関数使い方(URLの余分な部分は消してもOK)

▲ URLをコピーすると画像のように「(URL省略)…/edit#gid=0」のような文字列が付加されることがあります。これはシートが編集状態のときに出てくる文字列です。可能であれば除去しておくと良いです。

別のスプレッドシートからデータを読み込む「Importrange」関数使い方(最初の読み込みではアクセスを許可する必要がある)

▲ 開いているファイルで最初にIMPORTRANGE関数を使うと#REFエラーが出ます。これはシートへのリンクが必要であることを示しています。アクセスを許可すると読み込むことができます。

別のスプレッドシートからデータを読み込む「Importrange」関数使い方(一つのセルを読み込んだ)

▲ 「連番」という文字列が読み込めました。

ジャル
ジャル

一つのセル読み込みはどんなときにするのかしら

アレコレメモ
アレコレメモ

ひとつ思いついたのは、読み込み元のシートでなんらかの計算をしていて、読み込み先でそれをダッシュボード要素として使うとか。

セルの範囲・表を読み込む

次にセル範囲で指定します。単一セルより表を読み込む方が実用的でしょう。

今回は次の表を読み込みます。列はA〜Iまでで1列目ヘッダーを含めて201行あります。

別のスプレッドシートからデータを読み込む「Importrange」関数使い方(表を読み込む)
ダミーデータです(実在しません)

セル範囲の指定方法はお好みです。

セル範囲の指定
  • “シート1!A1:I201”
  • “A1:I201”
    • シート一つなのでシート名省略可能
  • “シート1!A1:I”
    • I列の行数指定を外した。データ量が多いと良くない指定方法かも
  • “シート1!A1:I300”
    • I列は実際のデータから多少の余裕を持たせて指定
別のスプレッドシートからデータを読み込む「Importrange」関数使い方(外部シートから表が読み込めた)

▲ データが読み込めました。初めて使うとちょっと楽しいかも。

読み込みは動的です。元ファイルの行データが増えれば、読み込み先のシートでもきちんと反映されます。

応用:読み込むシートを切り替える

関数の引数をセル参照にして入力内容を視認性よくします。それと、読み込み元ファイル内にシートが複数あるという想定で読み込むシートを切り替えられるようにしていみます。

以下は、読み込み元ファイルで、シートが二つあります。

別のスプレッドシートからデータを読み込む「Importrange」関数使い方(元ファイルにシートが複数ある例)
元ファイルは表が二つ含まれます。

以下は、読み込み先シートで、URLとシート名をセル参照にします。

別のスプレッドシートからデータを読み込む「Importrange」関数使い方(URLとシート名をセル参照にする)

入力する関数は次の通りです。ずいぶんと視認性が良くなりました。

別のスプレッドシートからデータを読み込む「Importrange」関数使い方(URLとシート名をセル参照にする)

▲ 「 B2&”!A1:I” 」の&は文字連結演算子、「!A1:I」の部分は文字列なので二重引用符で囲んでいます。

別のスプレッドシートからデータを読み込む「Importrange」関数使い方(シート切り替え機能を実装)

▲ シート切り替え機能が実装されました。年次、月次などでシート名がたくさんあるようなケースで使えそうです。

まとめ

Googleスプレッドシート特有の便利関数「Importrange」関数の使い方をご紹介しました。

今回は、関数の基礎的な用法に触れましたが、「Importrange」関数から読み込んだデータから新たな関数で処理を加えることも可能です。

またの機会に投稿しようと思います。

「Importrange」関数以上に強力なエクセルのパワークエリに興味ある方は、次の記事もどうぞ。

GoogleスプレッドシートはKindle書籍なら破格で学べる

Kindleで読める電子書籍にGoogleスプレッドシート関連書籍がかなりあります。

しかも、読み放題対象Kindle Unlimited)に入っているものが多数あります。

参考 Kindleストア「Googleスプレッドシート」検索結果

私は、Kindle Oasisという電子書籍リーダーを持っている都合、Kindle Unlimited読み放題のサブスクに加入しています。月額980円で200万冊以上の書籍が読み放題となります。

紙の書籍なら数千円払わないと読めませんが、読み放題であれば月額980円でいくらでも読めます。

初めてご利用の方は30日間の無料体験が可能。期間終了後は月額980円。いつでもキャンセルできます。
詳細はこちら