- ベストアンサー
セル内の改行された文字列を分割
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#1です。Excelの機能「区切り位置」でできました。 EXCELのバージョンは何ですか? 2003までなら、メニューの[データ]>[区切り位置] 2007以降なら[データ]>[データツール]グループの[区切り位置] バージョンに合わせて読み替えてください。 セルB2~セルF5には何も無い状態から始めるものとしますよ。 1)セルA2~A5を選択して「コピー」 2)セルB2に「貼り付け」 3)そのままの状態で、上記の方法で[区切り位置]を起動 4)「カンマやタブなどの・・(後略)」を選んだ状態で「次へ」 5)「区切り文字」の「その他」にチェック(レ点)付ける 6)「その他」の右隣のボックスをクリックしてCtrl+Jキー押下 (何も入力されないように見えるが、下にある「データのプレビュー」が変化する) 7)「完了」ボタンをクリック
その他の回答 (4)
- KURUMITO
- ベストアンサー率42% (1835/4283)
B2セルに次の式を入力して右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =TRIM(MID(SUBSTITUTE($A1,CHAR(10),REPT(" ",100)),(COLUMN(A1)-1)*100+1,100))
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! VBAでの一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) とりあえず1セルに10行あっても対応できるようにしてみました。 Sub test() 'この行から Columns(1).Insert Dim i, j As Long For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row Cells(i, 1) = Cells(i, 2) For j = 3 To 12 If WorksheetFunction.Find(Chr(10), Cells(i, 1)) Then On Error Resume Next With Cells(i, j) .Value = Mid(Cells(i, 1), 1, WorksheetFunction.Find(Chr(10), Cells(i, 1))) .WrapText = False End With With Cells(i, 1) .Value = Replace(Cells(i, 1), Cells(i, j), "") .WrapText = True End With End If Next j Cells(i, Columns.Count).End(xlToLeft).Offset(, 1) = Cells(i, 1) Next i Columns(1).Delete End Sub 'この行まで こんな感じではどうでしょうか?m(__)m
- kagakusuki
- ベストアンサー率51% (2610/5101)
関数を使用して行う場合には、次の様な関数をB2セルに入力してから、B2セルをコピーして、B2~F5の範囲に貼り付けて下さい。(それ以上の範囲に貼り付けても正常に動作します) =IF(OR($A2="",COLUMNS($B:B)>LEN($A2)-LEN(SUBSTITUTE($A2,CHAR(10),))+1),"",REPLACE(REPLACE($A2,FIND("゛",SUBSTITUTE($A2&CHAR(10),CHAR(10),"゛",COLUMNS($B:B))),LEN($A2),),1,FIND("゛",SUBSTITUTE(CHAR(10)&$A2,CHAR(10),"゛",COLUMNS($B:B)))-1,))
お礼
ありがとうございます。 今後の参考とさせていただきます。
- bin-chan
- ベストアンサー率33% (1403/4213)
今、EXCELを動かせる環境にないので未検証ですが。 セル内データを「ある文字を区切り記号と解釈してセルを分割する」機能があります。 データ>区切り位置です。区切り文字を指定すると、右方向に分割してくれます。 (そのためには、右側にデータがあってはいけない) この機能で、区切り文字「その他」で任意の文字を指定できます。 セル内改行文字は Ctrl+Jキー押下で指定できるはず。 未検証ですが、シートをコピーするなどした上でお試しください。 > ちなみにデータには改行されていない(学校名が一つだけ)のデータもあります。 この場合は、そのまま残ります。
お礼
ありがとうございます。 この方法でうまくできました。