特定の文字以降を抽出する方法「RIGHT関数・FIND関数」 Excel(エクセル)

RIGHT関数FIND関数 エクセル関数
記事内に広告が含まれています。

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

抽出したいデータが文字列の最後についている状態

A2」セルの「」マーク以降を抜き出す関数

=RIGHT(A2,LEN(A2)-FIND("\",A2))

以降ではこの関数の考え方について解説をさせていただきます。

特定の文字より前を抽出する方法は特定の文字より前を抽出する方法「LEFT関数・FIND関数」 Excel(エクセル)を参照してください。

RIGHT関数の使い方

RIGHT関数はセルの文字列のうち右から○文字を抜き出すという関数です。

=RIGHT(文字列,[文字数])

全角も半角も1文字とカウントします

「B2」セルに「=RIGHT(A2,3)」を入力してみる

今回上図の状態で「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文字目であることが分かった

これは「¥」マークが左から数えて「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関数でも解説しています。

コメント

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