• ベストアンサー

EXCELで文字列の特定の文字の位置を知る方法

EXCELで文字列の特定の文字の位置を知る方法 EXCELでセル中の文字列、例えば、"abc 4/3 5/5 6/4" の最後の"/"の位置を知る方法を関数の組み合わせで出来ますか? 教えてください。"/"の数は任意で最後の"/"の位置を知りたいのですが??? どうかよろしくお願いします。VBAでなく関数の組み合わせでお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.1

対象文字列に ^ が絶対に出現しないなら =FIND("^",SUBSTITUTE(A1,"/","^",LEN(A1)-LEN(SUBSTITUTE(A1,"/","")))) で目的を得られるはずです。 概略を説明すると 元の文字列長と ”/” を抜いた文字列長の差から ”/”の数を知り、 最終の”/”を文字列中に存在しない ”^”に置き換え ”^”の位置を得ています

tatotu
質問者

お礼

ありがとうございます。 試してみます。

その他の回答 (2)

noname#204879
noname#204879
回答No.3

気が向いたら、次の配列数式をお試しあれ {=MAX((MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)="/")*ROW(INDIRECT("1:"&LEN(A1))))}

tatotu
質問者

お礼

ありがとうございます。 試してみます。

回答No.2

セル中の文字列の長さは不定なんですかね。とりあえず30文字まで の対応ですが、 =max(index((mid(A1,row(1:30),1)="/")*row(1:30),0)) という手口もあります。文字列がもっと長いかもしれない場合には row(1:30)を増やして下さい。使っちゃいけない文字はありません。 これは対象文字列を1文字ずつバラして"/"と比較し、返ってきた論 理値に何文字目かのフラグをかけ算して{0;0;0;0;0;6;0;0;0;10;..} という配列を生成して、その要素の最大値を見つける方法です。

tatotu
質問者

お礼

ありがとうございます。 試してみます。

関連するQ&A

専門家に質問してみよう