• ベストアンサー
  • 困ってます

エクセルの複数列データを一列に並び変える方法につい

  • 質問No.9625687
  • 閲覧数225
  • ありがとう数6
  • 気になる数0
  • 回答数6
  • コメント数0

お礼率 15% (37/238)

エクセルでA1~D4のデータをA10~D13に、F1~I6をA14~D19に、L1~O3をA20~D23に並べる方法を教えてください。
1列毎のデータ並び変えはネットにありますが、複数列データを並び変えるのが見つかりません。
よろしくお願いします。

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

  • 回答No.4
  • ベストアンサー

ベストアンサー率 20% (267/1290)

1.下記の式を入力したセル A10 を右に3列オートフィルした後で、
 ̄ ̄セル E10 に式 =SUM(A10:D10)/SUM(A10:D10) を入力
 ̄ ̄=OFFSET($A$1,MOD(ROW(A1)-1,5),COLUMN(A1)-1+INT((ROW(A1)-1)/5)*5)
2.範囲 A10:E10 を下方にズズーッと(E列に #DIV/0! が連続するまで)
 ̄ ̄オートフィル ⇒ そのままの状態で Ctrl+A ⇒ Ctrl+C
3.データを含む範囲内の任意のセルを選択 ⇒ Ctrl+A ⇒ [値の貼り
 ̄ ̄付け]を実行 ⇒ Ctrl+G ⇒ [セル選択] ⇒ “定数”に目玉入れ、かつ、
 ̄ ̄“エラー値”以外のチェック外し ⇒ [OK] ⇒ 選択された任意のセル
 ̄ ̄上でマウスの右クリック ⇒ [削除] ⇒ “行全体”に目玉入れ ⇒ [OK]
 ̄ ̄⇒ E列全体を選択 ⇒ Deleteをパシーッ

その他の回答 (全5件)

  • 回答No.6

ベストアンサー率 43% (3480/8026)

他カテゴリのカテゴリマスター
>エクセルでA1~D4のデータをA10~D13に、F1~I6をA14~D19に、L1~O3をA20~D23に並べる方法を教えてください。
提示の画像ではL1~O3をA20~D23ではなくK1~N3をA20~D22のようです。
画像の方が正しいと解釈します。

A10セルへ次の数式を設定して右へD10までコピーし、A10:D10を下へ必要数コピーします。
=IFERROR(SMALL($A$1:$N$9,COLUMNS($A$10:A10)+(ROWS($A$10:A10)-1)*4),"")
添付画像はExcel 2013で検証した結果です。
尚、A1:N9の範囲で空欄は未入力セルで数値の入力は値の小さい順にキーボードから入力されています。
  • 回答No.5

ベストアンサー率 28% (4513/16115)

これはVBA向きの課題だと思う。
すでにVBAでの回答も出ていますが、「コード行数を少なくする」ことを目指して、やってみた。
ーー
標準モジュールに
Sub test01()
k = 30 '結果を30行目から書き出しと仮定
For Each c In Array(1, 6, 11) 'A,F,K列(から4列)について
lr = Cells(100000, c).End(xlUp).Row '最下データ行を察知
For r = 1 To lr '各ブロックの1行からlr行までについて
For j = 1 To 4 '各ブロックは4列なので横方向に4回繰り返し
Cells(k, j) = Cells(r, c + j - 1)
Next j
k = k + 1 '次は1行下へ書き出し
Next r
Next
End Sub
結果
A30から下へ(多少、質問データと異なるかも)
1234
4567
891011
12131415
50515253
54555657
58596061
62636465
66676869
70717273
100101102103
104105106107
108109110111
  • 回答No.3

ベストアンサー率 55% (655/1190)

Excel(エクセル) カテゴリマスター
現在の位置で行の範囲が可変だとしたら
(A-DはA10より上にある)

Sub Example()
Dim i As Long

Application.ScreenUpdating = False
For i = Columns("A").Column To Columns("K").Column Step 5
Range(Cells(1, i), Cells(1, i + 3).End(xlDown)).Copy
If Cells(10, "A").Value = "" Then
Cells(10, "A").PasteSpecial
Else
Cells(10, "A").End(xlDown).Offset(1, 0).PasteSpecial
End If
Next
Application.ScreenUpdating = True
End Sub
  • 回答No.2

ベストアンサー率 33% (390/1159)

今一つ質問の意図が理解できません。「1列毎のデータ並び変え」というのが何なのかもわかりません。単に一つの表にまとめるだけなら下記です。

A1~D4のセルを選択して切り取り、A10セルを選択して貼り付ける。F1~I6のセルを選択して切り取り、A10セルを選択して貼り付ける。L1~O3も同様。
あるいは、A1~D4セルを選択後、ドラッグしてA10までもっていく。他のセルも同様。
  • 回答No.1

ベストアンサー率 62% (462/741)

Excel(エクセル) カテゴリマスター
>、複数列データを並び変えるのが見つかりません。
そのまんまコピーしているのでは
Sub Test()
  Range("A1:D4").Copy Range("A10")
  Range("F1:I6").Copy Range("A14")
  Range("K1:N3").Copy Range("A20")
End Sub
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