[エクセル上級] 文字列から文字(列)を右から検索
2018/04/07
文字列から特定の文字(列)を右から検索する方法です。
方針
Excelには文字列を左から検索する FIND関数 が用意されていますが、右から検索する関数は用意されていません。
そこで、
[文字の出現回数をカウント]→[最後に出現する場所を探す]という順に計算することにします。
[文字の出現回数をカウント]は[Excel] 文字列の出現数をカウントで、[最後に出現する場所を探す]は[Excel] n番目の文字列を検索に説明されているので、今回はその組み合わせということになります。
出現数をカウント
まずは探したい文字が何回出現するかを数えます。[Excel] 文字列の出現数をカウントと同様に数えましょう。
D4: =LEN(A1)-LEN(SUBSTITUTE(A1,B3,""))
出現数をカウントできました。
最後に出現する場所を探す
先ほどのカウントの結果、[/]は4回出現することが分かりました。
今度は、[Excel] n番目の文字列を検索と同様に、4番目の[/]の場所を調べます。
D3: =FIND(CHAR(13),SUBSTITUTE(A1,B3,CHAR(13),D4))
最後の[/]は16文字目に出現することが分かりました! お疲れさまでした。
応用:1セルで計算
ここまでは2セル使って計算しましたが、出現数のカウントする部分を埋め込んでしまえば、1セルだけで結果を求めることができます。
D3: =FIND(CHAR(13),SUBSTITUTE(A1,B3,CHAR(13),LEN(A1)-LEN(SUBSTITUTE(A1,B3,""))))