公式資料を参照して構成した手順です。本記事の操作・コードの実行は未確認です。小さな入力例で期待結果を確かめてから利用してください。
できあがるもの
出力は見出し1行と実行前のシート数ぶんの行です。売上は4行2列、メモは1行1列となり、非表示状態はTRUEまたはFALSEで表示されます。
始める前に
- ブラウザ版Googleスプレッドシートの編集権限と紐付きApps Script
- コピーした検証用ファイルで実行。Apps ScriptはV8ランタイムを利用
- 対象ファイルはシート数100枚以内、出力先「シート一覧」は未作成
入力例
検証用ファイルに「売上」(A1:B4を使用)と「メモ」(A1だけを使用)の2シートを用意します。シート数は実際の構成で変わります。
手順
- 検証用ファイルをコピーし、使っていないシートを消す前の記録として利用します。非表示シートも権限があれば一覧に含まれるため、出力の共有先は原本と同じ範囲で管理します。
- 以下をスクリプトへ貼り付けて保存します。独立した例なので、ほかの記事の同名関数があるプロジェクトには混ぜません。 /** @OnlyCurrentDoc */ function inventorySheets() { const ss=SpreadsheetApp.getActive(), sheets=ss.getSheets(); if(ss.getSheetByName('シート一覧') || sheets.length>100) throw Error('シート数・出力名を確認'); const rows=[['シート名','使用行','使用列','非表示']]; for(const s of sheets) rows.push(["'"+s.getName(),s.getLastRow(),s.getLastColumn(),s.isSheetHidden()]); const out=ss.insertSheet('シート一覧'); out.getRange(1,1,rows.length,4).setValues(rows); out.setFrozenRows(1); }
- inventorySheetsを手動実行して、初回の権限を確認します。売上の使用行が4、使用列が2、メモが1と1になるか確認してください。
- 一覧は実行前のシート構成を取るため、新しく作るシート一覧自身は含みません。再調査する場合は既存一覧を保管または削除し、実行日を一覧の外に記録してください。
期待結果と照合する
出力は見出し1行と実行前のシート数ぶんの行です。売上は4行2列、メモは1行1列となり、非表示状態はTRUEまたはFALSEで表示されます。
まずこの入力例で確認し、件数や値が一致しているかを見ます。完了表示だけで判断せず、重複・空欄・対象外データも残っていないか確認してください。
うまくいかないとき
- getLastRowとgetLastColumnは内容のある末端を示し、配置可能な最大行列数やファイル容量とは異なります。
- 数式が空文字を返すセルも使用範囲に影響するため、見た目の空白と一致しないことがあります。
止める・元に戻す
シート一覧だけを削除して関数を外します。元シートの名前や表示状態、データは変更していません。
公式資料・対応範囲
参照日:2026-10-17。公式資料の一般的な機能説明と、本記事固有の入力例の実行検証は別です。実務での短縮時間や効果は未計測です。