【Googleスプレッドシート | ノート】 セル内から特定の文字列を抜き出す方法(REGEXEXTRACT関数)

スポンサーリンク

セル内から特定の文字列を抜き出す方法

前回、以下の記事でセル内かた特定の文字列を抜き出す方法を紹介しました。

記事内でも色々方法があるとは書いていますが、今回は別の方法で同じように特定の文字列を抜き出す方法を紹介したいと思います!

下記の記事で紹介している正規表現を利用したREGEXEXTRACT関数で抜き出す方法です。

※正規表現が分からないという方は、下記の記事に紹介していますのでそちらから初めてください。

【Googleスプレッドシート | EXCELには無いシリーズ】スプレッドシート関数で正規表現使えるよ!
Googleスプレッドシートで正規表現が使える関数! 以前に、スプレッドシートのクエリ関数で正規表現を使う方法を紹介させていただきました。 実はクエリ関数だけでなく、スプレッドシート上の他の関続きを読む
">
【Googleスプレッドシート | EXCELには無いシリーズ】スプレッドシート関数で正規表現使えるよ!
Googleスプレッドシートで正規表現が使える関数! 以前に、スプレッドシートのクエリ関数で正規表現を使う方法を紹介させていただきました。 実はクエリ関数だけでなく、スプレッドシート上の他の関続きを読む

正規表現を覚える必要はありますが、それが分かれば前回やった、関数を組み合わせて抜き出す方法よりも、早く・スマートに実現することが可能です(^^)

それでは、前回と同じサンプルでやっていきましょう!

こんな感じのデータです。

それを、こんな感じに取り出したい時とかです。

店舗ナンバーなど余計な部分を省いて取り出したいときありますね(^^)

使用関数

REGEXEXTRACT関数

構文

= REGEXEXTRACT( "文字列", "正規表現" )

引数に指定した正規表現にマッチした文字列を抜き出す

これを使うと一撃で出せます。

使い方

数式の文字列部分は、A列の抜き出す元の文字列が入ったセルを参照します。

そして第2引数の「正規表現」の部分で抜き出したい文字列のパターンマッチを作成すればいいですね(^^)

正規表現がよくわからないかたは、こちらをみてください。

https://hirachin.com/post-2496/

B2セルに次の数式を入力します。

数式

= REGEXEXTRACT( A2, "-.+店" )

第1引数は、A2のセルを参照

第2引数(正規表現)には、「-.+店」を入力しています。

正規表現で言う、「.」は任意の1文字、「+」は1回以上の繰り返し、という意味になります。

つまり、「-.+店」この正規表現の意味は以下のようになります。

「-」と「店」の間は1文字以上の文字列で何でもOK!

これにマッチする文字列が抜き出されます。

実際にやってみましょう!B3・B4セルには同じ数式をコピーします。

できました!と言いたいところですが、「-」は余分ですね(T_T)

こんな時にも正規表現には便利な記号があります。

抜き出したい部分を「()」で囲う

つまり、正規表現「-.+店」の抜き出したい部分を「()」で囲って次のように修正します。

-(.+店)

「-」はいらないんで、「-」の次からですね(^^)

はい、完成です。

数式を組み合わせてやるよりも、ずっと早くスマートにできますね(^^)

まとめ

REGEXEXTRACT関数を使って、セル内から特定の文字列を抜き出す方法を紹介しました。正規表現はプログラミングでも使う方法です。このように少しずつ知識を増やしていくことで、作業がどんどん早くなります!普通の関数に慣れてきたらどんどん知識の幅を広げていきましょう!