しごと自動化レシピ

WORK RECIPE GAS

名前付き範囲の参照先を一覧へ記録する

ブックに登録された名前付き範囲を、シート名とセル範囲の一覧へまとめます。数式を直す前の棚卸しに使い、範囲の名称変更や削除はせずに参照先だけを確認します。

実行確認の記録なし

公式資料を参照して構成した手順です。本記事の操作・コードの実行は未確認です。小さな入力例で期待結果を確かめてから利用してください。

できあがるもの

範囲一覧には登録された名前ごとに1行ができます。サンプルの単価表は価格シートのB2:B3と表示され、登録内容は変わりません。

始める前に

  • ブラウザ版Googleスプレッドシートの編集権限と紐付きApps Script
  • コピーした検証用ファイルで実行。Apps ScriptはV8ランタイムを利用
  • 対象の名前付き範囲は200個以内
  • 出力先「範囲一覧」は未使用、検証用名前付き範囲を1個用意
入力例

「価格」シートA1:B3に商品表を作り、B2:B3へ「単価表」という名前付き範囲を登録します。

手順

  1. 検証用コピーでデータの名前付き範囲を開き、単価表が価格!B2:B3を指しているか確認します。名前のついたセルを移動した履歴がある場合も、一覧取得前には直さず現状を残します。
  2. 次の完全なコードをスクリプトへ貼り付けて保存します。他の記事の同名関数があるプロジェクトには混ぜません。 /** @OnlyCurrentDoc */ function namedRangeAudit() { const ss=SpreadsheetApp.getActive(), names=ss.getNamedRanges(); if(ss.getSheetByName('範囲一覧') || names.length>200) throw Error('出力名・件数を確認'); const out=[['名前','シート','セル範囲']]; for(const n of names) { const r=n.getRange(); out.push(["'"+n.getName(),"'"+r.getSheet().getName(),r.getA1Notation()]); } ss.insertSheet('範囲一覧').getRange(1,1,out.length,3).setValues(out); }
  3. namedRangeAuditを手動実行して対象ファイルの権限を確認します。範囲一覧に単価表・価格・B2:B3が出るか確認してください。
  4. 一覧の範囲と実際の見出しを突き合わせ、想定より広すぎる参照がないか目視で点検します。修正する場合は依存する数式を別途調べてから行い、このコードからは名前を変更しません。

期待結果と照合する

範囲一覧には登録された名前ごとに1行ができます。サンプルの単価表は価格シートのB2:B3と表示され、登録内容は変わりません。

まずこの入力例で確認し、件数や値が一致しているかを見ます。完了表示だけで判断せず、重複・空欄・対象外データも残っていないか確認してください。

うまくいかないとき

  • 名前が何を意味するかまではコードで判断しません。想定の用途と照合するための台帳です。
  • 一覧を取得した後に名前付き範囲を編集しても自動更新しません。再取得時は前回一覧を保管してください。

止める・元に戻す

範囲一覧を削除し、namedRangeAudit関数を外します。検証で作った単価表の登録も不要なら名前付き範囲の画面から削除します。

公式資料・対応範囲

参照日:2026-10-17。公式資料の一般的な機能説明と、本記事固有の入力例の実行検証は別です。実務での短縮時間や効果は未計測です。

同じツールで試す

GASの記事一覧へ →