• ベストアンサー

EXCEL2007で文字列の右側から特定文字を抽出

EXCEL2007で1つのセルの文字列の右側から最初の"/"が出現したときまでの文字を抽出する方法を教えてください。 (例)  A 1エクセル/関数/123456/ここがターゲット 2 3 ⇒関数を使用し、上記A1セルの「ここがターゲット」の文字列を抽出したいのです。 神様、どうか教えてください!

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

1つの文字列に/が幾つあっても対応できる式としては次のような式でもよいですね。 =TRIM(MID(SUBSTITUTE(A1,"/",REPT(" ",100)),100*(LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))),100)) 例題のように3個の/の後と決まっているのでしたら次の式でもよいでしょう。 =TRIM(MID(SUBSTITUTE(A1,"/",REPT(" ",100)),300,100))

oyajinotawagoto
質問者

お礼

お礼の入力方法が分からず時間がかかりました。大変遅くなりましたが、ご回答ありがとうございました。一発で解消することができました。心より感謝申し上げます。

その他の回答 (1)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 元の文字列データがA1セルに存在するものとしますと、次の様な関数となります。 =IF(ISNUMBER(FIND("/",A1)),REPLACE(A1,1,FIND("゛",SUBSTITUTE(A1,"/","゛",LEN(A1)-LEN(SUBSTITUTE(A1,"/",)))),),"")  或いは、次の様な関数でも同様の事が出来ます。 =IF(ISNUMBER(FIND("/",A1)),RIGHT(A1,LEN(A1)-FIND("゛",SUBSTITUTE(A1,"/","゛",LEN(A1)-LEN(SUBSTITUTE(A1,"/",))))),"")  尚、上記2つの関数では、左から数えて最後の"/"が出現する位置よりも後にある文字列を取り出すという観点から、文字列の中に"/"が含まれていない場合には、何も表示させない様にしています。  もし、文字列の中に"/"が含まれていなければ、元のままの文字列を表示させる様にする場合には、各々の数式の末尾にある ),"") という部分を、 ),A1) に修正して下さい。

oyajinotawagoto
質問者

お礼

ご回答ありがとうございました。大変助かりました。善意に感謝申し上げます。