LEN,FIND,RIGHT関数で文字を抜き出す【Excel】

Excelアイキャッチ_抜き出す Excel

文字列の一部を抜き出す関数、LEFT・RIGHT・MID

左から2文字抜き出したい、右から5文字抜き出したい、真ん中の3文字だけ抜き出したい・・・
そんな要望に応える便利な関数がある。

LEFT関数(文字列の左から何文字分か抜き出す)
=LEFT(文字列の入ったセル,抜き出したい文字数)

Excel_1LEFT関数例

【B1】の関数はこう。
=LEFT(A1,2)
【A1】の文字列(あいうえお)の左から2文字分抜き出して表示するという意味。

抜き出した結果は「あい」となる。

右から抜き出すには同じ要領でRIGHT関数を使う。

RIGHT関数(文字列の右から何文字分か抜き出す)
=RIGHT(文字列の入ったセル,抜き出したい文字数)
Excel_2RIGHT関数例

【B1】の関数はこう。 =RIGHT(A1,3) 【A1】の文字列(あいうえお)の右から3文字分抜き出して表示するという意味。

抜き出した結果は「うえお」となる。

途中から抜き出す場合はMID関数。中間の”middle”からきているよ。

MID関数(文字列の途中から何文字分か抜き出す)
=MID(文字列の入ったセル,抜き出したい文字の開始位置,抜き出す文字数)
Excel_3MID関数例

【B1】の関数はこう。
=MID(A1,3,2)
【A1】の文字列(あいうえお)の3文字目から2文字分抜き出して表示するという意味。

抜き出した結果は「うえ」となる。

バラバラな文字数を抜き出す(左)/FIND(SEARCH)と組み合わせ

住所【C列】から区名だけ抜き出して【D列】に表示したい。

Excel_4LEFTバラバラな場合1

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

Excel_5LEFTバラバラな場合2

では、抜き出す数は「”区”という文字まで」と指定したらどう?

なんと、それを可能にしてくれる関数がある!
その”区”の文字が何文字目にあるのか関数で出してしまえないい。

FIND関数(探したい文字が、指定した文字列の何文字目にあるかを求める)
=FIND(検索したい文字,探したいセル)
SEARCH関数(探したい文字が、指定した文字列の何文字目にあるかを求める)
=SEARCH(検索したい文字,探したいセル)

FINDもSEARCHも同じように使う。
※FINDのほうは大文字と小文字を区別するよ。
文字列を関数に入れる時は”(ダブルクォーテーション)で囲むルールがある。

「区」の文字が何文字目か求める関数はこう。
=FIND(“区”,C2)

今回は[【C2】の3文字目に”区”があるので、結果は「3」となる。

これをLEFT関数に入れればいい。※FINDをSEARCHにしてもOK
=LEFT(C2,FIND(“区”,C2))

【C2】の左から文字を抜き出す。抜き出す数は”区”の文字を見つけたところまで。
これで、区が2文字目にあれば2文字、区が4文字目にあれば4文字抜き出すことができる。

Excel_6LEFTバラバラな場合3

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

フィルハンドル、オートフィルについてはこちらから。

Excel_7LEFTバラバラな場合4

空白の左までを抜き出す/LEFTとFINDの組み合わせ

氏名【B列】から姓だけ抜き出して【E列】に表示したい。

Excel_8LEFT空白左1

姓は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文字抜き出すことができる。

Excel_9LEFT空白左2

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

フィルハンドル、オートフィルについてはこちらから。

Excel_10LEFT空白左完成

空白から右を抜き出す/RIGHT・FIND・LENの組み合わせ

氏名【B列】から名前だけ抜き出して【F列】に表示したい。

Excel_11RIGHT空白右1

姓の時と同様に空白から右と指定したいけれど、それだけでは右が何文字かわからない。

全体の文字数がわかればどうかな?
それがわかれば、(全体の文字数)-(空白の位置)で名前が何文字かわかるね!

【B2】で見ると、「福島 林檎」は空白も合わせて全部で5文字。
空白の場所は3文字目だから、5-3=2で、右から2文字分を抜き出せばいい。

全体の文字数を求める関数はLEN関数。長さを意味するlengthからきているよ。

LEN関数(セルの中の文字数を求める)
=LEN(文字数を数えたいセル)

【B2】の文字数を求める関数はこう。
=LEN(B2)

LEN関数は空白や半角も1文字と数えるので、結果は「5」となる。

空白の部分が何文字目か求める関数はこれだったね。
=FIND(” “,B2)
※FINDをSEARCHにしてもOK
※今回の空白は半角空白なので””の中は半角空白を入れている。

今回は3文字目に半角空白があるので、結果は「3」となる。

この2つををRIGHT関数に入れればいい。
=RIGHT(B2,LEN(B2)FIND(” “,B2))

【B2】の右から文字を抜き出す。
抜き出す文字数は、(全体の文字数)-(半角空白の位置)。
これで、文字数がバラバラでも空白から右の文字だけ抜き出すことができる。

Excel_12RIGHT空白右2

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

フィルハンドル、オートフィルについてはこちらから。

Excel_13RIGHT空白右完成

タイトルとURLをコピーしました