いつもググってるのが面倒なので、よく使うものをメモしておく。
知っておくと便利かも!?
シート名を取得
CELL関数、RIGHT関数、FIND関数、LEN関数 を駆使して。
以前はこのやり方だった。
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
…長い。
しかもCELL("filename",A1)が何度も出てきて見づらい。
数式に名前を付ける LET関数
変数を自由に定義できる LET 関数の存在を知り、↑の数式に使ってみたら・・・
=LET(ファイル名,CELL("filename",A1),RIGHT(ファイル名,LEN(ファイル名)-FIND("]",ファイル名)))
長いけど、日本語使えるので若干読みやすくなった。
区切り文字より後ろを取る TEXTAFTER関数
さらに、TEXTAFTER関数 なんて便利なものがあるのを知った!
使えばこんなにシンプルになることを知った!
=TEXTAFTER(CELL("filename",A1),"]"))
ちなみに、区切り文字より前を取りたい場合は TEXTBEFORE関数があるよ。
注意点:
- 後者2つはMicrosoft365 じゃないと使えない
- ファイルを保存しないと CELL("filename",A1) が機能しない
- Excel Web版では CELL("filename",A1) 自体が使えない
話は少し反れますが・・・
VBAにはなってしまうのだけれど、
- マクロ登録など不要
- Alt+F11でVBE起動 → イミディエイトウィンドウに貼り付けてEnterキー押下するだけ
で アクティブなExcelファイルにあるシート名一覧が取れるので便利。
For Each i In ThisWorkbook.Sheets: debug.print i.name : next i
≪参考サイト≫