
エクセルやスプレッドシートで、テキスト内から特定の文字以前や以降だけを抽出する方法をご紹介します。LEFT・RIGHT・MID関数の基本的な使用方法から、特定の文字列だけを抽出する方法についても解説しているので、ぜひ参考にしてみてください。
特定の文字以前を抽出する方法
特定の文字以前を抽出するには、LEFT関数を使用します。FIND関数と組み合わせれば、先頭からどの文字までを抽出するのか指定することも可能です。
LEFT関数で左から指定文字数を抽出する方法

LEFT関数は、「文字列」の先頭から指定された「文字数」を返す関数です。
文字列にセル「A1」、文字数に「2」をセットすると、A1セルのテキストから先頭2文字の「加藤」だけを抽出できます。
LEFT関数の構造:(文字列, [文字数])

C1セルに入力したLEFT関数を、オートフィルで下までコピーします。
するとA4セルの「佐々木」さんが、「佐々」になってしまいました。これはLEFT関数で、テキストの左から2文字を抽出するように設定したためです。
このような場合、次にご紹介する「左から特定の文字列を抽出する方法」で解決できます。
-
オートフィルとは?
-
数式や連続した値をコピーする機能です。セルの右下にカーソルを合わせると「+」マークになるので、この状態でクリックしたままコピーしたい方向に引っ張ります。
LEFT関数で左から特定の文字列を抽出する方法

LEFT関数の「文字数」部分に「FIND関数」-1をセットして、「<」までの文字を抽出します。
FIND関数は「検索文字列」を「対象」の中で検索し、左端から数えたときの番号を返す関数です。
検索文字列に「”<“」、対象にセル「A1」を入力します。A1セルの「<」は左端から3番目なので、FIND(3)-1=2がLEFT関数の「文字数」に入ります。
FIND関数の構造:(検索文字列, 対象, [開始位置]←省略可)
[開始位置]には、検索を開始する位置を指定可能です。 省略すると先頭から検索されます。
特定の文字以降を抽出する方法
特定の文字以降を抽出するには、RIGHT関数を使用します。FIND関数やLEN関数と組み合わせれば、末尾からどの文字までを抽出するのか指定することも可能です。
RIGHT関数で右から指定文字数を抽出する方法

RIGHT関数は「文字列」の末尾から、指定された「文字数」を返す関数です。
文字列にセル「A1」、文字数に「14」をセットすると、A1セルのテキストから末尾14文字「<kato@mail.com>」だけを抽出できます。
RIGHT関数の構造:(文字列,[文字数])

D1セルに入力したRIGHT関数を、オートフィルで下までコピーします。
するとD2セル以降のアドレスが、正しく入力されていません。これはRIGHT関数で、テキストの末尾から14文字を抽出するように設定したためです。
このような場合、次にご紹介する「右から特定の文字列を抽出する方法」で解決できます。
RIGHT関数で右から特定の文字列を抽出する方法

RIGHT関数に、LEN関数とFIND関数の2つを組み合わせてアドレス部分を抽出します。
まずLEN関数でA1セルの合計文字数[16]を算出し、そこからFIND関数で算出できる”<“までの文字数[2]をマイナスします。
LEN(16)-{FIND(3)-1}=14がRIGHT関数の「文字数」に入り、アドレス部分だけを抽出可能です。
LEN関数の構造:(文字列)
FIND関数の構造:(検索文字列, 対象, 開始位置(省略可))
特定の文字を抽出する方法
特定の文字を抽出するには、MID関数使用します。FIND関数やLEN関数と組み合わせれば、開始位置や文字数を自動調整することも可能です。
MID関数で特定の文字を抽出する方法

MID関数は「文字列」から、「開始位置」から指定した「文字数」の文字を返す関数です。
文字列にセル「A2」、開始位置にセル「B2」、文字数にセル「C2」をセットします。A2セルのテキストから、4文字目~合計12文字の「kato@mail.com」だけを抽出可能です。
MID関数の構造:(文字列, 開始位置, 文字数)

- 開始位置の解説
FIND関数は「検索文字列」を「対象」の中で検索し、左端から数えたときの番号を返す関数です。
検索文字列に「”<“」、対象にセル「A2」をセットします。A2セルの「<」は左端から3番目なので、FIND(3)+1=4がMID関数の「開始位置」になります。
FIND関数の構造:(検索文字列, 対象, 開始位置(省略可))
- 文字数の解説
LEN関数は、「文字列」の文字数を返す関数です。
まずLEN関数でA2セルの合計文字数[16]を算出します。次にFIND関数で”<“の番号[3]を算出し、これに最後の”>”分の文字数を追加した[3]+[1]が不要な文字数です。
合計文字数LEN[16]から不要な文字数FIND[3]+[1]を引いた数が、MID関数の文字数になります。
LEN関数の構造:(文字列)