エクセルで特定の文字より前を抽出|スペース(空白)以前等
ここでは、エクセルで「文字列の『特定の文字より前を抽出』を抜き出す方法」を紹介します。
数式の作り方と、数式を利用する際の注意点の説明です。
これで氏名から名字を抜き出す、市外局番を抜き出すなどができるようになりますよ。
1.まずはやりたいことを確認
始めに、やりたいことを例を含めて確認します。
1-1
.特定の文字より前を抽出したい
やりたいことは、「特定の文字より前を抽出する」です。
例えば、氏名から苗字を抜き出したい時、苗字と名前の間にスペースがあれば、スペースの前までを抜き出すことで苗字が取り出せます。
このように、文字列の中で指定した文字の一つ手前までの文字を抜き出すことができる数式を紹介します。
1-2.例を確認
ひとつ例を見てみましょう。
上の表のA列には、5人の氏名が入っています。そして苗字と名前の間には全員「全角の空白」が入っています。
そして、氏名から苗字のみをB列に抜き出したいとします。
つまり、「A列の文字列の、先頭から『全角の空白』の一つ前までの文字列を抜き出す」ことができればいいのです。
このようなことができる関数を、ここでは紹介します。
2.数式の形-LEFT・FIND関数を組み合わせる
ではさっそく、「『特定の文字より前』までの文字列を抜き出す」ことのできる数式の形と作り方を見てみましょう。
2-1.数式の形
まず、数式の形は次の通りです。
このように、LEFT関数とFIND関数を組み合わせれば「特定の文字よりも前までの文字列を抽出」することができます。
2-2.各引数の入れ方
次に、各引数(項目)の入れ方です。
(1)文字列
「文字列」には、「抜き出したい文字が入っている文字列」をセル番号で指定します。
例だと上のように、「氏名が入っているセル」になります。
(2)文字
「文字」には、「特定の文字」を「"」の間に指定します。
例だと、「全角の空白」を「"」の間に入れます。
結果、セルB2の場合、数式は次のようになります。
=LEFT(A2,FIND(" ",A2)-1)
3.数式の作り方
次に、数式の作り方をみていきます。
セルB2に数式を入れ、下のセルにコピーします。
以下手順です。
(1)以下の数式をコピーし、セルに貼り付ける
【コピーする数式】
例ではセルB2に入力します。
(2)「文字列」を消し、「抜き出す対象の文字列」を指定する
※ 2ヶ所とも行います
(3)「文字」を消し、「特定の文字列」を「"」の間に指定する
(4)Enterキーを押す
(5)カーソルをセルの右下にあて、「+」になったら下まで左ドラッグする
(6)完了
これで「基準の文字」の一つ前までの文字列を、先頭から抜き出すことができます。
4.数式利用上の注意点
続いて、紹介した数式の「利用上の注意点」です。
2つあるのでそれぞれ見てみましょう。
4-1.基準の文字が2つ以上あるとダメ
注意点の一つ目は、「基準の文字が2つ以上あるとダメ」なことです。
この数式は、基準の文字が2文字以上含まれていると、正しく動かない時があります。
なぜならFIND関数が「先頭から検索し、最初に該当した文字の位置を返す」ためで、例えば今回の場合には「全角スペース」が2つ以上あると思った通り動かないということです。
4-2.全角/半角を正しく指定ないとダメ
注意点の二つ目が、「全角/半角を正しく指定しないとダメ」なことです。
FIND関数は、全角と半角を区別して検索します。
ですから正しく指定しないと思った通りに動いてくれません。
例えば今回の場合には、「半角スペース」で指定してしまうと「ない」と判定されてエラーになりますので、注意しましょう。
5.IFERROR関数を使う
もしエラーを表示させたくなければ、「IFERROR関数」を使いましょう。
5-1.IFERROR関数とは
IFERROR関数は「エラーの場合の表示内容を指定できる」関数です。
なので、例えば「エラーの時には空白」と指定すれば、エラーが表示されず空白になります。
5-2.数式の形
IFERROR関数を使った数式の形は、次の通りです。
先ほどの例だと、セルB2の数式は次のようになります。
=IFERROR(LEFT(A1,FIND(" ",A1)-1),"")
以上、参考になれば幸いです。
【口コミ・評判のいいExcel本の紹介】
FIND関数に関連したページは、次の通りです。。
- FIND関数 使いこなすためのポイントはこちら
- ◎基本的な使い方
- ◎複数の文字をOR条件で検索する方法
- ◎複数ある文字の2、3番目の位置を返す方法
- ◎右から検索して位置を抽出する方法
- ◎先頭から指定文字の一つ前までを抜き出す方法