文字列検索 - Excel
ある文字の最後の出現位置
セル内の文字列を検索(後ろから) - 以下の文字列が1つのセ... - Yahoo!知恵袋
- A1…検索対象文字列
- B1…検索文字
- C1…A1に絶対に含まれない文字。CHAR(9)(タブ文字)など
=FIND(C1, SUBSTITUTE(A1, B1, C1, LEN(A1) - LEN(SUBSTITUTE(A1, B1, ""))))
- SUBSTITUTE(文字列, 検索文字列, 置換文字列 [, 置換対象])
- 文字列を置換
- 第4引数を指定した場合は、前から数えてその番目の置換対象だけを置換
- 指定しない場合は全て置換
- LEN(A1)-LEN(SUBSTITUTE(A1, B1, “”))
- 空文字に置換して差分を取ることで、B1が何個含まれているかわかる
- B1が複数文字の場合は、LEN(B1)で割る
- ここからnを引くことで、「最後からn+1番目」も検索可能
最後の出現位置から後ろを切り取る
先頭からの位置がわからなくてもいいので、最後のB1から後ろの文字列さえ抽出できればよい場合
=TRIM(RIGHT(SUBSTITUTE(A1, B1, REPT(" ", 99)), 99))
B1を半角スペース99個に置換し、右から99文字をとり、余計なスペースを削除すれば抽出できる。99文字以上になりうる場合は適宜数値を増やす。