OfficeType

Excel~取得したシート名をセルに表示しよう~エクセル

セルにシート名を表示する方法を解説します。

下の関数を適当なセルに入力するとそのシートのシート名が表示されます。

=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))

image-01

image-02

説明

RIGHT(文字列、[文字数])で文字列の右から文字数ぶんの文字列を取り出します。

今回、文字列に代入されているのはCELL("filename",A1)でシート名がパス形式で例としてC:\Users\username\Desktop\[ファイル名]シート名のように表示されます。

文字数に代入されているのがLEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))になります。

LEN関数はLEN(文字列)で文字列の文字数を返します。LEN(CELL("filename",A1))で文字列に代入されているのがCELL("filename",A1)で上で説明したC:\Users\username\Desktop\[ファイル名]シート名のような文字列が返るので、C:\Users\username\Desktop\[ファイル名]シート名という文字列の文字数が返ります。

FIND関数はFIND("探したい文字",文字列)で探したい文字が文字列の左から何番目か返します。FIND("]",CELL("filename",A1))は探したい文字に代入さているのが]で文字列に代入さているのがCELL("filename",A1)になるのでCELL("filename",A1)で返されるC:\Users\username\Desktop\[ファイル名]シート名の中で]が左から何番目にあるか返します。

つまりこの式はC:\Users\username\Desktop\[ファイル名]シート名の文字列の文字数から文字列の左から]までの文字数を引くことを意味します。これでシート名の文字数が求まります。

文字列と文字数が揃うのでRIGHT関数からシート名が取り出せます。