文字列検索 - 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文字以上になりうる場合は適宜数値を増やす。

software/microsoft_office/excel/function/strsearch.txt · 最終更新: 2018/05/30 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0