GoogleAppsScript

【無料配布】Googleスプレッドシートのシート名の一覧を取得する機能を開発しました【GAS】

こんにちは!今回はGoogle Apps Script(GAS)を使用して、Googleスプレッドシートのシート名を一覧で取得する機能を開発しましたので、無料で皆さんに配布いたします!

GASを利用すれば、面倒な手作業を省くことができます。シート名を一覧で取得する手法も便利なことこの上ありません!どんな状況でも、シート名をすばやく把握できるようになりますよ。

「シート名を全てチェックするなんて手間だ…」と感じたことはありませんか?そんな方にこそ、この無料の機能をご利用いただきたいです。

記事の最後にスクリプトの解説もしておりますので、ぜひご覧ください。

こんな方におすすめ!

  • シート名を一つ一つチェックする手間を省きたい方
  • GASを使ったことがない初心者の方
  • スプレッドシートの作業を効率化したい方
  • シート名の一覧を簡単に取得したい方

シート名の一覧取得機能の特徴

Googleスプレッドシートのシート名を一覧で取得し、上記の画像のように指定したシートに表示することができます。

この機能を利用することで、手動でシート名を確認する手間を省くことができます!

シンプルな操作で簡単にシート名の一覧を取得できるので、スプレッドシートの管理がグッと楽になりますよ。

おすすめポイント

  1. シンプルな操作:ボタンをクリックするだけでシート名の一覧を取得できます。
  2. 画像付き解説:具体的な操作手順をわかりやすく解説していますので、初心者の方も安心です。

シート名の一覧取得機能を無料共有しています

さらに嬉しいことに、シート名の一覧取得機能は無料で共有しています!

利用料金は一切かかりませんので、ぜひお試しください。

下記よりアクセスできます↓

【GASコピ!】シート名一覧表示 – Google スプレッドシート

機能付きスプレッドシートのコピー方法

1.「ファイル>コピーを作成」を選択します

2. 「スプレッドシートの保存先のフォルダを選択>コピーを作成」を選択します

「添付されているAppsScriptファイル」は変更せずにそのままコピーしてください。

シート名の一覧取得機能の承認手続き

スクリプト起動のための承認作業を行います

ポップアップが表示されたら、続行を選択

次のポップアップが表示されたら、あなたのGoogleアカウントを選択してください

次のポップアップが表示されたら、「詳細」をクリックしてください

※「安全なページに戻る」を押すと承認作業が終了してしまうので、クリックしないようにご注意ください

ポップアップの下部に「(安全ではないページ)に移動」が表示されたら、クリックしてください

次のポップアップが表示されたら、「許可」をクリックしてください

これで承認手続きは完了です。

設定はすべて終わりましたので、後はスクリプトを実行するだけです!

シート名の一覧取得機能の使い方

以上のシートの準備がすべて終わりましたら、後はもう一度スクリプトを実行するだけです!

実行結果は以下の通りです。非常に簡単に更新することができます。

スプシを開く度に自動取得する方法を紹介

スプレッドシートを開く度に自動的に一覧を取得できると便利ですよね。

そんな機能が実はApps Scriptのデフォルトの環境で用意されております。

まずは、「拡張機能>Apps Script」を選択してください。

すると、スクリプトのエディター画面が表示されます。

次に、画面左側の時計マークの「トリガー」を選択してください。

トリガー設定画面に移りましたら、「トリガーを追加」を選択し、以下の手順で設定をを行ってください。

トリガーの追加手順

  1. 実行する関数を選択:「updateSheetNames」を選択してください。
  2. イベントのソースを選択:「スプレッドシートから」を選択してください。
  3. イベントの種類を選択:「起動時」を選択してください
  4. 上記の設定が完了したら、「保存」をクリックします。

これで設定はすべて完了です。

この設定をした後に、このスプレッドシートを開くと自動的に「シート名一覧」が更新されます。

