関数でスプレッドシートのGIDを自動取得する方法とは?

先輩、どうしてもスプレッドシートのGIDが何か分からなくて…。GIDを自動で取得する方法とかってあるんですか?
猫男
猫男
catman
catman
それなら、catmanに任せておけ。スプレッドシートのGID取得も便利な関数を使えば簡単にできるさ。

 

スプレッドシートのGIDとは何か?

GIDはGoogle スプレッドシートの各シートタブに割り当てられている一意の識別子です。

通常、URLの中に見つかる。例えばスプレッドシートのURLが以下のようなものだとします。

https://docs.google.com/spreadsheets/d/スプレッドシートID/edit#gid=123456789

この123456789がGIDです。しかし、毎回手動で確認するのは面倒です。そこで、GASを使ってGIDを自動で取得できます。

 

GIDを自動で取得する方法

まずはスクリプトエディタを開こう

GAS(Google Apps Script)を利用するには、まずスプレッドシートの「拡張機能」から「スクリプト エディタ」を開きます。

GIDを取得するスクリプトを書いてみよう

以下に示すコードをスクリプトエディタにコピーしましょう。


function getSheetGIDs() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheets = spreadsheet.getSheets();
  var result = {};

  sheets.forEach(function(sheet) {
    result[sheet.getName()] = sheet.getSheetId();
  });

  Logger.log(result);
}

このスクリプトは、現在開いているスプレッドシート内の全シートのGIDを取得してログに記録します。

  • getActiveSpreadsheet():現在のスプレッドシートを取得する関数です。
  • getSheets():スプレッドシート内の全てのシートを配列で取得します。
  • getName():シートの名前を取得します。
  • getSheetId():シートのGIDを取得します。
このスクリプトで、全てのシートのGIDが自動で取得できるんですね!
猫男
猫男
catman
catman
その通り。手動でURLを確認する手間が省けるのさ。次はこのGIDを活用してみよう。

 

GIDを活用した自動化

GIDを取得したら、次はスプレッドシートをさらに効果的に管理するための自動化も考えてみましょう。

GIDを使ったシートの特定操作

取得したGIDを活用して、特定のシートに対する操作を自動化できます。たとえば、特定シートの更新やデータ移行です。


function updateSheetByGID(sheetGID) {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getSheets().find(function(sheet) {
    return sheet.getSheetId() === sheetGID;
  });

  if (sheet) {
    // シートに対する処理を記述
    sheet.getRange('A1').setValue('Updated');
  } else {
    Logger.log('GIDに該当するシートが見つからない。');
  }
}

このスクリプトでは、指定されたGIDのシートを検索し、見つかれば「A1」セルに「Updated」と入力する例です。

なるほど、GIDを使えば特定のシートだけに操作を加えることもできるんですね。
猫男
猫男
catman
catman
そうだ。GIDをひとつの手がかりにして、スプレッドシートの可能性をさらに広げていくんだ。

スプレッドシートの管理と自動化は、GIDをマスターすることから始まります。これを機に、スプレッドシートの効率的な管理を考えてみてください。GASを駆使することで、あなたの作業は大いに改善されること間違いありません。

EARTHPG 自動化研究所

「その作業、仕組みにできます。」

Google Apps Script、Python、スプレッドシート自動化、WordPress開発、 API連携、AI活用まで対応。 小さな自動化から業務全体の設計まで、研究所が支援します。