前文からしつこいようですが暑いですね!!
本当にここ北海道なんでしょうか!?
40℃超えた地域が出ましたよ!!
本来活発な時期であるはずの蝉の声も蚊の羽音も聞こえて来ないレベルです。
もはや札幌くらいでは避暑地を名乗れませんね…。
皆様はExcelでシート名の一部だけ取得したいと考えたことはありませんか?
例えばシート名の一部分が型番だったり、バージョンだったりの記載になっていて、同シートの中で切り出して使いたいとか。
この問題の解決にはREGEXEXTRACT関数をオススメします。
今回はシート名に「1-①」~「99-⑩」までのパターンが含まれる事を想定します。
記述としては以下の通りです。
=LET(
path, CELL("filename", A1),
sheetName, RIGHT(path, LEN(path) - FIND("]", path)),
REGEXEXTRACT(sheetName, "(?<!\d)\d{1,2}-[①-⑩]")
)
REGEXEXTRACT(sheetName, "(?<!\d)\d{1,2}-[①-⑩]")
(?<!\d)
整数以外なら指定したパターンの前に文字列があっても良いという記述です。
\d{1,2}
2桁整数なら良いという記述です。
最初は取っ付きずらいかもしれませんが、アルファベットや全角文字にも対応していて桁数の指定も出来るのでやり方次第では便利ですよ。
あとは正規表現でシート名のルールを決めて、この赤く塗った所に嵌め込んでテンプレートシートにします。
これで後々不味い段階になって「なんか命名ルールと違うの混ざってるぞ⁉」というミスが防げるんですね。
次はちゃんと楽しいネタ用意しておきたいです。
あと気まぐれでくっ付けてみた拝啓なのですがChatGPTに添削して貰ったところ、
「表現がクドイ」と言われました。
まだまだですね…………。
敬具
0 件のコメント:
コメントを投稿