この記事は更新して新しいブログに引っ越しました。
↓↓↓
抽出する文字列関数 LEFT・RIGHT・MIDとVALUE|Excel|PCワークLABO
文字列を検索する関数FIND・SEARCHと抽出LEN・LEFT・RIGHT|Excel|PCワークLABO
文字列の一部を抜き出す関数、LEFT・RIGHT・MID
左から2文字抜き出したい、右から5文字抜き出したい、真ん中の3文字だけ抜き出したい・・・
そんな要望に応える便利な関数がある。
【B1】の関数はこう。
=LEFT(A1,2)
【A1】の文字列(あいうえお)の左から2文字分抜き出して表示するという意味。
抜き出した結果は「あい」となる。
右から抜き出すには同じ要領でRIGHT関数を使う。

【B1】の関数はこう。 =RIGHT(A1,3) 【A1】の文字列(あいうえお)の右から3文字分抜き出して表示するという意味。
抜き出した結果は「うえお」となる。
途中から抜き出す場合はMID関数。中間の”middle”からきているよ。

【B1】の関数はこう。
=MID(A1,3,2)
【A1】の文字列(あいうえお)の3文字目から2文字分抜き出して表示するという意味。
抜き出した結果は「うえ」となる。
バラバラな文字数を抜き出す(左)/FIND(SEARCH)と組み合わせ
住所【C列】から区名だけ抜き出して【D列】に表示したい。

3文字のもの、4文字のもの、2文字のものもある…。
LEFT関数だと厳しそうだよ?

では、抜き出す数は「”区”という文字まで」と指定したらどう?
なんと、それを可能にしてくれる関数がある!
その”区”の文字が何文字目にあるのか関数で出してしまえないい。
FINDもSEARCHも同じように使う。
※FINDのほうは大文字と小文字を区別するよ。
※文字列を関数に入れる時は”(ダブルクォーテーション)で囲むルールがある。
「区」の文字が何文字目か求める関数はこう。
=FIND(“区”,C2)
今回は[【C2】の3文字目に”区”があるので、結果は「3」となる。
これをLEFT関数に入れればいい。※FINDをSEARCHにしてもOK
=LEFT(C2,FIND(“区”,C2))
【C2】の左から文字を抜き出す。抜き出す数は”区”の文字を見つけたところまで。
これで、区が2文字目にあれば2文字、区が4文字目にあれば4文字抜き出すことができる。

完成した【D2】のフィルハンドルをダブルクリックすれば完成。

都道府県を抜き出すFINDとLEFT?それともMID?/Excel…の記事はこちらから
IFERROR・FIND関数で市区郡を抜き出そう/Excel…の記事はこちらから
空白の左までを抜き出す/LEFTとFINDの組み合わせ
氏名【B列】から姓だけ抜き出して【E列】に表示したい。
姓は1文字や3文字が入る可能性もあるのでLEFT関数だけではできない。
上の【D列】の時と同様に「空白まで」と指定したらいいよね。
でも、それだと空白も含めてしまうから、空白分引かなきゃいけない。
空白の部分が何文字目か求める関数はこう。
=FIND(” “,B2)
※FINDをSEARCHにしてもOK
※【B列】の空白は半角空白なので””の中は半角空白を入れている。
【B2】は3文字目に半角空白があるので、結果は「3」となる。
その空白の左まで表示させたいから、結果に「-1」とすればいい。
これをLEFT関数に入れる。
=LEFT(B2,FIND(” “,B2)-1)
【B2】の左から文字を抜き出す。抜き出す数は半角空白を見つけた1つ左まで。
これで、空白が2文字目にあれば1文字、空白が4文字目にあれば3文字抜き出すことができる。
完成した【E2】のフィルハンドルをダブルクリックすれば完成。

空白から右を抜き出す/RIGHT・FIND・LENの組み合わせ
氏名【B列】から名前だけ抜き出して【F列】に表示したい。
姓の時と同様に空白から右と指定したいけれど、それだけでは右が何文字かわからない。
全体の文字数がわかればどうかな?
それがわかれば、(全体の文字数)-(空白の位置)で名前が何文字かわかるね!
【B2】で見ると、「福島 林檎」は空白も合わせて全部で5文字。
空白の場所は3文字目だから、5-3=2で、右から2文字分を抜き出せばいい。
全体の文字数を求める関数はLEN関数。長さを意味するlengthからきているよ。
【B2】の文字数を求める関数はこう。
=LEN(B2)
LEN関数は空白や半角も1文字と数えるので、結果は「5」となる。
空白の部分が何文字目か求める関数はこれだったね。
=FIND(” “,B2)
※FINDをSEARCHにしてもOK
※今回の空白は半角空白なので””の中は半角空白を入れている。
今回は3文字目に半角空白があるので、結果は「3」となる。
この2つををRIGHT関数に入れればいい。
=RIGHT(B2,LEN(B2)–FIND(” “,B2))
【B2】の右から文字を抜き出す。
抜き出す文字数は、(全体の文字数)-(半角空白の位置)。
これで、文字数がバラバラでも空白から右の文字だけ抜き出すことができる。
完成した【F2】のフィルハンドルをダブルクリックすれば完成。
