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