- ベストアンサー
Excel 文字列の抽出
Excel初心者です。 1つのセルに以下のデータが入力されています。 A:文字列B:文字列C:文字列D:文字列 このセルの「C:」から「D:」の間にある文字列を 他のセルに抽出する方法を教えてください。 宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
A:文字列B:文字列C:文字列D:文字列 が、A1にあるデータとして =MID(A1,SEARCH("C",A1)+1,SEARCH("D",A1)-SEARCH("C",A1)-1) MID関数・・セルの○文字目から○文字数抽出する関数 SEARCH関数・・今回の場合は、Cが何文字目にあるか調べるのと、Dが何文字目にあるか調べる関数として使用。 A:文字列B:文字列C:文字列D:文字列 Cは、11文字目にありますので、SEARCH("C",A1)でそれを求めて、「;」がありますから+1とする。 つまり、C;の後の文字列は、「A:文字列B:文字列C:文字列D:文字列」の12文字目にあるというのを求めました。 Dは、16文字目にありますので、SEARCH("D",A1)で求めました。 そこから、Cが何文字目か(SEARCH("C",A1)で求めて11文字目)調べてCの後の「;」の分を(-1)ひき、何文字取り出すか求めました。 わかりづらい説明ですみません。 ご質問に沿う回答でしたでしょうか?
その他の回答 (1)
- masa_019
- ベストアンサー率61% (121/197)
セルに入力されている文字列に CやDが二つ以上ない Cが必ずDの前にある という前提で、 文字列がA1に有る場合 =MID(A1,FIND("C",A1)+2,FIND("D",A1)-(FIND("C",A1)+2)) ではいかがでしょう。
お礼
masa_019さん、ご回答有難うございました。 CやDは二つ以上ありましたが =MID(A1,FIND("C:",A1)+2,FIND("D:",A1)-(FIND("C:",A1)+2)) と、":"を入れることで解決できました。
お礼
lucia_2004さん、ご回答有難うございました。 解説付きで判りやすかったです。 =MID(A1,SEARCH("C:",A1)+2,SEARCH("D:",A1)-SEARCH("C:",A1)-2) このようにして使用させて頂きました。