• ベストアンサー

セル内の文字をスペースによって分割するには?

教えてください。 a1 に DX-09 1 SD-4 2 HPE-25 3 と、全角半角入り混じってスペースで区切られた文字が入っています。 これを、B1,C1,D1,E1,F1,G1にそれぞれDX-09,1,SD-4,2,HPE-25,3 と分割させたいです。 必ず半角スペースで区切られていますが、それぞれの文字の長さはマチマチです。 また、全角数字のも文字の長さは不定形です。 excel2010を使用しています。 お知恵を貸してください。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

A1セルを選択して、データ区切り位置以下の操作を知れば。そのものズバリの機能がエクセルにはあるよ。 A1だけでなく、同列複数セル範囲を指定して出来ます。 エクセル2007以後は http://www.relief.jp/itnote/archives/003560.php の操作のようです。

m_yas_mail
質問者

お礼

あ。目からうろこです。 関数にこだわってました… ありがとうございます。

その他の回答 (2)

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

こんばんは! 一番簡単なのは「区切り位置」を使用する方法だと思います。 データはA列・A1セルから下にあるとします。 列番号の「A」の部分で右クリック → コピー → B1セル上で右クリック → 貼り付け メニュー → データ → 区切り位置 → 「次へ」 → 「スペース」にチェックを入れ「完了」 VBAでも可能です 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i, j As Long Dim myArray As Variant For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row myArray = Split(Cells(i, 1), " ") For j = 0 To UBound(myArray) Cells(i, j + 2) = myArray(j) Next j Next i End Sub 'この行まで 参考になれば良いのですが・・・m(_ _)m

m_yas_mail
質問者

お礼

vba参考になりました。 ちょこっといじって使ってみます。 ありがとうございます。

  • matyu1003
  • ベストアンサー率42% (257/598)
回答No.2

Excel2010なら、データタブに「区切り位置」というボタンがあります。 これをクリックすると、「区切り位置指定ウィザード」が起動しますので、 「カンマやタブなどの区切り記号(以下略)」を選択し、次へ。 「区切り文字」としてスペースのみを選択して、次へ。 必要ならば、列のデータ形式を設定して完了でいけると思います。

m_yas_mail
質問者

お礼

ありがとうございます。 関数にこだわってました… ありがとうございました。

関連するQ&A

専門家に質問してみよう