Google Service

異なるスプレッドシートを連携するには

スプレッドシートはリアルタイムで共有できる強力なツールです。

スプレッドシートはExcelにはない特別な関数を持っていて、プログラム(Google Apps Script)を覚えなくても、スプレッドシート間の連携(同期)が簡単に取れます。

まずスプレッドシートを2つ用意します。

データ側スプレッドシート
[BLOGCARD url=”https://docs.google.com/spreadsheets/d/14NRGmhQvydkcJ7qCqEVpGA45htIFEzgv7sSiwgu-Ax4/edit#gid=0″][/BLOGCARD]

連携側スプレッドシート
[BLOGCARD url=”https://docs.google.com/spreadsheets/d/1N565KjVS30Zbehv2bq18LRXacQcn_OOcCOE1d_hF0TY/edit#gid=0″][/BLOGCARD]

データ側スプレッドシートにデータを入力します。
今回はファイナンス関数(GOOGLEFINANCE)を利用して為替データ(USD:JPY)を入力しました。

早速、連携側で同期を確認しましょう。

利用する関数はIMPROTRANGEです。Googoleのドキュメントヘルプには次のように書かれています。

IMPROTRANGE
構文
IMPORTRANGE(スプレッドシートキー, 範囲の文字列)

スプレッドシートキーはスプレッドシートのURLもしくはIDを二重引用符で囲みます。また、範囲の文字列はシート名を含むセル範囲を二重引用符で囲みます。では、実例で確認してみましょう。

スプレッドシートキーに入力するスプレッドシートIDは下図例の青反転の箇所です。

スプレッドシートURLで指定する場合は下図例の反転箇所です。

範囲の文字列ですが、Excelと同様にルールがあります。シート名と範囲の間をエクスクラメーション[!]で区切ります。
また、セル範囲は開始セルと終了セルをコロン[:]で区切ります。

今回の事例では「シート1のA2セルからB12セル」が範囲なので「シート1!A2:B12」となります。これを二重引用符で囲みましょう。

それでは整理します。連携側のスプレッドシートに埋め込む関数は次のようになります。
「=importrange(“14NRGmhQvydkcJ7qCqEVpGA45htIFEzgv7sSiwgu-Ax4″,”シート1!A2:B12”)」

もしくはURL指定の方法なら「=importrange(“https://docs.google.com/spreadsheets/d/14NRGmhQvydkcJ7qCqEVpGA45htIFEzgv7sSiwgu-Ax4/”,”シート1!A2:B12″)」となります。

連携側のセルは任意の位置で大丈夫です。引用したい箇所に関数を記述します。

配列関数の注意点
IMPORTRANGEやFILTERなどセル範囲を取り扱う関数を配列関数と呼びます。
配列関数では引用する範囲が確保できていない場合、#REFエラーが返ってきます。
余分なデータは入力しないように気を付けましょう。

一回目の関数入力では#REFエラーが返ってきます。これは引用元(今回のデータ側スプレッドシート)の所有者からの許可が取れていないからです。ご自身が作成したスプレッドシートの場合、許可ボタンをクリックすると即時許可されます。
他の方が作られたスプレッドシートの場合、許可申請を行うことになります。

データ側(引用元)のアクセス許可がある場合、即時にデータを引用することができます。

この仕組みを使うことによって、元のデータを変更する危険を回避しつつオリジナルのデータフィルタや解析、情報追加ができるようになります。
顧客データマスタから受注用スプレッドシートや発注用スプレッドシートを作成することもできますし、従業員マスタから各種管理スプレッドシートに反映させたりと業務の幅が大きく広がります。
これはExcelではできない強力なメリットです。

ABOUT ME
Nozomu.Kon
トータルソフトウェアコーディネーターがあなたのお困りを即時に解決!