• ベストアンサー

【Excel】特定の文字でセルを分けたい。

こんにちは A1に AA123AA345AA567 A2に AA9876AA654AA4321AA012 ・ ・ ・ とあります。 AAでセルを分けたいと思います。 B1に123 C1に345 D1に567 B2に9876 C2に654 D2に4321 E2に012 ・ ・ ・ それぞれ、どの様な式になるでしょうか。 Excel2013です。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! >それぞれ、どの様な式になるでしょうか。 MID・FIND・SUBSTITUTE関数などを駆使すれば可能だと思いますが、 結構長い数式になりますので、手っ取り早い方法としては A列を範囲指定 → データ → 区切り位置 → 「カンマやタブなどの・・・」が選択されているのを確認し → 次へ → 「その他」にチェックを入れ → A と入力(2文字は入力できないと思います) → 同じ画面の「連続した区切り文字は1文字として扱う」にチェックを入れ → 「完了」 これでB列以降に区切られて表示されると思います。 他の方法としてはVBAになりますが・・・ 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。 Sub Sample1() 'この行から Dim i As Long, k As Long, myArry For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row myArry = Split(Cells(i, "A"), "AA") For k = 1 To UBound(myArry) With Cells(i, k + 1) .Value = myArry(k) .NumberFormatLocal = "000" End With Next k Next i End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m

hee1
質問者

お礼

教えていただきました方法で、上手くいきました。 ありがとうございました。

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

B1セルに以下の数式を入力して右方向および下方向にオートフィルコピーしてください。 =TRIM(MID(SUBSTITUTE($A1,"AA",REPT(" ",100)),100*COLUMN(A1),100))

hee1
質問者

お礼

シンプルな式にまとめていただき、ありがとうございました。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>AAでセルを分けたいと思います。 ?、何を言いたいのか分かりません。 >それぞれ、どの様な式になるでしょうか。 提示の文字列が数字の区切りにAAがあるものとしてB列以降に数字(文字列)を切り出す場合は次の数式で良いと思います。 =IFERROR(MID($A1,FIND("/",SUBSTITUTE($A1,"AA","/",COLUMN(A1)))+2,IFERROR(FIND("/",SUBSTITUTE($A1,"AA","/",COLUMN(B1)))-FIND("/",SUBSTITUTE($A1,"AA","/",COLUMN(A1)))-2,LEN($A1))),"") SUBSTITUTE関数で"AA"を"/"に置き換えていますが"/"でない他の文字でも問題ありません。 但し、切り出された数字は文字列なので数値に変換するときはVALUE関数で変換してください。

hee1
質問者

お礼

解りやすくご説明いただきまして、 ありがとうございました。

関連するQ&A