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"));
}
このコードを実行すると、スクリプトエディタの「ログ」タブにすべてのシート名が表示されます。
今すぐ解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良...もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
今回は、Googleスプレッドシートでシート名を取得・表示する方法について解説しました。Google Apps Scriptを使うことで、シート名をセルに表示したり、他のシートの情報を参照したりすることができます。これらの方法を活用して、スプレッドシートの管理をより効率的に行ってみてください。
他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。
コメント