1/15/2024

Excel。指定した文字の前後の文字列を手早く関数をつかって抽出するには。【character split】

Excel。指定した文字の前後の文字列を手早く関数をつかって抽出するには。

<TEXTBEFORE関数・TEXTAFTER関数>

入力されているメールアドレスから、ユーザー名とドメインをわけて抽出したい場合、どのようにしたら、効率よく、抽出することができるのでしょうか。


フラッシュフィルを使う方法もありますが、関数をつかって抽出するには、どのようにしたらいいのでしょうか。

TEXTBEFORE関数・TEXTAFTER関数

A列にメールアドレスが入力されています。


このメールアドレスのユーザー名(@より左側)をB列に抽出して、C列には、ドメイン(@より右側)を抽出したいわけです。


ユーザー名やドメイン名が同じ文字数ならば、LEFT関数やRIGHT関数をつかって抽出することができます。


ただ、同じ文字数ではありません。


そうなると都道府県を抽出するように「@」が何文字目にあって、その左側の文字数を算出してから、LEFT関数をつかって抽出するという方法があります。


今までは、このような方法で抽出していましたが、TEXTBEFORE関数とTEXTAFTER関数が登場したことで、数式の作り方が全く変わりました。


TEXTBEFORE関数・TEXTAFTER関数だけで、抽出することが可能になったからです。


B2には、

=TEXTBEFORE(A2,"@")

という数式を設定したら、オートフィルで数式をコピーします。


C2には、

=TEXTAFTER(A2,"@")

という数式を設定して、オートフィルで数式をコピーします。


たった、これだけで、@の前後の文字列を抽出することができました。


今までのように、@が何文字目にあるとか確認しなくてもいいわけですね。


どちらの関数も2つ目の引数に検索する文字を設定するだけです。