Googleスプレッドシートで、同じスプレッドシートの別シートの内容を取得したい場合や、違うスプレッドシートの内容をもってきたいときありませんか?
結論、同じスプレッドシートの別シートから情報をもってくるときは、【=’シート1′!A1】のように単純に参照するのが簡単にできる方法で、複数の範囲の情報をもってきたいときは、【QUERY関数】。
違うスプレッドシートから情報をひっぱってくる場合には、【IMPORTRANGE関数】が便利です。
それぞれ、細かい使い方を説明していきますので、興味がある方はぜひ最後まで御覧くださいませ!
こんにちは。当ブログの管理人の『くろん』です。
30代サラリーマン、新規事業推進室に所属。ブラック企業努め時代に身に着けた業務効率化ノウハウをアウトプットしていきます。
読んでくれた方の業務が一秒でも早く終わりますようにの精神で記事書いてます!!
【同じスプレッドシート】別シートから自動反映
同じスプレッドシートの別のシートから、データを引っ張ってくるときは、単純に参照すればOKです。
単一セルの情報を別のシートから自動反映
『データ参照元』シートの『A1セル』を、『データ参照先』の『A1セル』にもってくる式を組んでみたいと思います。
='データ参照元'!A1
こんな感じの式を入力すればOKです。シート名を『’』で囲われているのは、シート名に日本語を含んでいるからで、『=data!A1』みたいな英文字であれば『’』で囲われてなくてもOKです。
シート名の後ろに『!』をつけてから、セルの位置を指定することで、そこに入力されたテキストを参照することができます。ビックリマークに関連して、エクセルでの説明になりますが、おおよそスプレッドシートと同じなので、興味ある方はあわせてごらんください。
ただ、実務ではいちいちこのように入力することは、ほぼなく、
この動画のように、参照先のセルに『=』を入力してから、参照元のセルをクリックすればOKです。
ただ、エクセルと少し違い残念なところは、参照元と参照先のセル位置同じだった場合、一発でそのセルを選択できない謎の現象が生じることです。
一つ下のセルを選択してから、矢印の『↑』を入力するなどして、ずらす必要があります。(めんどくさい。。。)
複数セルの情報を別のシートから自動反映
複数セルを参照したい場合は、2つのやり方があります。
一つは、上記の単一セルの参照の式を、複数記入する方法。
もう一つは、『QUERY関数』を使う方法です。
データ参照元にある、『A列』の情報をデータ参照先『A列』に参照させたいと思います。
単一セル参照式を複数記入して反映させる場合
='データ参照元'!A1
こんな感じですね。
シンプルで初心者でもわかりやすいのですが、デメリットとしては『データ参照元』のA列に情報が追加になったとしても、データ参照先に参照式が入力されているところまでしか、コピーされない点です。
データ参照元シートにどんどんデータが追加されるようなシステムを作成している場合には、このやり方は適切ではないでしょう。その場合、次の『QUERY関数』を使ってください。
『QUERY関数』を使って反映させる場合
=query('データ参照元'!A:A)
『QUERY関数』を用いることで、参照元の指定した範囲のセルを同じように引っ張ってくることができます。
この方法であれば、『データ参照元』のデータが追加になっていったとしても、勝手に更新されるので、非常に便利です。
ただ、注意点としては、『データ参照先』のシートのA列のセルに余計な文字が入るとエラーになってしまう点です。注意しておいてください。
同じスプレッドシートの別シートからセルを参照する方法をお伝えいたしました!ぜひ活用してみてください!
【違うスプレッドシート】別シートから自動反映
ここからは、別のスプレッドシートから情報を引っ張ってくる方法です。
使うのは、『IMPORTRANGE関数』です。
この内容のスプレッドシートを別のスプレッドシートにひっぱってこようと思います。
必要になる情報は、参照元のスプレッドシートのURL、あとシート名です。
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/●●●●/","参照元シート!A:A")
URLのIDの部分は隠させていただきましたが、参照元のスプレッドシートのURLをそのままコピペしてください。
第2引数に、シート名と範囲を入力すればOKです。
しばらく『Loading…』と表示されたあとに、上図のようにデータが取得されます。
最初に参照元のスプレッドシートから取得しようとするときには、このように『アクセスを許可』のボタンが表示されるので、問題なければボタンを押して承認してしまってください。
ちなみに、参照先のスプレッドシートの『IMPORTRANGE関数』で展開するセルに、文字列がすでに入っているとエラーになりますので注意が必要です。
まとめ【スプレッドシート】で別シートから自動反映する方法
- 同じスプレッドシートの別シートの場合
-
- 単一セルの情報を自動反映したい場合は、【=’シート1′!A1】のように単純に参照するのが簡単
- 複数セルの範囲の情報をもってきたいときは、【QUERY関数】を用いる。
- 異なるスプレッドシートの別シートの場合
-
- 違うスプレッドシートから情報をひっぱってくる場合には、【IMPORTRANGE関数】を用いる。
複数人でスプレッドシートをイジったりするとき、集計のシートをいじられて関数を壊されてしまうというのはよくあることですよね。この自動反映の方法を用いれば、記入用のシート(別のスプレッドシートでも可)と集計用シートを分けることができるので、壊される可能性がぐっと減るのではないでしょうか。
ぜひお試しくださいませ!