エクセルでデータを集計する際、セル内の特定の文字の左側や右側、もしくは文字と文字の間だけを抽出したいということはないでしょうか。
1つのセルの中に複数の要素が書き込まれてしまっている場合でも、これらを使いこなせたら集計がグッと楽になります。
- 特定の文字の左側だけを抽出する方法
- 特定の文字の右側だけを抽出する方法
- 特定の文字と文字の間だけを抽出する方法
この記事が役に立つ状況の例
例:「会社名<証券コード>株価」が記載されたデータがあり、「会社名」「証券コード」「株価」のそれぞれの要素ごとに分けて表示したい。

完成イメージ
完成イメージがこちらです。

C列に記載されたデータを、D列に会社名、E列に証券コード、F列に株価と分けて表示することができました。
使用した関数
使用した関数はそれぞれ抽出場所ごとに以下の通りです。
★特定の文字の左側のみを抽出
- LEFT
- FIND
★特定の文字と文字の間のみ抽出
- MID
- FIND
★特定の文字の右側のみ抽出
- RIGHT
- LEN
- FIND
関数の書き方
★特定の文字の左側のみを抽出
=LEFT(文字列,FIND(“特定の文字“,文字列)-1)
文字列の中で、左端から特定の文字までに記載されたデータを抽出する。
★特定の文字(*1)と文字(*2)の間のみ抽出
=MID(文字列,FIND(“特定の文字(*1)“,文字列)+1,FIND(“特定の文字(*2)“,文字列)-1)
文字列の中で、特定の文字から特定の文字までの間に記載されたデータを抽出する。
★特定の文字の右側のみ抽出
=RIGHT(文字列,LEN(文字列)-FIND(“特定の文字“,文字列))
文字列の中から、特定の文字から右端までに記載されたデータを抽出する
なぜそうなるかの解説
★特定の文字の左側のみを抽出
=LEFT(文字列,FIND(“特定の文字“,文字列)-1)を分解してみる。
LEFT関数は、文字列のうち左端から指定した文字数までまでを抽出する関数です。
今回の例では企業によって企業名の文字数が異なるため、文字数を指定する代わりにFIND関数で特定の文字を見つけさせ、その特定の文字までの文字数を指定しています。
また、特定の文字までの文字数を指定すると企業名とは関係のない「<」まで文字数に含まれてしまいますので、関数の末尾で「-1」と文字数を引き算しています。
★特定の文字(*1)と文字(*2)の間のみ抽出
=MID(文字列,FIND(“特定の文字(*1)“,文字列)+1,FIND(“特定の文字(*2)“,文字列)-1)を分解してみる。
MID関数は、文字列の中から開始位置と文字数を指定してデータを抽出する関数です。
今回の例では企業によって企業名や株価の文字数がことなるため、開始位置としてFIND関数で特定の文字を見つけさせ、文字数もFIND関数で特定の文字までの文字数を見つけさせることで求めたいデータを指定しています。
★特定の文字の右側のみ抽出
=RIGHT(文字列,LEN(文字列)-FIND(“特定の文字“,文字列))を分解してみる。
RIGHT関数は、文字列のうち右端から指定した文字数までを抽出する関数です。
LEN関数で文字列全体の文字数を計算し、そこからFIND関数で求めた特定の文字までの文字数を引くことで、右端から求めたい文字までの文字数を計算しています。
コメント