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

Googleスプレッドシートで、現在表示しているシートのシート名や他のシート名を取得したいと思ったことはありませんか?Excelでは「CELL関数」と他の関数を組み合わせてシート名を取得することができますが、スプレッドシートではCELL関数と組み合わせる関数の検査の種類で「filename」を選択できないのでシート名を取得することができません。
ですが「Google Apps Script(GAS)」を使用して、独自の関数を作成することでシート名を取得することができますよ。この記事では、スプレッドシートでシート名を取得する方法をご紹介していきます。
スプレッドシートでシート名を取得する方法
表示中のシート名を取得する方法

それでは、スプレッドシートで現在表示中のシート名を取得する方法を説明します。まずはウィンドウ上部の「拡張機能」タブをクリックしてメニューを開き、「Apps Script」をクリックしましょう。

新しいタブでApps Scriptが開くので、下記のスクリプトを入力してから画面上部の保存ボタン(フロッピーディスクのアイコン)をクリックして保存しましょう。
function GET_CURRENT_SHEET_NAME()
{
return SpreadsheetApp.getActiveSheet().getName();
}
※1行目の「GET_CURRENT_SHEET_NAME()」は自作の関数で問題ないので、分かりやすい名前を付ければOKです。

スプレッドシートに戻ったら、シート名を表示させたいセルに「=GET_CURRENT_SHEET_NAME()」と入力しましょう。これで、現在表示しているシート名を参照して取得することができますよ。
指定したシート名を取得する方法
上記の方法では表示中のシート名を取得できますが、表示しているシート以外のシート名を取得したいというケースもありますよね。この場合も、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)」と入力しましょう。すると、1番目のシートの名前を参照して取得することができますよ。

今回はこのように他のシートを用意しているので、これらのシートの名前も取得していきます。そのまま他のセルに「GET_SHEET_NAME(2)」・「GET_SHEET_NAME(3)」・「GET_SHEET_NAME(4)」と続けて入力してシート名を取得していきましょう。

下方向に独自関数を使用してシート名を取得していき、A4セルには「GET_SHEET_NAME(4)」と入力して4つ目のシート名を取得しています。これで、シート名を一覧にすることができました。