Google Apps Script(GAS)でスプレッドシートを操作していると、特定のシートをURLで開いたり、外部ツールと連携する際に「シートID(gid)」が必要になる場面があります。
手動でURLの末尾から gid を確認することもできますが、スクリプトから自動で取得できるようにしておけば、シート名に依存しない汎用的なプログラムが作れます。
この記事では、getSheetId() メソッドを使ってスプレッドシート内の各シートのID(gid)を取得する方法を、初心者の方にもわかりやすく解説します。
シートIDとは?スプレッドシートIDとの違い
スプレッドシートID(ファイルID)とは
スプレッドシートIDとは、スプレッドシートファイルそのものを識別するIDです。
URLの /d/ と /edit の間にある文字列がそれにあたります。
例:
https://docs.google.com/spreadsheets/d/【スプレッドシートID】/edit#gid=【シートID】

シートID(gid)とは
シートIDとは、スプレッドシート内の各シートに割り当てられている一意の数値です。
URLの末尾にある #gid=●●●●●● の部分に表示されます。
例えば、シート1とシート2では異なるgidが割り当てられています。
このIDは Sheet.getSheetId() を使うことで、GASから取得可能です。
どちらが必要な場面なのか
- スプレッドシートID:ファイルを開く、読み込むなどファイル単位の操作
- シートID:特定のシートをURLで開く、APIで対象指定するなどの操作
Google Apps ScriptでシートIDを取得する方法
使用するメソッド:getSheetId() の基本情報
- 所属クラス:
Sheet - 引数:なし
- 戻り値:Integer型(数値)のシートID
const sheetId = sheet.getSheetId();
サンプルコード(コピペOK)
function getSheetIdSample() {
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const sheet = spreadsheet.getSheetByName("シート1");
const sheetId = sheet.getSheetId();
console.log("シートID: " + sheetId);
}
実行手順(スクリプトエディタの使い方)
- スプレッドシートを開く
- 「拡張機能」→「Apps Script」をクリック
- 上記のコードを貼り付けて保存
- 関数
getSheetIdSampleを選択し、実行
💡
getActiveSpreadsheet()を使用する場合、そのスクリプトはスプレッドシートに紐づいた「コンテナバインド型」である必要があります。
「コンテナバインド型」について、詳しくはこちらの記事を読んでみてください。
実行結果と確認方法
ログに出力される値の見方
ログには「シートID: 123456789」のように表示されます。この数値が、そのシートのgidと一致します。
実際のURLと照らし合わせて確認する方法
スプレッドシートを開いて、対象シートを表示させた状態でURLの末尾 #gid=xxxxx を確認してください。ログ出力されたIDと一致すれば、正しく取得できています。
よくある質問(FAQ)
- QgetSheetIdで取得したIDは常に同じ?
- A
はい、同じシートであれば常に同じID(gid)になります。
ただし、シートを削除して再作成すると別IDになります。
- Qシート名を変更したらIDは変わる?
- A
変わりません。
getSheetId()は名前に依存せず、内部的な一意IDを返します。
- QgetSheetIdで取得したIDはどう活用できる?
- A
- スプレッドシートの特定のシートをURLで直接開くリンクを作成したいとき
- 外部ツールやAPIと連携する際にシートを特定するため
- 複数シートを自動で処理するロジックの作成時
まとめ
Google Apps Scriptの getSheetId() メソッドを使えば、スプレッドシートの各シートに割り当てられた一意のID(gid)を簡単に取得できます。
URLを手動で見に行く必要もなく、スクリプト上で扱えるので、複数シートの処理やリンクの動的生成などに非常に便利です。
初心者の方でもコピペで試せるようにしていますので、ぜひ一度使ってみてください。






