プロが教えるわが家の防犯対策術!

エクセルで、

87
64
25

33
98
52

45
72
19

といったデータを、

87 33 45
64 98 72
25 52 19

というように、改行部分を改列にしたいのですが、どのように操作すればよろしいでしょうか。

A 回答 (4件)

>改行部分を改列に



もしかしてこれ?

A1 =87
  64
  25
として
B1 =LEFT(A1,2)
C1 =MID(A1,4,2)
D1 =MID(A1,7,2) 又は =RIGHT(A1,2)
    • good
    • 1

次の方法は如何でしょうか。


1セル内に改行されたデータを横列に抽出します。
(1)仮にA列として、A列を選択
(2)データ→区切り位置→次へ→区切り文字で「その他」を選択、コード欄にctrl+Jキーを同時押下(コード表示されませんがデータプレビュー欄に区切り表示される)→完了
    • good
    • 0

任意のセルに次式を入力して、下方および右方2列ドラッグ&ペースト


=OFFSET($A$1,ROW(A1)-1+(COLUMN(A1)-1)*4,)
    • good
    • 0

VBAでやるような課題。


標準モジュールに
Sub test01()
d = Range("A65536").End(xlUp).Row
j = 3 'D列から右行に書き出し
K = 1 '1行目から書き出し
blk = "N" '今までの塊の中で無い
For i = 1 To d '第1行からd行まで繰り返し処理
If Cells(i, "A") = "" Then '空白なら
blk = "N" '今までの塊の続きの中で無くなった
Else
If blk = "N" And Cells(i, "A") <> "" Then '塊が切れて後の初の非空白
blk = "Y" '塊の状態の始まり
K = 1 '第1行目に書き出し用意
j = j + 1 '列を右行へ書き出し用意
Cells(K, j) = Cells(i, "A") '書きだし
K = K + 1 '1行下へ書き出し用意
Else
Cells(K, j) = Cells(i, "A") '書き出し
K = K + 1 '次回は1行下へ書き出し用意
End If
End If
Next i

End Sub
例データ
87
64
25

33
98
52

45
72
19

11
23
41
ーー
結果
87334511
64987223
25521941
==========
関数でやると
I1に式 =INDEX($A$1:$A$100,(COLUMN()-9)*4+ROW(),1)
I3まで式を複写。
I1:I3までを横方向に式を複写。
上式で、I列から書き出し始めるのでI列は9番めの列であるので、9という数字が出てくる。
結果
87334511
64987223
25521941
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!