先日、IFTTTというWebサービスを使って、IoTデバイスで測定したデータを、Googleスプレッドシートに保存するためのアプレットを作りました(記事は こちら)。
このアプレットでは、測定したデータを、スプレッドシートにどんどん追記していきますが、シートの行数が2000行になると、続きは新しいファイルに書き込まれます(新しいファイルのファイル名は、元のファイル名の末尾に「(とおし番号)」がついた名前になります)。
一方、Googleスプレッドシートそのものは、最大500万セルまで保管できます(2019年11月時点の情報)。3列のシートならば、約167万行になる計算です。
シートそのものには沢山のデータが保管できますので、複数ファイルに分かれているデータを1ファイルにまとめておいた方が、データ分析などがやりやすくなります。
そのため、ここでは、IFTTTで別ファイルに保管されたデータを、ひとつのファイルに結合する手順を説明します。
なお、ファイルの結合には、スプレッドシートの「IMPORTRANGE」という関数を使います。IMPORTRANGEは、指定したスプレッドシートから指定範囲のセルを読み込む関数です。
データの結合手順は以下のとおりです。
- Googleスプレッドシートのトップページ(https://sheets.google.com)にアクセスします。Googleアカウントにログインしていれば、自分のスプレッドシートページが開きます。今回は「device01_table」という名前のファイルが、とおし番号「なし」から「15」までの、合計16ファイルできています。
- あらかじめ、それぞれのファイルのURLを確認しておきます。別途「メモ帳」を開きます。「device01_table」を古いものから順番に開き、それぞれのURLをメモ帳にコピペします。以下のようになります。
- 各行の先頭と末尾に、以下のとおり追記しておきます。
- 「新しいスプレッドシートを作成」>「空白」をクリックして、新しいシートを開きます。ファイル名を「device01_table(結合)」に変更しておきます。
- D〜Z列を選択した状態で右クリックし、「列D – Z を削除」を選択します。
- 列数が3列のシートができました。
- メモ帳の1行目の記述を、セル「A1」の場所にコピペします。「A1」セルが「#REF!」となります。そこにカーソルを持っていくと、以下のようなメッセージが表示されますので、「アクセスを許可」をクリックします。
- 「A1」〜「C2000」のセルに、データが挿入されました。
- セル「A2001」に、メモ帳の2行目の記述をコピペします。先ほどと同様に、「A2001」セルが「#REF!」となるので、そこにカーソルを持っていき、「アクセスを許可」をクリックします。
- 同様の処理を、全16ファイル分繰り返します。以下のとおり、2000行 × 16ファイル = 32000行のファイルができました。
2020年4月7日追記
上記の記事において、Googleスプレッドシートのファイルサイズに関して、2019年11月現在の情報を記載していましたが、本日再確認したところ、シートの列数に関する制限が追加されていました。
ただし、本記事では、列数は3列で、行数のみ増やしていますので、この制限の影響は受けません。