雪国の技術的な夏

プログラミング的な話や特定のツール設定の話など。 ※ただし変態に限る。

(Excel)自シート名を取る(確信)

特定条件NGなやつ

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

[懸念点]
・パスに「[xxx]」と中かっこ [] があると正しく取れない。
 ※Excel仕様でファイル名に使われてたりするため


OKなやつ

=MID(CELL("filename",A1),  FIND("|",SUBSTITUTE(CELL("filename",A1),"]","|",LEN(CELL("filename",A1))-LEN(SUBSTITUTE(CELL("filename",A1),"]",""))))+1, 256)

末尾検索(末尾置換)の手法+パスに使えない"|"を混ぜ込むことにより
正しくシート名のみを取得する。