• ベストアンサー

セル内の数字取り出しに困っています

田中1975佐藤1990田中1980山田1991田中1987 のように、一つのセルに同じ文字がなんども入っているものから 田中とその横の数字だけを取り出したいはどのようにすればよいでしょうか? とりだしたいものは「田中1975,田中1980,田中1987」です。 ひとつだけを取り出すことは下記のようにしてできたのですが、複数ある場合がうまくいきません。 =MID(A1,SEARCH("田中",A1,1),6) よろしくお願いします。

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

  • ベストアンサー
  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

MIDとSEARCHを分離しては? A1 =田中1975佐藤1990田中1980山田1991田中1987 として B1 =SEARCH("田中",$A$1,1) B2 =SEARCH("田中",$A$1,B1+6) で、B3以下にコピー C1 =MID($A$1,B1,6) で、C2以下にコピー で、どうでしょう

ha-chansan
質問者

お礼

なんとか上記を利用して、狙いとすることはできるようになりました。 わかりやすく説明くださりありがとうございました。 大変助かりました。

ha-chansan
質問者

補足

ご回答ありがとうございます。 おっしゃることは理解できました。 ただ私の説明不足で申し訳ございません。 同じ行で「田中1975」「田中1980」「田中1987」・・・としたいです。 上記のようなセルが複数(千以上)あり、 さらに、田中の数も異なっており、田中の間が一人だけとは限りません。 このような場合は、田中の出る数を想定しておいて、 ずらっと同じ行に上記を並べるという方法でよいのでしょうか?

その他の回答 (2)

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.3

>同じ行で「田中1975」「田中1980」「田中1987」・・・としたいです 横に並べるんでしたね(^_^;) A2 =SEARCH("田中",$A$1,1) B2 =SEARCH("田中",$A$1,A2+6) で、C2から右にコピー A3 =MID($A$1,A2,6) で、B3から右にコピー で、どうでしょう >田中の数も異なっており、田中の間が一人だけとは限りません これについてはSEARCH開始位置を前に見つけた位置+6からSEARCHしているので大丈夫だと思います

回答No.2

A1=田中1975佐藤1990田中1980山田1991田中1987 以下A列にデータがあるものとして、 B1=FIND("田中",$A1,1) C1=MID($A1,B1,6) D1=FIND("田中",$A1,B1+1) C1:D1をコピーして、仮にE1:J1に貼り付ける。 そうすると、C1に田中1975、E1に田中1980、G1に田中1987と、一列おきに出てきます。 H列以降は、それ以降に”田中”が無いのでエラーになります。 あとは、データ量に応じてコピペの範囲を広げるのはどうでしょうか?

関連するQ&A

専門家に質問してみよう