• ベストアンサー

Excel 文字列の抽出

Excel初心者です。 1つのセルに以下のデータが入力されています。 A:文字列B:文字列C:文字列D:文字列 このセルの「C:」から「D:」の間にある文字列を 他のセルに抽出する方法を教えてください。 宜しくお願いいたします。

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

  • ベストアンサー
回答No.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)ひき、何文字取り出すか求めました。 わかりづらい説明ですみません。 ご質問に沿う回答でしたでしょうか?

stuknj2005
質問者

お礼

lucia_2004さん、ご回答有難うございました。 解説付きで判りやすかったです。 =MID(A1,SEARCH("C:",A1)+2,SEARCH("D:",A1)-SEARCH("C:",A1)-2) このようにして使用させて頂きました。

その他の回答 (1)

  • masa_019
  • ベストアンサー率61% (121/197)
回答No.1

セルに入力されている文字列に CやDが二つ以上ない Cが必ずDの前にある という前提で、 文字列がA1に有る場合 =MID(A1,FIND("C",A1)+2,FIND("D",A1)-(FIND("C",A1)+2)) ではいかがでしょう。

stuknj2005
質問者

お礼

masa_019さん、ご回答有難うございました。 CやDは二つ以上ありましたが =MID(A1,FIND("C:",A1)+2,FIND("D:",A1)-(FIND("C:",A1)+2)) と、":"を入れることで解決できました。

関連するQ&A