1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GASでGoogleスプレッドシートを扱うときによく使うメソッドまとめ

Last updated at Posted at 2025-11-26

本記事では、スプレッドシートを操作する際によく使うメソッドを用途別に整理しました。

「GASでスプレッドシートを操作したいけど毎回調べるのがめんどくさい!」などという方の役に立てば幸いです。

1. Spreadsheet/Sheetの取得

// スプレッドシートのスクリプトエディタ内で実行する場合
const ss = SpreadsheetApp.getActiveSpreadsheet();


// 確実に ID を指定したい場合
const ssById = SpreadsheetApp.openById('スプレッドシートのID');


// シート名から取得(ss は Spreadsheet のインスタンス)
const sheet = ss.getSheetByName('Sheet1');

getActiveSpreadsheet()は確実性が低いので、時間手動トリガーなどで使う場合はopenByIdを使ったほうが安全。

2. 範囲(Range) / 値(Value)の取得

getRangeの引数順序
getRange(行番号, 列番号, 取得する行数, 取得する列数);

// A1記法でも指定可能
getRange('A1:C10');
値の取得
//単一セルの値を返す
range.getValue();

//2次元配列を返す
range.getValues();

getValuegetValuesは混同しやすいので注意。ここをミスしていると、アクセスするときにエラーが出てしまう。


使用例
//左上から1行×1列取得
const range = sheet.getRange(1, 1, 1, 1);


//2通りの方法でセルの値を取得
const values = range.getValues();   //[[ 'セルA1' ]]

const value = range.getValue();   //"セルA1"


//rangeとvalueを同時に取得する場合
const values = sheet.getRange(1, 1, 10, 3).getValues(); // 10行×3列

実際にセルの値を取得するときはgetValues()でまとめて取得する方が効率良いのでおすすめ。


値のアクセス
// 先頭セルの値にアクセスする例
const topLeft = values[0][0];

getValues()で取得した場合、返り値は行数・列数に関わらず2次元配列となるので注意。例えば1行取得した場合、アクセスはvalues[0][i]のようにする。

3. セル操作

クリア
// セルを空にする(内容のみ)
sheet.getRange(1, 1, 1, 1).clearContent();
書き込み
// 特定の範囲に一括で書き込む
//2次元配列のデータを用意
const data = [['A1', 'B1'], ['A2', 'B2']];

//左上からデータ範囲分だけ書き込む
sheet.getRange(1, 1, data.length, data[0].length).setValues(data); 

getValues()と同様に、setValues()もなるべくまとめてやると効率が良くなる。

4. 最終行・最終列の取得

データが入っている最終行・最終列の取得
const lastRow = sheet.getLastRow();       
const lastCol = sheet.getLastColumn();
シートの最終行・最終列の取得
const maxRows = sheet.getMaxRows();
const maxCols = sheet.getMaxColumns();

getLastRow()系は、空白のセルがあるときに誤差がでたりするので注意。

5. Propertiesサービス

Key-Valueで文字列を保存できる機能。
保存した文字列は関数をまたいでアクセスできるようになる。

//保存
PropertiesService.getScriptProperties().setProperty('Key', Value);

//参照
PropertiesService.getScriptProperties().getProperty('PROBLEM_NUMBER');

おまけ:Form関係

フォームとスプレッドシートの連携はよく行うのでまとめておく。

// フォームを作成
const form = FormApp.create('アンケート');


//スプレッドシートと連携させる
form.setDestination(FormApp.DestinationType.SPREADSHEET, sheet.getId());

さいごに

今回はGASでスプレ操作する際によく使うメソッドをまとめました。
どうやって書くのか忘れたときなどにぜひ使ってください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?