エクセルで文字を抽出してくれる関数として前回に紹介したLEFT関数と同様の働きをするRIGHT関数がある。
RIGHT関数の使い方
書式
RIGHT関数
RIGHT(文字列,抽出文字数)
右端から文字を抽出する方法
まずは、下記のようにA1セルに「エクセルで文字を抽出」というテキストを入力。
A | B | 結果 | |
---|---|---|---|
1 | エクセルで文字を抽出 |
そしたらB1セルに下記の書式を入力する。
RIGHT関数
=RIGHT(A1,5)
A | B | 結果 | |
---|---|---|---|
1 | エクセルで文字を抽出 | =RIGHT(A1,5) |
=RIGHT(A1,5)の意味は、A1のセルを右端から5文字抽出するという意味だ。
すると結果は下記のように文字を抽出と、右端から5文字が抽出される。
A | B | 結果 | |
---|---|---|---|
1 | エクセルで文字を抽出 | =RIGHT(A1,5) | 文字を抽出 |
LEFT関数が、文字列の左端から指定の文字数を抽出するのに対して、RIGHT関数は文字列の右端から指定した文字数で文字を抽出する。
また、半角・全角に関係なく指定した文字数での抽出となり、バイトで文字を抽出したい場合はRIGHTB関数を使用する。
RIGHT関数とLEN関数を使ったサンプル
氏名の名前を抽出する方法
例えば下記A列の氏名で「名字 名前」のように「名字」と「名前」の間に全角の空白がある場合に、名前のみを抜き出す方法。
A | B | 結果 | |
---|---|---|---|
1 | 中条 健一 | ||
2 | 長谷部 悟 |
考え方としては、名前が人によって文字数が異なるものの、いずれも苗字と名前の間には全角の空白があるので、その全角の空白が何文字目かが分かれば名前を抽出することができる。流れとしては、下記のとおりだ。
- 氏名全体の文字数を求める
- 氏名全体の文字数から「全体の空白」の位置を求める
- 上記の1から2を引く
- RIGHT関数で3の値から名前を抽出する
まずは、氏名全体の文字数を求める方法だが、これはLEN関数を使う。
LEN関数
=LEN(A1)
いずれの氏名も5文字だという結果になるかと。
A | B | 結果 | |
---|---|---|---|
1 | 中条 健一 | =LEN(A1) | 5 |
2 | 長谷部 悟 | =LEN(A2) | 5 |
つづいては、空白が何文字目かを知るには、FIND関数を使う必要がある。
FIND関数
FIND(検索文字列,対象,開始位置)
下記のFIND関数の書式でA1セルの1文字目から数えて「全角の空白」が何番目かを求められる。
FIND関数
FIND(" ",A1,1)
そして、LEN関数で求めた氏名の文字数からFIND関数で全角の空白の位置の数値を引いた式が下記のようになり、右端からの名前の文字数が導き出された結果が以下のとおりだ。
A | B | 結果 | |
---|---|---|---|
1 | 中条 健一 | =LEN(A1)-FIND(“ ”,A1,1) | 2 |
2 | 長谷部 悟 | =LEN(A2)-FIND(“ ”,A2,1) | 1 |
あとは、RIGHT関数でこれをくくれば名前だけが抽出できることになる。
A | B | 結果 | |
---|---|---|---|
1 | 中条 健一 | =RIGHT(A1,LEN(A1)-FIND(“ ”,A1,1)) | 健一 |
2 | 長谷部 悟 | =RIGHT(A2,LEN(A2)-FIND(“ ”,A2,1)) | 悟 |
数値を001の3桁に揃える方法
RIGHT関数の下記の書式で「1」を「001」にように3桁に揃えることができる。
A | B | 結果 | |
---|---|---|---|
1 | 1 | =RIGHT(“000” & A1, 3) | 001 |
2 | 10 | =RIGHT(“000” & A2, 3) | 010 |
メールアドレスの@より後ろを抽出する方法
SEARCH関数を使うともっと簡単にできるが、サンプルとして下記の式でメールアドレスの「@」より後ろのドメインを抽出できる。
=RIGHT(A1, SEARCH("@", A1) - 1)
A | B | 結果 | |
---|---|---|---|
1 | sample@gmail.com | =RIGHT(A1, SEARCH(“@”, A1) – 1) | gmail.com |