はじめに
別のスプレッドシートのデータを参照する!
EXCELだったら、2つのEXCEL開いて、片方のEXCELのセルに「=」入れて、もう一方のEXCELシートの参照したいところをマウスで指定するだけの簡単作業。EXCELで言う、別のブックのデータ参照はスプレッドシートだとポチポチポチでは出来ません。
今回紹介するのは、そんなスプレッドシートでも別のスプレッドシートのデータを参照出来る方法です。
IMPORTRANGE関数
Googleスプレッドシートではこの関数を使って、別シートのデータ参照を行います。ちょっと面倒くさいと思いますよね。
そうです、EXCELに比べれば面倒くさいですね。私もそう思います。
でも、慣れれば全く問題ありません!一旦EXCELのことは忘れてスプレッドシートのことだけ考えて下さい!
次のような2つのスプレッドシートを用意しました。1つは筋トレ集計の入っているスプレッドシート(読み込まれる方)、もう一方は空です(こっちから参照します。/読み込むシート)
【読み込まれるシート】
【読み込むシート】
読み込まれるシートのセルにIMPORTRANGE関数の数式を入れます。次のような形で書きます。
構文
=IMPORTRANGE(“スプレッドシートキー”,”‘シート名’!範囲の文字列”)
引数は「スプレッドシートキー」と「シート名!範囲の文字列(参照する範囲)」になります。
【スプレッドシートキー】
スプレッドシートキーは、参照したいスプレッドシートのURLの中にあります。
EXCELだけで生きてきた人にはあまり馴染みがないですが、スプレッドシートなどGoogleが提供しているサービスのファイル特定はURLで行います。なんにせよすぐURLが出てきます。この機会に慣れましょう。
見えてる範囲は「https://」が省略されてるかもしれませんが、下記のような形になっていると思います。
https://docs.google.com/spreadsheets/d/******スプレッドシートキー******/edit#gid=0
「******スプレッドシートキー******」の部分がスプレッドシートキーです。わけわからん数字とアルファベットと記号の羅列になっていると思います。これが一つひとつのファイルで割り当てられているキーなので、ファイルごとに違っています。
このスプレッドシートキー(読み込まれるシートの方)を1番目の引数に入れます。
=IMPORTRANGE(“******スプレッドシートキー******”,”‘シート名’!範囲の文字列”)
文字列で指定しないといけないので、「”」で囲うのを忘れないでください。
【シート名!範囲の文字列】
そして、読み込まれるシートの読み込みたい範囲を2番目の引数に指定します。読み込みたいのはA1セル~E8セルまでの範囲で、シート名は、下の方にありますね。この2つで組み立てます。
次のようになりますね。
シート1!A1:E8
これを2番目の引数に指定すると、
=IMPORTRANGE(“******スプレッドシートキー******”,”シート1!A1:E8″)
となります。こちらも、文字列での指定なので「”」で囲うのを忘れないようにして下さい。
使い方
ここまでこれば使い方はいたってシンプルです。読み込むシートの読み込みたい場所に、先程作った数式を入れるだけです。では早速やってみましょう。
読み込むシートのA1セルに数式を入れていきます。
「=IMP」まで入れると、候補でIMPORTRANGE関数が出てきます。キーボードかマウスで選んで決定して下さい。
「=INPORTRANGE(」まで入力が決定します。説明も出てきますね。こういった類の中では、デフォルトですごい丁寧に説明してくれるのがありがたいですね。
では、引数の指定をしましょう。「スプレッドシートキー」と「シート名!範囲」でしたね。「”」で囲うのと、シート名と範囲の間に「!」マーク入れるのを忘れないで下さい。
確定します。
Loading・・・
からの。
エラー!!!!
安心してください。間違っていません。落ち着いて数式を入力したA1セルにマウスを合わせると、「アクセスを許可」というメッセージが出てくると思います。別のスプレッドシートを参照する場合は、最初だけアクセス許可の確認が出てくるので、そっと許可して上げてください。
許可すると次のように、データが読み込まれて参照出来ていることが分かります。
書式の設定などは読み込まれません。あくまでも値が読み込まれますので書式は改めて設定してくださいね。
別の関数と組み合わせる
単にデータをそのまま読み込ませるだけではあまり使い所はないですが、他の関数と組み合わせることによって様々な形で使えます。セル範囲を参照するような引数を持っている関数では、このIMPORTRANGE関数を使って、別のシートから参照することが出来ます。
例えばですが、先程の筋トレ集計の範囲を指定したIMPORTRANGE関数の数式をSUM関数の引数に入れてみます。
=SUM(IMPORTRANGE(“******スプレッドシートキー******”,”シート1!A1:E8″))
SUM関数は引数に範囲を指定しますよね?なので、このように指定することで、筋トレ集計の表の中にある数字を合計することが出来ます。
VLOOKUP関数やSUMIF関数など、別のスプレッドシートのデータから抽出したいときなど結構あると思いますので、関数を組み合わせて色々やってみて下さい!
おまけ
ちなみに、引数のスプレッドシートキーですが、実はキーだけ抜き出さなくても、読み込まれるスプレッドシートのURLを全部入れても動きます。長くなるのと美しくないので嫌ですが、コピペが面倒なときは、URLを全部コピーして貼り付けちゃいましょう。
まとめ
シート連携や読み込み・参照はEXCELと違ってスプレッドシート独特のやり方になっていますね!URLとかキーとか慣れないことが出てきますが、便利に使うには通らざる負えない道なので頑張りましょう!
コメント