こんにちは。経営企画部のゆりえです。
私はこれまでLIGブログで、Excelやスプレッドシートの活用法に関する記事を書いてきました。
今回は、テキストの中から文字列を抽出したいときに便利な関数をまとめました。
目次
文字列を抽出する関数
エクセルやGoogle スプレッドシートの関数には、計算をするものだけではなく、テキストに対して何かはたらきかける関数もあります。
今回は、テキストの中から文字列を取り出せる関数をいくつかご紹介します。
LEFT関数:テキストの先頭から文字を抽出する
テキストの先頭から(左から)、文字数を指定して取り出すことができます。
- 関数
- =LEFT( 対象のテキスト , [取り出す文字数] )
たとえば、「東京都台東区」というテキストから、頭の3文字を取り出したいとき、セルに =LEFT(“東京都台東区”,3) と入力すると、「東京都」が返ってきます。
これだけだと直接「東京都」と書けば良いのですが、抽出したいテキストがたくさんあるときや、テキスト部分や文字数部分が動的になる場合など、いろんな場面で応用ができるので、シンプルですが覚えておくと便利な関数だと思います。
RIGHT関数:テキストの末尾から文字を抽出する
反対に、先頭ではなく末尾から(右から)何文字かを取り出したい場合は、RIGHT関数を使います。
- 関数
- =RIGHT( 対象のテキスト , [取り出す文字数] )
たとえば、「東京都台東区」というテキストから、末尾の3文字を取り出したいとき、セルに =RIGHT(“東京都台東区”,3) と入力すると、「台東区」が返ってきます。こちらはLEFT関数と使い方は同じです。
MID関数:テキストの任意の位置から文字を抽出する
先頭や末尾からではなく、テキストの中のどこかから文字を取り出したいときにはMIDという関数が便利です。
- 関数
- =MID( 対象のテキスト , [開始位置(何文字目)] , [取り出す文字数] )
MID関数は、「テキストの何文字目を開始地点として何文字取り出す」ということをしてくれます。たとえば、「東京都台東区小島」というテキストから、4文字目を開始位置として3文字を取り出したい」ときは、セルに =MID(“東京都台東区小島”,1,3) と入力すると、「台東区」が返ってきます。
FIND関数:テキストの中でその文字がどこにあるかを検索する
MID関数で[開始位置]というものがありますが、開始位置が何文字目かわからないときなどは、FIND関数を使うと何文字目に目的の文字があるかがわかります。
- 関数
- =FIND( 検索したい文字列 , 対象のテキスト , [検索の開始位置] )
たとえば、「東京都台東区小島」というテキストの中で、1文字目を開始位置として「小島」がどこにあるかを調べたいとき、セルに =FIND(“小島”,”東京都台東区小島”,1) と入力すると、「7」が返ってきて、7文字目に小島が出現するということがわかります。
この関数は、前述のLEFT関数やRIGHT関数、MID関数と併用して使うことがあります。
応用:データの中から都道府県を抽出する
応用してみます。画像のように、いくつかの住所のデータがあるときに、それぞれのデータから都道府県だけを抽出したいとします。
基本的にはそれぞれ左から3文字が都道府県に値するので、LEFT関数で左から3文字を抽出すればいいのですが、神奈川県など4文字の県もあります。一方で、県以外の都道府はすべて3文字です。
たとえば、B3のセル「東京都台東区小島」に対して、都道府県を抽出したい場合、下記の関数をC3に入力します。
=IFERROR(LEFT(B3,FIND(“県”,B3,1)),LEFT(B3,3))
都道府県が抽出されました!!
- 数式の意味
- FIND関数で文字列の中の”県”が何文字目にあるかを探します。その文字数分、LEFT関数で抽出をします。すると県を取り出すことができます。もし県ではなく都道府の場合は、文字列の中に県が見つからないためエラーになってしまいます。なので、IFERROR関数を使って、エラーの場合はLEFT関数で左から3文字取り出すことで、都道府を取り出すことができます。
(ちなみに今回の数式は簡単なものです。都道府の住所の中で市区町村に「県」がつく場合などを考えられていないので、そういったイレギュラーも考慮するともう少し複雑にする必要がありますのでご注意ください。)
▼IFERROR関数についてはこちらをご覧ください 【エクセルTips】エラー表示に対策できる関数2選
さいごに
テキストの中から文字を取り出す関数をまとめました。
数が少ない場合は手入力でできますが、たとえば100件200件と大量のデータがある場合1つずつ手で書き出すのは大変なので、関数を使うと効率的かつ入力ミスを防げるので便利です。
最後まで読んでいただきありがとうございました。