下図のように文字列の後に抽出したいデータが入っている場合、かつ抜き出したいデータの文字数が一定ではない時は、単純にRIGHT関数だけでは抽出ができません。

「A2」セルの「¥」マーク以降を抜き出す関数
=RIGHT(A2,LEN(A2)-FIND("\",A2))
以降ではこの関数の考え方について解説をさせていただきます。
特定の文字より前を抽出する方法は特定の文字より前を抽出する方法「LEFT関数・FIND関数」 Excel(エクセル)を参照してください。
RIGHT関数の使い方
RIGHT関数はセルの文字列のうち右から○文字を抜き出すという関数です。
=RIGHT(文字列,[文字数])
全角も半角も1文字とカウントします

今回上図の状態で「A2」セルから右端の3文字の金額を抜き出すためには「文字列」は「A2」セル、「文字数」は3文字ですので、以下のように入力します。
=RIGHT(A2,3)
すると、下図のように金額を表示させることが出来ました。

しかしこの関数を同様に下のセルにも反映させると、下図のように「B4」セルは金額よりも左側の文字まで表示されてしまい、「B5」セルでは「15,600」のうち下3桁の「600」しか表示されませんでした。

これは各セルの金額が3文字ではなく「B4」セルは2桁、「B5」セルは5桁(カンマを入れると6文字)であるためこのような結果になってしまいました。
そこでこのように抽出したい文字の場所がセルによって動いてしまう場合には「FIND関数」を使うことで解決する事ができます。
FIND関数の使い方
FIND関数は特定も文字列がセルの中の何文字目に存在しているかを整数で返してくれる関数です。
=FIND(検索文字列,対象,[開始位置])
全角も半角も1文字とカウントします

「¥」マークが「A2」何文字目にあるのかを探すためには、下記のように関数を入力します。
=FIND("\",A2)
すると下図のように「7」という数字が返ってきました。

これは「¥」マークが左から数えて「7文字目」であるためです。
しかし、知りたいのは「¥」マークより右側の数値が何文字あるかということです。
それを計算するためにはLEN関数を使います。
LEN関数の使い方
LEN関数はセルの文字が何文字であるかをカウントすることが出来る関数です。
=LEN(文字列)
全角も半角も1文字とカウントします
「A2」セルが何文字あるかを数えるためには下記のように入力します。
=LEN(A2)
するとセル全体の文字数である「10」が返されます。
以上を組み合わせると下記のように「¥」マークより右の文字数を算出することが出来ます。
「セルの文字数(10)」ー「¥までの文字数(7)」=「¥マークより右の文字列の文字数(3)」
これを関数で表現すると下記の式のようになります。
=LEN(A2)-FIND("\",A2)
この式を「B2」セルから「B5」セルまで反映させると、下図のように金額の文字数を反映することが出来ました。

後はRIGHT関数の文字数のところにこの関数を反映させると冒頭の式と同じ下記の式となります。
=RIGHT(A2,LEN(A2)-FIND("\",A2))
この式を「B2」セルから「B5」セルまで反映させると、下図のように金額を反映することが出来ました。

まとめ
今回は特定の文字から右側を抽出する方法を解説しましたが、特定の文字から左側を抽出したい場合は特定の文字より前を抽出する方法「LEFT関数・FIND関数」 Excel(エクセル)の記事を参照してください。
RIGHT関数の詳しい使い方はExcel(エクセル)文字列の右又は左から特定の数の文字を取り出すRIGHT関数、LEFT関数でも解説しています。
コメント