【初心者向け完全版】GASでスプレッドシートからデータ取得する方法を徹底解説!

はじめに

「GASでスプレッドシートからデータを取り出したい!」
「でも、何から手をつけたらいいか分からない…」

そんなあなたに向けて、
この記事ではGoogle Apps Script(GAS)を使ってスプレッドシートのデータを取得する方法を、
超丁寧に、しかも実践レベルでわかりやすく解説します!

結論から言うと、
👉 たった数行コードを書くことで、スプレッドシートのデータを自在に操れるようになります。

この記事を読み終わるころには、あなたも「データ操作マスター」になっていますよ!


なぜGASでスプレッドシートのデータ取得を覚えるべきか?

まず押さえておきたいのは、
GAS × スプレッドシート連携は、ビジネス効率化の最強コンビだということ。

  • 大量のデータを一瞬で取得・加工できる

  • データに基づいて自動処理(メール送信・レポート作成など)が可能

  • 毎日の手作業を一気に自動化できる

つまり、
**「データを取得するスキル=作業を圧倒的に減らす力」**なんです!


基本の流れ:GASでスプレッドシートからデータを取得する手順

最初に全体の流れをざっくり押さえておきましょう。

  1. 対象のスプレッドシートを開く

  2. 必要なシートを指定する

  3. データ範囲を取得する

  4. 必要な形に整形する

これだけ!
順番にやれば初心者でも絶対できるので安心してください。


実践編|GASでスプレッドシートからデータを取得してみよう!

さっそく手を動かしながら学んでいきましょう!

ステップ1:スプレッドシートを準備

まず、Googleスプレッドシートを新規作成しましょう。
例としてこんなデータを入れておきます。

名前 年齢 メールアドレス
山田太郎 28 yamada@example.com
佐藤花子 34 sato@example.com

ファイル名は「テストデータ」としておきます。


ステップ2:Apps Scriptエディタを開く

「拡張機能」→「Apps Script」をクリック。
新しいスクリプトエディタが開きます。

ここにコードを書いていきます。


ステップ3:データ取得の基本コードを書く

まずは最もシンプルなデータ取得から!

function fetchData() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
  const data = sheet.getDataRange().getValues();
  Logger.log(data);
}

ポイント解説:

  • getActiveSpreadsheet() → 今開いてるスプレッドシートを取得

  • getSheetByName('シート名') → 操作したいシートを指定

  • getDataRange() → データが入っている範囲すべてを取得

  • getValues() → それを「配列」として取り出す

この関数を実行すると、スプレッドシートの中身がログにズラッと表示されます!


データ取得をもっと使いこなすためのテクニック集

ここからさらに一歩進んだ使い方を紹介します。

① 特定の列だけ取得したい

「名前だけ欲しい」みたいな場合はこう!

function fetchNames() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
  const data = sheet.getDataRange().getValues();
  
  const names = data.map(row => row[0]); // 0列目(A列)だけ
  Logger.log(names);
}

map()を使うと、1列だけきれいに取り出せます。


② 特定の範囲だけ取得したい

たとえばA2〜C3だけ取りたいなら?

function fetchPartialData() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
  const range = sheet.getRange('A2:C3');
  const data = range.getValues();
  Logger.log(data);
}

getRange('範囲指定')を使えば、ピンポイントで抜き出せます!


③ ヘッダー行を除外して取得したい

1行目が見出しで、2行目以降だけ取りたいなら?

function fetchDataWithoutHeader() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
  const data = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn()).getValues();
  Logger.log(data);
}

ここでポイントなのは、

  • 2, 1 → 2行目1列目からスタート

  • getLastRow() - 1 → データ行数からヘッダー1行分引く

という指定です!


さらに便利な応用技

GASは、ただデータを取得するだけじゃなく、
そのデータを活用して次のアクションにも繋げられます。

たとえば…

  • 取得したリストに沿ってメール自動送信

  • データをもとにPDF作成

  • 別のシートや別ファイルにデータ移動

  • 外部APIと連携してデータ更新

などなど。
「データ取得」はGAS活用の入り口にすぎないのです!


よくあるエラーと対処法

初心者がよくハマるポイントも押さえておきましょう。

■ シート名が間違っている

getSheetByName('シート名')は、正確な名前を入れないとエラーになります。
大文字小文字、全角半角、スペースの有無も要注意!

■ データが空っぽになる

getDataRange()は「データが存在する範囲」なので、データがなければ空配列が返ります。
事前にデータ入力されているか確認しましょう。

■ 権限エラーが出た

初回実行時にはGASからアクセス権限リクエストが出るので、必ず許可しましょう。
許可しないとスプレッドシートにアクセスできません!


まとめ|GASでスプレッドシートからデータを取得すれば、未来が変わる!

この記事では、
GASを使ってスプレッドシートのデータを取得する方法を超実践的に解説しました。

✅ getDataRange().getValues()の基本操作
✅ 列・範囲・ヘッダー除外の応用技
✅ よくあるミスとその対処法

これができるようになれば、
あなたのGASスキルは劇的にレベルアップします!

データ取得をマスターして、
もっと自由自在にGoogleサービスを自動化していきましょう!

Shop now