Excel(エクセル)のデータの中から特定の文字列を取り出したいことがあると思います。
「氏名から姓と名をわけて抽出したい」「都道府県名だけを抽出したい」といった場面があると思います。
全て手入力で行うと膨大な時間がかかってしまいますが、関数を使うことで簡単に指定の文字列を抽出することができます。
また、状況に応じて抽出する文字数が変動する場合は、複数の関数を組み合わせて抽出する方法を知っておくことで、作業効率がアップします。
そこで、今回の記事では、文字列を抽出する関数の基本的な使い方と、関数を組み合わせて苗字や都道府県など文字数が異なる文字列を抽出する方法を詳しく紹介します。
ぜひ参考になさってください。
Excel(エクセル)の操作が苦手な方のために、操作する上でのコツをまとめたページを用意しました。
「パソコン教室パレハのLINE友達登録」(無料)で「パソコンに役立つ豪華15大特典」をお送りしております。
Excel(エクセル)の操作はもちろん、パソコンが苦手な方に役立つ特典を15個ご用意しております。
良かったら下記からご登録ください。
Excel(エクセル) 文字列の抽出に使う関数
LEFT関数
LEFT関数では、引数に文字列を含むセルを参照、または、文字列を指定し、その文字列の左から何文字分を抽出するのかを数値で指定することができます。
=LEFT(文字列,文字数)
文字列 | 取り出したい文字が入っている文字列(セル)を指定 |
文字数 | 左端から何文字目までを取り出したいのか指定 |
RIGHT関数
RIGHT関数では、引数に文字列を含むセルを参照、または、文字列を指定し、その文字列の右から何文字分を抽出するのかを数値で指定することができます。
=RIGHT(文字列,文字数)
文字列 | 取り出したい文字が入っている文字列(セル)を指定 |
文字数 | 右端から何文字目までを取り出したいのか指定 |
MID関数
MID関数では、指定した開始位置から、何文字分を抽出するのかを数値で指定することができます。
引数に文字列を含むセルを参照、または、文字列を指定し、その文字列の左から何文字分を開始位置にするのかを指定します。
指定した文字列の真ん中の文字列を抽出したい時に使用する関数です。
=MID(文字列,開始位置,文字数)
文字列 | 取り出したい文字が入っている文字列(セル)を指定 |
開始位置 | 左端から数えて、何文字目を開始位置にするか指定 |
文字数 | 指定した開始位置から取り出したい文字数を指定 |
FIND関数
FIND関数では、指定した文字列の検索した文字列が、左から数えて何文字目にあるのかを数値で取得することができます。
引数に指定した文字列から検索したい文字列を指定します。
指定した文字列を含むセルに検索したい文字列が複数ある場合は、文字列を検索する開始位置を指定して正確に検索したい文字の位置を返すことができます。
FIND関数は、単体で使用されることは少なく、LEFT関数やMID関数と組み合わせることで、数値では指定できない文字数を自由に抽出することができます。
=FIND(検索文字列,対象,開始位置)
検索文字列 | 探したい文字列を指定 |
対象 | 取り出したい文字が入っている文字列(セル)を指定 |
開始位置 | 左から数えて何文字目から検索を開始するのかを指定。省略すると「1」となる |
左側・真ん中・右側の文字列を抽出する関数
文字列の左側から指定の文字数を抽出したい場合は「LEFT関数」、文字列の真ん中から指定の文字数を抽出したい場合は「MID関数」、文字列の右側から指定した文字数を抽出したい場合は「RIGHT関数」を使います。
まずは、それぞれの関数で文字を抽出する基本の方法を解説します。
例えば、電話番号のように、ハイフンで区切って左・中央・右で番号が区切られている文字列から、「最初の3桁」「真ん中の4桁」「最後の3桁」を関数を使ってそれぞれ抽出してみましょう。
今回は、上記のように最初の3桁をLEFT関数、真ん中の4桁をMID関数、最後の3桁をRIGHT関数で抽出します。
LEFT関数で左側から指定の文字数を抽出する方法
セルに「=LEFT(B3,3)」となるように入力して、「Enter」キーを押して確定します。
抽出した文字列の結果を表示したいセルを選択します。
半角入力モードに切り替えて、「=left( 」と入力します。
1つ目の引数は「文字列」ですので、抽出したい文字列が入力されたセル【B3】をクリックします。
引数を区切るため、半角カンマを入力します。
2つ目の引数「文字数」に、今回抽出したいのが3桁なので「3」と入力します。
入力が出来たら「Enter」キーを押して確定します。
セル【B3】の電話番号の左から3文字分を抽出することができました。下のセルに数式をコピーします。
1つ目の結果を表示できました。セル【B3】の文字列「050-12XX-5678」から左側から3文字分の「050」を抽出しています。
フィルハンドルを使って、下のセルにも数式をコピーしましょう。
同様に電話番号の左から3文字分をそれぞれ抽出することができました。
LEFT関数の使い方については、下記の記事で詳しく解説していますので、ご覧ください。
MID関数で文字列の途中に含まれる文字列を抽出する方法
セルに「=MID(B3,5,4)」となるように入力して、「Enter」キーを押して確定します。
抽出した文字列の結果を表示したいセルを選択します。
半角入力モードに切り替えて、「=mid( 」と入力します。
1つ目の引数は「文字列」ですので、抽出したい文字列が入力されたセル【B3】をクリックします。
引数を区切るため、半角カンマを入力します。
2つ目の引数「開始位置」に、今回抽出したいの4桁の数字の最初の文字の位置が5文字目なので「5」と入力します。
半角カンマを入力して、引数を区切ります。
3つ目の引数「文字数」に、今回抽出したいのが4桁なので「4」と入力します。
入力が出来たら「Enter」キーを押して確定します。
セル【B3】の電話番号の左から5文字目を開始位置として、そこから4文字分を抽出することができました。下のセルに数式をコピーします。
1つ目の結果を表示できました。
セル【B3】の文字列「050-12XX-5678」の左側から5文字目の「1」を開始位置として、そこから4文字分の「12XX」を抽出しています。
フィルハンドルを使って、下のセルにも数式をコピーしましょう。
同様に電話番号の途中にある4文字分をそれぞれ抽出することができました。
MID関数は「開始位置」を指定して、そこから何文字分を抽出するのかを引数に入れていきます。
文字列の1文字目が開始位置「1」となるので、左から何文字目を開始位置にするのかがポイントです。
MID関数の使い方については、下記の記事で詳しく解説していますので、ご覧ください。
RIGHT関数で右側から指定の文字数を抽出する方法
セルに「=RIGHT(B3,4)」となるように入力して、「Enter」キーを押して確定します。
抽出した文字列の結果を表示したいセルを選択します。
半角入力モードに切り替えて、「=right( 」と入力します。
1つ目の引数は「文字列」ですので、抽出したい文字列が入力されたセル【B3】をクリックします。
引数を区切るため、半角カンマを入力します。
2つ目の引数「文字数」に、今回抽出したいのが4桁なので「4」と入力します。
入力が出来たら「Enter」キーを押して確定します。
セル【B3】の電話番号の右側から4文字分を抽出することができました。下のセルに数式をコピーします。
同様に電話番号の右側から4文字分をそれぞれ抽出することができました。
RIGHT関数の使い方については、下記の記事で詳しく解説していますので、ご覧ください。
Excel(エクセル)の操作が苦手な方のために、操作する上でのコツをまとめたページを用意しました。
「パソコン教室パレハのLINE友達登録」(無料)で「パソコンに役立つ豪華15大特典」をお送りしております。
Excel(エクセル)の操作はもちろん、パソコンが苦手な方に役立つ特典を15個ご用意しております。
良かったら下記からご登録ください。
指定した文字列の位置を数値で返すFIND関数
FIND関数は、文字を抽出する関数ではなく、指定した文字が何文字目にあるのかを数値で返す関数です。
例えば、「=FIND("e","excel")」と、開始位置を省略して入力すると、開始位置が左側から1文字目になるので、「1」が返されます。
「=FIND("e","excel",2)」と、開始位置を左から2文字目と指定して入力すると、検索開始位置が左側から2文字目の「x」からになり、「4」が返されます。
FIND関数の結果で返される数値は、あくまでも左端から数えて何文字目なのかになり、開始位置とは分けて考える必要があります。
また、FIND関数では、大文字・小文字を区別するため、「=FIND("e","Excel")」だと結果は「4」となります。
FIND関数は指定した文字列の位置を検索するための関数なので、それ単体で文字列を抽出することはできません。
なので、LEFT関数やMID関数と組み合わせることで有効に使うことができます。
FIND関数の基本の使い方を覚えておきましょう。
下記の例では、氏名を区切っている全角のスペースの位置をFIND関数で取得しています。
FIND関数で取得した全角スペースの位置の結果です。
セルに「=FIND(" ",B3)」となるように入力して、「Enter」キーを押して確定します。
指定した文字列の位置の結果を表示したいセルを選択します。
半角入力モードに切り替えて、「=find( 」と入力します。
1つ目の引数は「検索文字列」ですので、今回探したい全角スペースを表す「" "」を入力します。
ダブルクォーテーションは「Shift」キーを押しながら、キーボード上部の「2」のキーを押すと入力できます。
空白は日本語入力に切り替えて、スペースキーを1回押します。
引数を区切るため、半角カンマを入力します。
2つ目の引数「対象」に、抽出したい文字列が入力されたセル【B3】をクリックします。
今回は、文字列の左端から検索を開始するため、3つ目の引数「開始位置」は省略します。
入力が出来たら「Enter」キーを押して確定します。
セル【B3】の文字列の左から2文字目の位置に全角のスペースがあるという結果が表示されました。下のセルに数式をコピーします。
同様に、各セルの文字列の左から何文字目の位置に全角スペースがあるのかの結果が表示されました。
このように、左から数えて何文字目の位置に全角スペースがあるのか数値で返しています。
FIND関数の使い方については、下記の記事で詳しく解説していますので、ご覧ください。
LEFT関数と組み合わせて苗字を抽出する方法
前述したように、FIND関数は指定した文字列の位置を検索するための関数なので、単体では文字列を抽出することはできません。
なので、下記の例のようにLEFT関数やMID関数と組み合わせることで文字列を抽出することができます。
セルに「=LEFT(B3,FIND(" ",B3)-1)」となるように入力して、「Enter」キーを押して確定します。
抽出した文字列の結果を表示したいセルを選択します。
半角入力モードに切り替えて、「=left( 」と入力します。
1つ目の引数は「文字列」ですので、抽出したい文字列が入力されたセル【B3】をクリックします。
引数を区切るため、半角カンマを入力します。
今回の例のように、数値で抽出する文字数を指定することができない場合はFIND関数で抽出する文字数を指定します。
2つ目の引数「文字数」に、「find(" ",B3)」と入力します。
FIND関数で空白の位置の結果「2」が返されます。
「谷 加奈子」の左から数えて2文字分を抽出すると「谷 」となってしまうため、「=LEFT(B3,FIND(" ",B3)」の後ろに「-1」を追加し、「=LEFT(B3,FIND(" ",B3)-1)」という数式にします。
これで「谷 加奈子」の全角スペースの位置「2」から「1」を引いて、左側から1文字分を抽出することができます。
入力が出来たら「Enter」キーを押して確定します。
セル【B3】の氏名から苗字だけを抽出することができました。下のセルに数式をコピーします。
同様に氏名から苗字だけを抽出することができました。
MID関数と組み合わせて名前を抽出する方法
セルに「=MID(B3,FIND(" ",B3)+1,5)」となるように入力して、「Enter」キーを押して確定します。
抽出した文字列の結果を表示したいセルを選択します。
半角入力モードに切り替えて、「=mid( 」と入力します。
1つ目の引数は「文字列」ですので、抽出したい文字列が入力されたセル【B3】をクリックします。
引数を区切るため、半角カンマを入力します。
今回の例のように、数値で抽出する文字数を指定することができない場合はFIND関数で抽出する文字数を指定します。
2つ目の引数「文字数」に、「find(" ",B3)」と入力します。
FIND関数で空白の位置の結果「2」が返されます。
「谷 加奈子」の左から数えて2文字分を開始位置にすると「 (全角スペース)」となってしまうため、「=MID(B3,FIND(" ",B3)」の後ろに「+1」を追加し、「=MID(B3,FIND(" ",B3)+1」という数式にします。
これで「谷 加奈子」の全角スペースの位置「2」に「1」を足して、「加奈子」の「加」の位置を開始位置にすることができました。
引数を区切るため、半角カンマを入力します。
さらに3つ目の引数「文字数」に「5」と入力します。
「加」の位置から何文字分を抽出するかという意味合いでの文字数「5」ですが、「5」でも「10」でも問題はありません。
要は、下の名前が抽出できる十分な文字数を指定すればOKです。
なので、「2」を指定した場合「加」から2文字分で「加奈」しか抽出できません。
一般的には3文字までの名前の方が多いと思いますが、十分にカバーできる数値を入力する方が安全なので、それを目安に「文字数」を指定します。
入力が出来たら「Enter」キーを押して確定します。
セル【B3】の氏名から名前だけを抽出することができました。下のセルに数式をコピーします。
同様に、氏名から名前だけを抽出することができました。
ポイントは、引数「開始位置」を正しい位置にするために、FIND関数で検索した全角スペースの位置に「+1」を指定することと、引数「文字数」で十分な数値を指定することです。
関数を組み合わせる時の入力方法
複数の関数を組み合わせる場合は、ダイアログボックスを使った入力方法がおすすめです。
- 関数を挿入します
- 数式バー左側にある「fx」をクリックします
- ダイアログボックスが開きます
- 引数の入力欄に必要な内容を入力します
- 入力が出来たら「OK」をクリックします
最初にダイアログボックスを開くと、最初に入力した関数で開かれます。
ネスト(入れ子)した関数にダイアログボックスを切り替える場合は、数式バーに表示されたネストした関数の名前をクリックします。
この手順で行えば、関数のネストに慣れていなくても入力がしやすくなります。
都道府県名を抽出する関数の組み合わせ
住所から都道府県名だけをセルに入力したい場合、手作業で入力するのはかなり時間がかかります。
そんな時は、LEFT関数を使って住所の左側から都道府県名だけを抽出する方法がありますが、「北海道」「東京都」「大阪府」「神奈川県」「埼玉県」など、「都」「道」「府」「県」の4つがあるほかに、県名も県を含めて3文字の県と4文字の県があり、こちらも数値を指定して文字数を抽出することは困難です。
都道府県名を抽出する場合は、LEFT関数だけではなく、IF関数とMID関数を組み合わせることによって、条件を分岐させて都道府県名を抽出することができます。
今回使用するのは、「IF関数」「MID関数」「LEFT関数」の3つです。
解説している内容の通りに関数を入力すれば都道府県名を抽出することができますが、なぜそうなるのかを理解して行いたい方は、下記の解説を読んでみてくださいね。
■今回のポイント■
MID関数で住所の左から数えて4文字目を抽出します。
IF関数で条件分岐をして、MID関数の結果、4文字目が「県」であれば、LEFT関数で住所の左から4文字目までを抽出します。
MID関数の結果、4文字目が「県」ではない場合はLEFT関数で住所の左から3文字目までを抽出します。
幸いなことに都道府県名で、「都」「道」「府」は、「東京都」「北海道」「大阪府」「京都府」というように3文字分となっています。
「県」のみ「神奈川県」「鹿児島県」「和歌山県」というように4文字の県があるので、MID関数で4文字目を抽出した結果、それが「県」であれば、「神奈川県」「鹿児島県」「和歌山県」のいずれかとなるため、左から4文字分を抽出すれば、この3県の県名を抽出できます。
MID関数で4文字目を抽出した結果が「県」でなければ、「神奈川県」「鹿児島県」「和歌山県」以外の都道府県なので、左から3文字分を抽出すれば、それ以外の都道府県名を抽出することができるというわけです。
それでは、実際に関数を入力してみましょう。
セルに「=IF(MID(B3,4,1)="県",LEFT(B3,4),LEFT(B3,3))」となるように入力して、「Enter」キーを押して確定します。
抽出した文字列の結果を表示したいセルを選択します。
半角入力モードに切り替えて、「=if( 」と入力します。
IF関数の1つ目の引数は「論理式」で条件を入力しますので、「MID(B3,4,1)="県"」と入力します。
これで、MID関数でセル【B3】の左から数えて4文字目を開始位置として、1文字分抽出した文字が「県」だったら…という条件を指定することができました。
引数を区切るため、半角カンマを入力します。
IF関数の2つ目の引数は「値が真の場合」で、先ほどの「論理式」の条件を満たした場合の処理を指定します。
「LEFT(B3,4)」と入力します。
これで、4文字目を抽出した結果が「県」の場合は、LEFT関数で住所の左から4文字目までを抽出するという処理を指定できました。
半角カンマを入力して引数を区切ります。
IF関数の3つ目の引数は「値が偽の場合」で、「論理式」の条件を満たさなかった場合の処理を指定します。
「LEFT(B3,3)」となるように入力します。
これで、4文字目を抽出した結果が「県」ではない場合は、LEFT関数で住所の左から3文字目までを抽出するという処理を指定できました。
最後にカッコを入力して、入力が出来たら「Enter」キーを押して確定します。
これでセル【B3】から都道府県名「東京都」だけを抽出することができました。下のセルに数式をコピーします。
同様に、左から4文字目が「県」の場合とそうでない場合に応じて、都道府県名を抽出することができました。
IF関数の使い方については、下記の記事で詳しく解説していますので、ご覧ください。
Excel(エクセル) | IF関数の使い方を基礎から応用まで徹底解説
Excelで文字列抽出に役立つその他の関数
LEN関数
=LEN(文字列)
LEN関数は、文字数を返すことができる関数です。全角・半角は関係なく1文字として数えます。
特定の文字を検索したり、抽出することはできませんが、他の関数と組み合わせて文字列を抽出することができます。
LEN関数の使い方については、下記の記事で詳しく解説していますので、ご覧ください。
TEXTBEFORE関数・TEXTAFTER関数
=TEXTBEFORE(文字列,区切り文字,区切り位置,検索方法,文字列の終端,見つからないとき)
TEXTBEFORE関数では、区切り文字よりも前の文字列を抽出します。
=TEXTAFTER(文字列,区切り文字,区切り位置,検索方法,文字列の終端,見つからないとき)
TEXTAFTER関数では、区切り文字より後ろの文字列を抽出します。
「TEXTBEFORE関数」と「TEXTAFTER関数」は、Microsoft 365でのみ使用が可能です。
エクセルで文字列に関連するその他の関数
エクセルで文字列に関連する関数は多くありますので、ここで一部紹介します。
SUBSTITUTE関数
=SUBSTITUTE(文字列,検索文字列,置換文字列,[置換対象])
SUBSTITUTE関数は、特定の文字列を他の文字列に置き換えることができたり、あるいは削除するなどが可能です。
エクセルの検索と置換のような関数で、置き換えたい文字列を検索して、置換後の文字列を指定することができます。
引数 | 内容 |
文字列 | 置き換える文字列が含まれたセルを指定 |
検索文字列 | 検索する文字列を指定 |
置換文字列 | 置き換える文字列を指定 |
置換対象 | 検索文字列に含まれる文字列の置き換えたい対象の文字列を指定(省略可) |
SUBSTITUTE関数の使い方については、下記の記事で詳しく解説していますので、ご覧ください。
エクセル|検索・置き換えのやり方|複数の文字や数字の置換方法
REPLACE関数
=REPLACE(文字列,開始位置,文字数,置換文字)
REPLACE関数は、置き換えたい文字列の開始位置と置き換える文字数を指定することができます。
置換後の文字で空白を指定すると、削除することができます。
引数 | 内容 |
文字列 | 置き換えたい文字列が含まれるセルを指定 |
開始位置 | 置き換えたい文字列の先頭文字の位置を指定 |
文字数 | 置き換えたい文字列の文字数を指定 |
置換文字列 | 置き換え後の文字列を指定 |
REPLACE関数の使い方については、下記の記事で詳しく解説していますので、ご覧ください。
エクセル|検索・置き換えのやり方|複数の文字や数字の置換方法
UPPER関数・LOWER関数
UPPER関数は、文字列を大文字に変換します。
LOWER関数は文字列を小文字に変換します。
CONCAT関数・TEXTJOIN関数
いずれの関数もセルとセルの文字列を結合させたり、任意の文字列を追加して結合することができます。
CONCAT関数の使い方については、下記の記事で詳しく解説していますので、ご覧ください。
CONCAT関数(コンカット)|セル参照や文字列を追加して結合する方法
TEXTJOIN関数の使い方については、下記の記事で詳しく解説していますので、ご覧ください。
ASC関数・JIS関数
ASC関数は、全角文字を半角文字に変換する関数です。
JIS関数は、半角文字を全角文字に変換することができます。
それぞれ、全角半角を統一したい場合に便利です。
ASC関数の使い方については、下記の記事で詳しく解説していますので、ご覧ください。
Excel(エクセル)で全角を半角に変換して修正する方法|ASC関数
JIS関数の使い方については、下記の記事で詳しく解説していますので、ご覧ください。
Excel(エクセル)が苦手であればパソコン教室で学んでみませんか?
Excel(エクセル)はかなり奥が深く、知識を得ただけは操作が身に付きにくいものです。
そんな時には、弊社のようなパソコン教室を利用するのも一つの手です。
「オンライン」にも対応している「苦手な方専門パソコン教室パレハ」にお任せください。
オンラインというと「動画を見るだけ」とか「オンラインなんてやったことがない」というご不安があるかと思います。
ですが「苦手な方専門のパソコン教室パレハ」の「オンラインレッスン」は、動画ではなく、直接講師に質問できる生レッスンです。
生レッスンでありながらリーズナブルに学べるのが人気の秘密です。
また、苦手な方に特化しているのでパソコンが特に苦手だと言う方には最適です。
パソコンが苦手でも、オンラインできる仕組みがあります。
詳細は下記をご覧ください。
Excel(エクセル)の操作が苦手な方のために、操作する上でのコツをまとめたページを用意しました。
「パソコン教室パレハのLINE友達登録」(無料)で「パソコンに役立つ豪華15大特典」をお送りしております。
Excel(エクセル)の操作はもちろん、パソコンが苦手な方に役立つ特典を15個ご用意しております。
良かったら下記からご登録ください。
パレハ直営校
パレハグループ加盟校
下記はパレハグループ加盟校となります。
料金体制などは異なりますが、パレハが自信をもってご紹介できる教室です。
■ 岩出市にある「キュリオステーション 岩出店」の公式サイトはこちら
■ 愛知県名古屋市緑区にある 「有松パソコン教室」の公式サイトはこちら
■ 宮崎市にあるパソコン教室Cosmarp(コスマープ)の公式サイトはこちら
全国の教室一覧(実店舗&オンライン)|パレハ直営校&グループ加盟校
オンライン形式をご希望の方はこちら
東京・名古屋・大阪・福岡・札幌・横浜・仙台・埼玉・千葉・沖縄などで受講したい方はオンラインレッスン(Googleミートを使ったオンライン個別レッスンです)をお選びください。
オンラインレッスンは全国対応しています。
講座一覧はこちら
他にも講座は多数ございます。
詳しくは下記をご覧ください。
こちらもご覧ください
Excel(エクセル)IF関数で条件を複数指定する方法をわかりやすく解説
Excel|条件付き書式を使って指定した文字列や値に色を付ける方法
Excel(エクセル)で追加・解除など改ページプレビューの使い方
Excel(エクセル)|チェックボックス(レ点)の作成や削除方法解説
Excel(エクセル)の「#NAME?」の意味と対処法|エラーを出さないポイント
Excel(エクセル)で文字を縦書きにする方法・横書きから変更する手順を解説
Excel(エクセル)|掛け算の入力方法を基本からわかりやすく解説
PDFをエクセル(Excel)に変換する|初心者でも簡単にできる方法
Excel(エクセル)で引き算をする簡単な方法|関数の使い方他解説
Excel(エクセル)|VLOOKUPで自動で列番号を取得する方法
【Excel】COUNTIF関数で○○を含む条件の指定|ワイルドカードの使い方
Excel(エクセル)|VLOOKUP関数でエラーを返さず空白で返す方法
Excel(エクセル)|表の作り方手順を徹底解説|初心者向け
Mac(マック)でExcel(エクセル)の代わりのソフトはNumbers(ナンバーズ)
Excel(エクセル)|COUNTIF関数で複数条件(ANDやOR)を指定する方法
こんな記事も読まれています