- ベストアンサー
EXCELで文字列の特定の文字の位置を知る方法
EXCELで文字列の特定の文字の位置を知る方法 EXCELでセル中の文字列、例えば、"abc 4/3 5/5 6/4" の最後の"/"の位置を知る方法を関数の組み合わせで出来ますか? 教えてください。"/"の数は任意で最後の"/"の位置を知りたいのですが??? どうかよろしくお願いします。VBAでなく関数の組み合わせでお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
対象文字列に ^ が絶対に出現しないなら =FIND("^",SUBSTITUTE(A1,"/","^",LEN(A1)-LEN(SUBSTITUTE(A1,"/","")))) で目的を得られるはずです。 概略を説明すると 元の文字列長と ”/” を抜いた文字列長の差から ”/”の数を知り、 最終の”/”を文字列中に存在しない ”^”に置き換え ”^”の位置を得ています
その他の回答 (2)
気が向いたら、次の配列数式をお試しあれ {=MAX((MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)="/")*ROW(INDIRECT("1:"&LEN(A1))))}
お礼
ありがとうございます。 試してみます。
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
セル中の文字列の長さは不定なんですかね。とりあえず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;..} という配列を生成して、その要素の最大値を見つける方法です。
お礼
ありがとうございます。 試してみます。
お礼
ありがとうございます。 試してみます。