• ベストアンサー

エクセルで、特定の文字列より前の文字列を抜き出す(文字数固定)

こんにちわ。 「特定の文字列より前の文字列を抜き出す(文字数固定)」を質問させてください。 例) あいうS01234(Backup) かきS10233(Backup) さしすせそS0223(Backup) といったデータがあります。 隣のセルにSから始まる数字(Sを含む5文字分)を抜き出すことは可能でしょうか。 *文中に、どこからS****が入るかばらばら *抜き出したい文字列は半角で必ずSから始まり、数字4文字 *抜き出したい文字列(Sと数字をあわせ5文字)の後ろに必ず”(Backup)”がつく *Sから始まる数字の4文字は必ず0から始まるが、その後の数字3桁はユニーク どなたか、よろしくお願いします。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.5

》 *抜き出したい文字列(Sと数字をあわせ5文字) 》 *Sから始まる数字の4文字は必ず0から始まる =MID(A1,FIND("S0",A1),5)

spicca2
質問者

補足

こんにちわ。 回答ありがとうございました。 こちらのやり方でもできました。 計算式が短いので、助かります。 ありがとうございました。

その他の回答 (6)

回答No.7

>抜き出したい文字列(Sと数字をあわせ5文字)の後ろに必ず”(Backup)”がつく この部分から察するに計算式は・・・ 「B1=MID(A1,FIND("S",A1),LEN(A1))」 とする事により「S01234(Backup)」が返ります

spicca2
質問者

補足

こんにちわ。 回答ありがとうございます。 試したところ教えていただいたとおりになりますが、 今回は「(Backup)より前」ということで質問させて いただきました。 教えていただいた計算式は別の機会に使わせていただきます。 ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.6

>特定の文字列より前の文字列を抜き出 >Sから始まる数字(Sを含む5文字分)を抜き出すことは は矛盾して無いか。 なんにしろ目安になる文字はFIND関数で見つけられる。 GoogleででもFIND関数を勉強して、自分で考えること。 >試してみたところ、できました! 関数の種類とその利用法を勉強不足で、知らないだけ。FIND関数は基礎的な関数ですよ。 http://maglog.jp/excel/Article484579.html には乗っていないがおかしい。 http://trendy.nikkeibp.co.jp/article/lecturetop/20020508/100033これなどを、暗記するぐらい勉強しないと、エクセル関数を自由に使えない。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

提示された例では、さしすせそS0223(Backup)しか > *抜き出したい文字列(Sと数字をあわせ5文字)の後ろに必ず”(Backup)”がつく に反して数字だけで5文字あり、Sとあわせると6文字になるのですが・・・。 まあ (Backup)の前の5文字だけ抜き出すのなら =MID(A1,FIND("(Backup)",A1)-5,5) です。Sのあとで検索すると、数字の直前のS以外にSがあるとまずいので。

spicca2
質問者

補足

こんにちわ。 >Sとあわせると6文字になるのですが・・・。 すみません、表記ミスでした。 教えていただいたやり方でできました! FIND関数は今まで使ったことがなかったので いろいろと活用したいと思います。 ありがとうございました。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

>*抜き出したい文字列(Sと数字をあわせ5文字)の後ろに必ず”(Backup)”がつく が条件なら =MID(A1,FIND(A1,"(Backup)")-5,5) が一番楽では

spicca2
質問者

補足

こんにちわ。 回答ありがとうございます。 質問文中に「必ず(Backup)がつく」とあったので こちらも参考になりました。 ありがとうございました。

noname#204879
noname#204879
回答No.2

》 *Sから始まる数字の4文字は必ず0から始まる… でも、示された例の一つ「かきS10233(Backup)」はソレと矛盾しませんか?シッカリしてください。

spicca2
質問者

補足

こんにちわ。 >シッカリしてください。 すみません、表記ミスでした。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

A1に文字列があるとき  =MID(A1,FIND("S",A1),5) をB1に貼り付ければ抽出が可能です。下方向にコピーしてください 例) A列              B列 あいうS01234(Backup)  S0123 かきAS0123         S0123 010S1234(Backup)     S1234 ただしこの式では文字列中に「S」がないとエラーになります。 エラーにならないようにするには式を以下に変えてください。  =IF(ISNUMBER(FIND("S",A1)),MID(A1,FIND("S",A1),5),"")

spicca2
質問者

補足

こんにちわ。 試してみたところ、できました! 回答ありがとうございました。 最初の質問で書き漏れてしまったのですが、 「特定の文字より前」ということで、この場合”(Backup)” という文字列の前から5文字分(Sを含め5桁)をしたいのですが 可能でしょうか。

関連するQ&A