スプレッドシートの『IMPORTRANGE』関数で200万の制約が無くなるって本当?

こんにちは、たぬ(@tanuhack)です!

知ってました?

Googleスプレッドシートって1つのワークブックに対して、200万セルしか入力できないんですよ!

私は普段、顧客情報のデータベースの代わりとして、集計して分析に使っています。

が、しかし、扱うセルが200万を超えてしまい、これ以上今使っているワークブックに一切データを挿入出来なくなり困り果てていました。

素直にGoogleのデータベース『Google Fusion Tables』使えば解決するんでしょうけど、不慣れな『GAS(Google Apps Script)』を使うのが気が引ける…。

そんなとき出会ったのが『IMPORTRANGE』関数でした。

この神関数に救われ、今もへんてこなプログラムを書かず200万を超えるデータを扱って、スプレッドシートだけで顧客の分析が出来ています。

IMPORTRANGE関数とは

spreadsheets-importrange2

『IMPORTRANGE』とは、『Import:挿入』と『range:範囲』の造語で、その名の通り別のスプレッドシートの内容を挿入することができるんですよ。

ExcelではVBA(Excelのプログラミング)を使わないと出来なかった処理が、スプレッドシートでは関数1つで出来ちゃいます♪

元データを更新したときに、それが全てのシートに反映されたら、すごく便利だと思いませんか?それを簡単に実現させてくれるのが、この関数です。

spreadsheets-importrange8

チームでデータを管理するときは、Excelなんか使わないでスプレッドシート使おうね。

注意
この関数は、『Googleスプレッドシート』のオリジナル関数で『Excel』には用意されていません。

IMPORTRANGE関数の使い方

挿入したいスプレッドシートを用意する

spreadsheets-importrange3

練習で使ってみたい方は、こちらからコピーして使って下さいませ。

挿入されるスプレッドシートを用意する

spreadsheets-importrange4

以下の構文をセル内(この記事ではA2セル)に入れるだけで、簡単に挿入することができます。

=IMPORTRANGE("スプレッドシートキー","範囲指定した文字列")

スプレッドシートキー

=IMPORTRANGE("スプレッドシートキー","範囲指定した文字列")

※スプレッドシートキーとは、スプレッドシートのURLを指した名称で、以下の例でいう「××××」の部分のことです。

例:https://docs.google.com/spreadsheets/d/××××/edit#gid=0

範囲指定した文字列

=IMPORTRANGE("スプレッドシートキー","範囲指定した文字列")

『"シート名!セルの範囲"』で指定します。シート名はアクティブシートが1つしかない場合は省略可です。

実行する

今回はA2セルに『=IMPORTRANGE("1-qd48UQf8EJMnEFELTCxZJ5KoTplq--BqeBwlJLBXto","挿入される元データ!A1:J30")』と入力します。

挿入された方のシートでセルの変更・削除はできません。

200万のセル制限を回避するテクニック

この記事の本題に入ります。実は、IMPORTRANGE関数を使うだけでは、何の解決にもなりません。

spreadsheets-importrange5

では、どうするか。

それはズバリ、IMPORTRANGE関数を使う前に集計用のシートを別で作って、集計されたデータだけを渡すという方法です。

spreadsheets-importrange7

spreadsheets-importrange6

つまり、データの集合がたとえ200万セル以上であっても、IMPORTRANGEしまくれば、ほぼ無限にスプレッドシートだけでデータ集計をし続けることができるという訳です。

まとめ

IMPORTRANGE関数を使えば、200万のセル制限に囚われること無く無限にデータを増やすことが出来ます。

その用途以外にも、仕事をしていると同じプロジェクトでも、複数のシートを作成し、管理をしていくこともあるはずです。

そんなときは迷わず、スプレッドシートの『IMPORTRANGE関数』を使いましょう。便利ですよ〜。