Googleスプレッドシートを使っていると、シート名をセルに表示したり、他のシートの情報を参照したりする場面が増えてきますよね。今回は、そんなときに役立つ「シート名を取得する方法」を、初心者の方にもわかりやすく解説します。
シート名をセルに表示する方法
Googleスプレッドシートには、標準でシート名を取得する関数がありません。しかし、Google Apps Script(GAS)を使うことで、独自の関数を作成し、シート名をセルに表示することができます。
手順1スクリプトエディタを開く
1. スプレッドシートを開きます。
2. メニューから「拡張機能」>「Apps Script」を選択します。
手順2コードを入力する
スクリプトエディタが開いたら、以下のコードを入力します。
javascript
function sheetname() {
return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}
手順3スクリプトを実行する
1. 上部の「実行」ボタンをクリックします。
2. 初めて実行する場合、権限の承認が求められます。指示に従って承認してください。
手順4シート名をセルに表示する
スプレッドシートに戻り、任意のセルに以下の関数を入力します。
=sheetname()
これで、そのセルに現在のシート名が表示されます。
シート名を自動でセルに反映させる方法
複数のシートを扱っていると、シート名を手動で入力するのが面倒になることがあります。そこで、セルの内容をシート名として自動で反映させる方法をご紹介します。
手順1スクリプトエディタを開く
前述の手順でスクリプトエディタを開きます。
手順2コードを入力する
以下のコードを入力します。
javascript
function writeSheetNameToCell() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange("").setValue(sheet.getName());
}
このコードは、現在のシート名をセルに自動で入力するものです。必要に応じて、セルの位置(例`sheet.getRange(“B2”)`)を変更してください。
手順3スクリプトを実行する
1. 上部の「実行」ボタンをクリックします。
2. 初めて実行する場合、権限の承認が求められます。指示に従って承認してください。
手順4トリガーを設定する(任意)
シートを編集するたびに自動でシート名を反映させたい場合、トリガーを設定します。
1. スクリプトエディタで「時計アイコン」(トリガー)をクリックします。
2. 「トリガーを追加」をクリックし、以下の設定を行います。
* 実行する関数`writeSheetNameToCell`
* イベントの種類`編集時`または`変更時`
3. 「保存」をクリックします。
これで、シートを編集するたびにセルにシート名が自動で反映されるようになります。
他のシートのセルを参照する方法
複数のシートを扱っていると、他のシートの情報を参照したくなることがあります。Googleスプレッドシートでは、`INDIRECT`関数を使って他のシートのセルを参照することができます。
例他のシートのセルを参照する
例えば、シート名が「2023年4月」のセルの値を参照したい場合、以下のように入力します。
=INDIRECT("'2023年4月'!")
このように、`INDIRECT`関数を使うことで、他のシートの情報を簡単に参照することができます。
よくある質問や疑問
Q1: シート名にスペースや特殊文字を含めても大丈夫ですか?
はい、シート名にはスペースや特殊文字を含めても問題ありません。ただし、`INDIRECT`関数を使って参照する際には、シート名をシングルクォーテーション(`’`)で囲む必要があります。
Q2: シート名を変更した場合、セルの内容は自動で更新されますか?
はい、セルに表示されたシート名は、シート名を変更すると自動で更新されます。ただし、`INDIRECT`関数で参照している場合、シート名が変更されると参照エラーが発生することがありますので、注意が必要です。
Q3: 複数のシート名を一覧で表示する方法はありますか?
はい、Google Apps Scriptを使って、スプレッドシート内のすべてのシート名を一覧で表示することができます。以下のコードをスクリプトエディタに入力し、実行してみてください。
javascript
function listSheetNames() {
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var sheetNames = ;
for (var i = 0; i < sheets.length; i++) {
sheetNames.push(sheets.getName());
}
Logger.log(sheetNames.join("n"));
}
このコードを実行すると、スクリプトエディタの「ログ」タブにすべてのシート名が表示されます。
まとめ
今回は、Googleスプレッドシートでシート名を取得・表示する方法について解説しました。Google Apps Scriptを使うことで、シート名をセルに表示したり、他のシートの情報を参照したりすることができます。これらの方法を活用して、スプレッドシートの管理をより効率的に行ってみてください。
他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。



コメント