大体でIT
大体でIT
Excelで、文字列を右から(後ろから)検索する方法について、ご紹介します。結論から言うと、文字列を右から検索するExcel関数は、ありません。関数を組み合わせて、右から検索することになります。やり方としては、検索したい文字を特定の文字に置換して、置換した文字を検索する、という流れです。
この記事では、文字列を右から(後ろから)検索する方法について、ご紹介します。
結論から言うと、右から検索するExcel関数は、ないです。残念。
Excel関数を組み合わせて、右から検索することになります。
- 検索したい文字を特定の文字に置換する
- 置換した文字を検索する
数式が長くなってしまうので、作業セルに分割して入力しましょう。
では、文字列を右から(後ろから)検索する方法について、解説していきます。
Excelで、文字列を右から(後ろから)検索してみます。
やりたいことは、右から特定の文字の位置検索する、ということです。
例えば、右から「-」の位置を検索するという感じです。
右から位置を検索したい
一番最後の「-」以降の文字を抽出したい場合に、使えます。
右から「-」の位置を検索する数式は、こんな感じになります。
=FIND("■",SUBSTITUTE(A2,"-","■",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))
右から「-」を検索した結果
右から検索する数式を分解して、具体的に解説します。
文字列を右から(後ろから)検索するというより、一番最後の「-」を任意の文字に置き換えて、任意の文字を検索する、という感じです。
- 検索したい一番最後の文字を、任意の文字に置換
- 置換した任意の文字を検索
例えば、「ab-c-123-45」を右から「-」の位置を検索したい場合だと、次のような流れで検索します。
=SUBSTITUTE(A2,"-","■",3)
右から検索する流れ
検索したい文字「-」を、任意の文字「■」に置き換えます。
次に、置き換えた文字「■」を検索する、という感じです。
ここで、わからないのは、最後の「-」が何番目かです。
最後の「-」が何番目かを調べる
今回の場合は、検索したい文字「-」の最後は、3番目です。
この「3番目」をどうにか取得すれば、右から特定の文字の位置を取得することができます。
検索したい文字の数を取得(LENとSUBSTITUTE)
検索したい文字の最後が何番目かを、取得するには、次のようにします。
検索したい文字の最後の順番を調べるイメージ
「文字列の長さ」-「検索する文字を除いた文字列の長さ」のように、引き算すると、「3文字」と計算できます。
「3文字」となるので、「3番目」の「-」を置換すればいいことなります。
検索する文字の最後の番号を取得
=LEN(SUBSTITUTE(A2,"-",""))
数式をまとめる
=LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))
結果は、先ほどと同じで「3」個ある、となりました。
つまり、「3」番目の「-」を特定の文字「■」に置換すれば、右から検索ができます。
検索したい文字を別の文字に置換(SUBSTITUTE)
=LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))
=SUBSTITUTE(A2,"-","■",A4)
検索したい文字を別の文字に置換
ここまでくれば、あとは、この「■」の位置を検索すると、右から「-」を検索したことになります。
置換した文字「■」を検索するには、「FIND関数」を使います。
=LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))
=SUBSTITUTE(A2,"-","■",A4)
置換した文字を検索
これで、右から「-」の位置を検索することができました。
FIND、SUBSTITUTE、LENの関数をまとめると、最初に書いたとおり、次のようになります。
=FIND("■",SUBSTITUTE(A2,"-","■",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))
右から検索(わかったけど長い)
ただ、これでは、あとから確認したときに、変更するのが大変なので、作業セルや作業列を使った方がいいです。
作業列を使って、右方向に作業用のセルを使って、右から文字列を検索してみます。
=LEN(A6)-LEN(SUBSTITUTE(A6,"-",""))
=SUBSTITUTE(A6,"-","■",B6)
作業列を使って右から検索
数式を分割して入力すると、何をしているのかがわかりやすいです。
この記事では、文字列を右から(後ろから)検索する方法について、ご紹介しました。
結論から言うと、右から検索するExcel関数は、ないです。残念。
Excel関数を組み合わせて、右から検索することになります。
- 検索したい文字を特定の文字に置換する
- 置換した文字を検索する
数式が長くなってしまうので、作業セルに分割して入力しましょう。
参考になればと思います。最後までご覧くださいまして、ありがとうございました。