Googleスプレッドシートには、セルとシート名を連動させる機能が搭載されています。例えば、47都道府県別にシートを細分化したいときなど、シート数が多くなるときに活用するのがおすすめです。セルの文字列を取得して自動的にシート名を変更したり、シート名をセルに自動入力したりできるため、検索にも便利です。
この記事では、Googleスプレッドシートでセルとシート名を連動させる方法を解説します。シート名の自動化・検索にも対応しているので、活用してみましょう。
Googleスプレッドシートでシート名をセルに表示させる基本項目
Googleスプレッドシートでは、シート名に入力した内容を自動でセルに表示できます。下記で基本的な概要を解説します。
シート名をセルに表示させる利点
シート名をセルに表示させる利点として、下記が挙げられます。
- シート名をセルに移す面倒な手入力を防げるため、業務効率化につながる
- 手入力することで生じる人為的なミスを予防できる
- シート名とセルの情報が連動するため、変更時の手間がかからない
シート名をセルに再入力する手間を省けるため業務効率化につながるだけでなく、ミスの予防にも役立ちます。シート名を変更すればセルの情報も自動で変更されるよう連動でき、「シート名は変更したのにセルは変更し忘れた」などのミスを防げるのもポイントです。シート名が多くなりそうなときにこそ、活用しましょう。
シート名をセル表示させるときに必要な準備
シート名をセル表示させるときには、シート名をあらかじめ設定しておくことが欠かせません。シート名に沿ってセル内容が入力されるため、シート名が設定されていないと「シート1」「シート2」などGoogleスプレッドシート上の初期表示のままになってしまいます。
ただし、シート名は後から変えることが可能です。まずはシート名とセルを連動させ、後からシート名を編集するなど工夫すれば、必ずしも事前の設定が必要なわけではありません。
シート名取得・表示方法:手順を解説
【1】「拡張機能」タブ内にある「Apps Script」を選択します。ここでGAS(Google Apps Script)の設定ができます。GAS(Google Apps Script)とは、Googlel社が開発・提供しているプログラミング言語であり、Googleアカウントを保有している方であれば無料で使えます。
【2】スクリプトエディタに下記のコードを入力します。「sheetname() 」の部分が、シート名の取得に使える表記です。その後、「実行」をクリックします。
function sheetname() {
スプレッドシート名をセルに返す
return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();}
【3】「実行」ボタンをクリックしたとき、「承認が必要です」と表示された場合、権限の確認に進みます。
【4】自分のGoogleアカウントをクリックします。
【5】「このアプリはGoogleで確認されていません」と表示された場合、「詳細」をクリックします。
【6】「無題のプロジェクト(安全ではないページ)に移動」をクリックすると、スクリプトの実行権限が付与されます。
【7】Googleスプレッドシートのシート画面に戻り、「=sheetname()」 を入力すると、現在のシート名が取得できます。
セルの値をシート名に反映させる方法
【1】「拡張機能」タブ内にある「Apps Script」を選択します。
【2】スクリプトエディタに下記のコードを入力します。「cellvalueSheetname()」の部分が、セル名の取得に使える表記です。その後、「実行」をクリックします。
function cellvalueSheetname(){
行:1,列:1 のセルのテキストを取得、変数「cellvalue」に代入
let cellvalue = SpreadsheetApp.getActiveSheet().getRange(1,1).getValue();
シート名を変数「cellvalue」に代入されたテキストに変更
SpreadsheetApp.getActiveSheet().setName(cellvalue); }
【3】「実行」ボタンをクリックしたとき、「承認が必要です」と表示された場合、権限の確認に進みます。
【4】自分のGoogleアカウントをクリックします。
【5】「このアプリはGoogleで確認されていません」と表示された場合、「詳細」をクリックします。
【6】「無題のプロジェクト(安全ではないページ)に移動」をクリックすると、スクリプトの実行権限が付与されます。
【7】指定したセルに入力した値が、そのままシート名に反映されます。
未経験からIT・Webエンジニアを目指すなら【ユニゾンキャリア】
シート名を指定して特定セルの情報を反映させる方法
シート名を指定し、特定セルの情報を反映させたいときはINDIRECT関数を使用します。INDIRECT関数とは、文字列を使ってセル参照をする関数です。現在見ているシート上のセルだけでなく、他シートのセルも参照することができるため、複数シートにまたがる情報を統合したいときに便利です。
【1】情報を入力したいセル上に、INDIRECT関数を入力します。「=INDIRECT(B3&”!G3″)」で、「B3名と合致するシートのG3に入力されている数値を反映する」という意味です。
【2】B3のシート名は現在のシート、G3は2023年4月1日の売上を示す「354」が入力されています。そのため、INDIRECT関数に従って「354」が自動入力されます。
関連記事:【初心者向け】Googleスプレッドシートの使い方を簡単に解説!
他の方法でシート名を活用するアイディア
Googleスプレッドシートのシート名は、他の方法で活用することも可能です。ここでは代表的なアイディアを紹介するので、活用してみましょう。
シート名を検索・一覧表示で活用
【1】「拡張機能」タブ内にある「Apps Script」を選択します。
【2】スクリプトエディタに下記のコードを入力します。「getSheetName()」の部分が、シート名の連続取得の取得に使える表記です。その後、「実行」をクリックします。
function getSheetName(){
//A,使用するスプレッドシートの定義
const activeSheet = SpreadsheetApp.getActiveSpreadsheet().getSheets();
const sheetLen = activeSheet.length;
//B,シート名を1つずつ取得
for(var i=0; i<sheetLen; i++){
Logger.log(activeSheet[i].getSheetName());
}
}
【3】実行ログを確認すると、シート名を一覧で取得できているのがわかります。
GASでシート名を変更する方法
【1】「拡張機能」タブ内にある「Apps Script」を選択します。
【2】スクリプトエディタに下記のコードを入力します。「changeSheetName()」の部分が、シート名の変更に使える表記です。今回はシート名を「東京都」に指定するようコードを入力し、「実行」をクリックします。
function changeSheetName() {
//スクリプトに紐づくスプレッドシートのアクティブなシートを取得
let mySheet = SpreadsheetApp.getActiveSheet();
//取得したアクティブなシートのシート名を取得
let sheetName = mySheet.getSheetName();
//シート名をログ出力
console.log(“シート名は ” + sheetName + “です。”);
//GASでスプレッドシートのシート名を変更
mySheet.setName(“東京都”);
//再度シート名をログ出力
console.log(“シート名は ” + mySheet.getSheetName() + “です。”);
}
【3】シート名が、指定した名称に変わっています。
関連記事:GASを利用したスプレッドシートでURLを取得する関数を紹介!
よくある質問
Googleスプレッドシートのセルとシート名の連携に関して「よくある質問」を紹介します。
スプレッドシートでファイル名をセルに表示するには?
【1】「拡張機能」タブ内にある「Apps Script」を選択します。
【2】スクリプトエディタに下記のコードを入力します。「GET_FILE_NAME()」の部分が、ファイル名を取得するのに使える表記です。
// スプレッドシートのファイル名を取得
function GET_FILE_NAME()
{
return SpreadsheetApp.getActiveSpreadsheet().getName();
}
// スプレッドシートのシート名を取得
function GET_SHEET_NAME()
{
return SpreadsheetApp.getActiveSpreadsheet().getSheetName();
}
【3】セルに「=GET_FILE_NAME()」と入力すると、そのGoogleスプレッドシートのファイル名が自動入力されます。
【4】セルに「=GET_SHEET_NAME()」と入力すれば、今開いているシート名を自動入力することも可能です。
Excelで使えるCELL関数は使えませんか?
Excelでは、指定したセルに関する情報を取得できるCELL関数が使えます。セルの書式・位置・内容などさまざまな情報を返してくれる便利な関数であり、Googleスプレッドシートでも使えます。
ただし、情報の種類を表す言葉「filename」がGoogleスプレッドシートにないため、シート名の取得には使えないので注意しましょう。そのため、Googleスプレッドシートでシート名を自動取得したい場合、GASでスクリプトコードを作成する必要があります。
まとめ
Googleスプレッドシートにはシート名をセルに反映させたり、セルの内容をシート名に反映させたりする機能が搭載されています。GASの設定が必要なので手間に感じられるかもしれませんが、一度設定してしまえばセルやシートの内容を変更しても自動で反映されるので、業務効率化に最適です。
面倒な手入力や変更作業を短縮したいときに、活用してみましょう。
シート名をセルに表示する自動連携に関する重要用語
用語 | 意味 |
GAS | Google Apps Scriptの略称。Googleが開発・提供しているアプリケーション開発プラットフォーム。Googleスプレッドシート上の「Apps Script」から開ける。 |
スクリプトエディタ | GASのスクリプトを記述できる場所。スクリプトやツールの作成だけでなく、アプリケーション作成にも活用可能。 |
スクリプト | スクリプト言語で記述されたプログラムのことで、記述から即実行が可能。 |
INDIRECT関数 | 文字列を使ってセル参照をする関数。現在見ているシート上のセルだけでなく、他シートのセルも参照することも可能。 |