スプレッドシートでシート名を取得する方法!

スプレッドシートでシート名を取得する方法!

Googleスプレッドシートで、表示中のシートの名前や他のシート名を取得したいと思ったことはありませんか?シート名を取得するには、Google Apps Scriptを用いましょう。この記事では、スプレッドシートでシート名を取得する方法をご紹介しています。


目次[非表示]

  1. スプレッドシートでシート名を取得したい
  2. スプレッドシートでシート名を取得する方法

スプレッドシートでシート名を取得したい

Googleスプレッドシートで、現在表示しているシートのシート名や他のシート名を取得したいと思ったことはありませんか?Excelでは「CELL関数」と他の関数を組み合わせてシート名を取得することができますが、スプレッドシートではCELL関数と組み合わせる関数の検査の種類で「filename」を選択できないのでシート名を取得することができません。

ですが「Google Apps Script(GAS)」を使用して、独自の関数を作成することでシート名を取得することができますよ。この記事では、スプレッドシートでシート名を取得する方法をご紹介していきます。

スプレッドシートでシート名を取得する方法

表示中のシート名を取得する方法

「拡張機能」タブをクリック→「Apps Script」をクリック
それでは、スプレッドシートで現在表示中のシート名を取得する方法を説明します。まずはウィンドウ上部の「拡張機能」タブをクリックしてメニューを開き、「Apps Script」をクリックしましょう。
下記スクリプトを入力し保存ボタンをクリック
新しいタブでApps Scriptが開くので、下記のスクリプトを入力してから画面上部の保存ボタン(フロッピーディスクのアイコン)をクリックして保存しましょう。
function GET_CURRENT_SHEET_NAME()
{
  return SpreadsheetApp.getActiveSheet().getName();
}

※1行目の「GET_CURRENT_SHEET_NAME()」は自作の関数で問題ないので、分かりやすい名前を付ければOKです。

シート名を表示させたいセルに「=GET_CURRENT_SHEET_NAME()」と入力
スプレッドシートに戻ったら、シート名を表示させたいセルに「=GET_CURRENT_SHEET_NAME()」と入力しましょう。これで、現在表示しているシート名を参照して取得することができますよ。

指定したシート名を取得する方法

上記の方法では表示中のシート名を取得できますが、表示しているシート以外のシート名を取得したいというケースもありますよね。この場合も、Apps Scriptで独自の関数を使用してシート名を取得しましょう。

「拡張機能」タブをクリックし「Apps Script」をクリック
スプレッドシートの画面上部の「拡張機能」タブをクリックして、メニューの「Apps Script」をクリックしましょう。
下記のスクリプトを入力し保存ボタンをクリックして保存
新しいタブでApps Scriptが開くので、下記のスクリプトを入力してから画面上部の保存ボタン(フロッピーディスクのアイコン)をクリックして保存しましょう。
function GET_SHEET_NAME(sheet_no)
{
  return SpreadsheetApp.getActive().getSheets()[sheet_no - 1].getSheetName();
}

※1行目の「GET_SHEET_NAME」は自作の関数で問題ありませんが、()の中身は変更しないようにしましょう。

表示したいセルに「GET_SHEET_NAME(1)」と入力
スプレッドシートに戻ったら、セルに「GET_SHEET_NAME(1)」と入力しましょう。すると、1番目のシートの名前を参照して取得することができますよ。
複数のシートを用意した
今回はこのように他のシートを用意しているので、これらのシートの名前も取得していきます。そのまま他のセルに「GET_SHEET_NAME(2)」・「GET_SHEET_NAME(3)」・「GET_SHEET_NAME(4)」と続けて入力してシート名を取得していきましょう。
下方向にシート名を取得できた
下方向に独自関数を使用してシート名を取得していき、A4セルには「GET_SHEET_NAME(4)」と入力して4つ目のシート名を取得しています。これで、シート名を一覧にすることができました。

関連記事