質問

こんにちわ。

「特定の文字列より前の文字列を抜き出す(文字数固定)」を質問させてください。

例)
あいうS01234(Backup)
かきS10233(Backup)
さしすせそS0223(Backup)

といったデータがあります。
隣のセルにSから始まる数字(Sを含む5文字分)を抜き出すことは可能でしょうか。

*文中に、どこからS****が入るかばらばら
*抜き出したい文字列は半角で必ずSから始まり、数字4文字
*抜き出したい文字列(Sと数字をあわせ5文字)の後ろに必ず”(Backup)”がつく
*Sから始まる数字の4文字は必ず0から始まるが、その後の数字3桁はユニーク

どなたか、よろしくお願いします。

通報する

回答 (7件)

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

この回答への補足

こんにちわ。

回答ありがとうございます。

試したところ教えていただいたとおりになりますが、
今回は「(Backup)より前」ということで質問させて
いただきました。

教えていただいた計算式は別の機会に使わせていただきます。
ありがとうございました。

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

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

=MID(A1,FIND("S0",A1),5)

この回答への補足

こんにちわ。

回答ありがとうございました。
こちらのやり方でもできました。

計算式が短いので、助かります。

ありがとうございました。

提示された例では、さしすせそS0223(Backup)しか
> *抜き出したい文字列(Sと数字をあわせ5文字)の後ろに必ず”(Backup)”がつく
に反して数字だけで5文字あり、Sとあわせると6文字になるのですが・・・。

まあ (Backup)の前の5文字だけ抜き出すのなら
=MID(A1,FIND("(Backup)",A1)-5,5)
です。Sのあとで検索すると、数字の直前のS以外にSがあるとまずいので。

この回答への補足

こんにちわ。

>Sとあわせると6文字になるのですが・・・。
すみません、表記ミスでした。

教えていただいたやり方でできました!
FIND関数は今まで使ったことがなかったので
いろいろと活用したいと思います。

ありがとうございました。

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

この回答への補足

こんにちわ。

回答ありがとうございます。

質問文中に「必ず(Backup)がつく」とあったので
こちらも参考になりました。

ありがとうございました。

》 *Sから始まる数字の4文字は必ず0から始まる…

でも、示された例の一つ「かきS10233(Backup)」はソレと矛盾しませんか?シッカリしてください。

この回答への補足

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

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),"")

この回答への補足

こんにちわ。

試してみたところ、できました!
回答ありがとうございました。

最初の質問で書き漏れてしまったのですが、
「特定の文字より前」ということで、この場合”(Backup)”
という文字列の前から5文字分(Sを含め5桁)をしたいのですが
可能でしょうか。

このQ&Aは役に立ちましたか?2 件

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

新しく質問する

このQ&Aを見た人はこんなQ&Aも見ています

注目の記事

おしトピにAndroid版アプリが登場

話題のトピックにさくっとコメントできる「おしトピ」に Android版アプリが登場! もっと身近に使いやすくなりました。


新しく質問する

このカテゴリの人気Q&Aランキング

毎日見よう!教えて!gooトゥディ

べんりQ&A特集