【GAS】スプレッドシート内の全データを取得する

こんにちは、ryohei(@ityryohei)です!

本記事では、Google Apps Scriptでスプレッドシート内の全データを取得する方法をご紹介しています。

Google Apps Scriptでスプレッドシート内の全データを取得するにはどうすればいいんだろう?

上記の疑問にお答えします。

では、解説していきます。

スプレッドシートを取得する

Google Apps Scriptで対象のスプレッドシートを取得します。ここではスプレッドシートのIDからスプレッドシートオブジェクトを取得します。

Google Apps Script

function myFunction() {
  const sheetId = 'SPREADSHEET_ID';
  const sheet = SpreadsheetApp.openById(sheetId);
}

スプレッドシートのIDは下記キャプチャのようにスプレッドシートのURLから確認できます。URL内の英数字記号の文字列がスプレッドシートのIDです。

上記で取得したスプレッドシートのIDをコピーし、スクリプト内のSPREADSHEET_IDに置き換えてご利用ください。

参考:SpreadsheetApp|openById();

スプレッドシート内の全データを取得する

前項で取得したスプレッドシートオブジェクトから、シート内の全データを取得します。getDataRange()でスプレッドシートのレンジ(範囲)を取得し、getValues()でレンジ内の値を取得します。戻り値は二次元配列なので、forEach等を使ってデータを出力することができますね。

Google Apps Script

function myFunction() {
  const sheetId = 'SPREADSHEET_ID';
  const sheet = SpreadsheetApp.openById(sheetId);
  const range = sheet.getDataRange();
  const values = range.getValues();

  console.log(values);
}

実行結果(ダミーユーザーデータ)

Logging output too large. Truncating output.
[ 
  [ '氏名',
    '氏名(ひらがな)',
    '年齢',
    '生年月日',
    '性別',
    'メールアドレス',
    '電話番号',
    '郵便番号',
    '住所'
  ],
  [ '西村 須美子',
    'にしむら すみこ',
    24,
    Fri Aug 14 1998 00:00:00 GMT+0900 (Japan Standard Time),
    '女',
    'nishimura_814@example.jp',
    '03-8211-4105',
    '178-3319',
    '東京都東村山市野口町1-4-12'
  ]
]

参考:Spreadsheed|getDataRange();
  :Spreadsheed Range|getValues();

最後に

現在携わっている案件でGoogle Apps Scriptを触る機会がありまして、触っているうちに楽しくなり色々作ってみて遊んでいます。Googleのサービスは世界中で使われているというのもあり、ドキュメントもわかりやすくまとめられているため、JavaScriptが読み解ける方であればすんなり習得できると思います。

Google Apps Scriptは文字通りGoogleのサービスの連携に特化したスクリプト言語です。Google Apps Scriptで処理が組めるようになれば、Googleのサービスをさらに便利に使うことができるようになります。例えばフォームとカレンダーを組み合わせて予約システムを構築したり、スプレッドシートとGmailを使ってメール配信サービスを構築したり、構築できるサービスは様々です。

ほんとびっくりするくらい簡単に構築できるので、もし興味がある方はGoogle Apps Scriptに触れてみてくださいね。

以上、Google Apps Script(GAS)でスプレッドシート内の全データを取得する方法のご紹介でした!

おすすめの書籍

Adobe Creative Cloudを通常価格で購入していませんか?

Adobe Creative Cloud(Adobe CC)はAdobe社が提供するクリエイター向けのサービスです。WEB制作の幅を広げる「Photoshop・Illustrator・XD」Youtuberや動画クリエイターの編集作業に欠かせない「Premiere Pro・After Effects」など全20以上のアプリが提供されており、幅広いプランが用意されています。

コンプリートプランはAdobe CCの全20以上のアプリが使用できるプランです。多くのアプリが使用できるため定価で購入すると年間7万円以上するプランですが、デジタルハリウッドのAdobeマスター講座では「基礎動画教材+Adobe CC コンプリートプラン(12ヵ月)」がセットになって39,980円(税込)で利用できます。定価より安価にAdobe Creative Cloudのライセンスを購入でき、以降のライセンス更新も可能。動画教材で基礎スキルを習得できるので、入門する方にも便利な講座です。詳しくは下記のリンクからチェックしてみてくださいね。

Adobeマスター講座はこちら