トリガーは便利な機能ですので、ぜひ使い方を覚えてもらえればと思います。

シート名の一覧取得機能のGASスクリプトの解説

それでは、シート名の一覧取得のスクリプトの仕組みを確認していきましょう。

function updateSheetNames() {
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  const sheetNames = spreadsheet.getSheets().map(function(sheet) {
    return sheet.getName();
  });

  const indexSheet = spreadsheet.getSheetByName("シート名一覧");
  const lastRow = indexSheet.getLastRow();

  // 「シート名一覧」シートが空の場合は処理を終了
  if (lastRow > 0) {
    indexSheet.getRange(1, 1, lastRow, 1).clearContent(); // シートの内容を一旦消す
  }

  const filteredSheetNames = sheetNames.filter(function(name) {
    return name !== "シート名一覧"; // 表示させないシート名をここに指定
  });

  // filteredSheetNamesが空の場合は処理を終了
  if (filteredSheetNames.length === 0) {
    return;
  }

  indexSheet.getRange(1, 1, filteredSheetNames.length, 1).setValues(filteredSheetNames.map(function(name) {
    return [name];
  }));
}

1. スプレッドシートのシート名を取得する

const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const sheetNames = spreadsheet.getSheets().map(function(sheet) {
  return sheet.getName();
});

スクリプトが動作しているスプレッドシートのシート名をすべて取得しています。getSheets()メソッドにより、スプレッドシート内のすべてのシートを取得し、map()メソッドを使って各シートの名前をsheetNamesという配列に格納しています。

2. シート名一覧シートを取得して内容をクリアする

const indexSheet = spreadsheet.getSheetByName("シート名一覧");
const lastRow = indexSheet.getLastRow();

// 「シート名一覧」シートが空の場合は処理を終了
if (lastRow > 0) {
  indexSheet.getRange(1, 1, lastRow, 1).clearContent(); // シートの内容を一旦消す
}

シート名一覧を表示するための「シート名一覧」という名前のシートを取得しています。そして、すでにシートにデータがある場合はそれをクリア(削除)しています。これにより、新しいシート名一覧を作成するための準備をします。

3. 表示させないシート名をフィルタリングする

const filteredSheetNames = sheetNames.filter(function(name) {
  return name !== "シート名一覧"; // 表示させないシート名をここに指定
});

すべてのシート名を取得したsheetNames配列から、「シート名一覧」という名前のシートを除外します。これにより、シート名一覧に表示させたくないシート名がフィルタリングされたfilteredSheetNames配列が得られます。

4. シート名一覧シートにフィルタリングされたシート名を書き込む

// filteredSheetNamesが空の場合は処理を終了
if (filteredSheetNames.length === 0) {
  return;
}

indexSheet.getRange(1, 1, filteredSheetNames.length, 1).setValues(filteredSheetNames.map(function(name) {
  return [name];
}));

フィルタリングされたシート名が格納されたfilteredSheetNames配列をシート名一覧シートに書き込みます。まず、filteredSheetNamesが空でないかを確認し、空であれば処理を終了します。空でない場合は、setValues()メソッドを使用してfilteredSheetNamesをシートに書き込みます。

まとめ

これらの処理により、スプレッドシート内のシート名を取得し、「シート名一覧」シートのみ除外して、一覧を更新する処理が行われます。

各部分の役割と処理の流れを解説は以上となります。

最後に

この記事では、Googleスプレッドシートのシート名の一覧を取得する機能を解説しました!

これにより、複数のシートがある大きなスプレッドシートを効率的に管理することができます。ぜひお試しください!

さらに、今後も便利なスクリプトやGoogleスプレッドシートの活用方法について、このブログで発信していきますので、お楽しみに!

もしご質問やご意見がありましたら、お気軽にコメント欄に書き込んでください。

皆さんのご意見を参考に、より使いやすいツールを提供していくことを心がけています。