Excel - kolom ke baris [ditutup]

0

Saya memiliki daftar data berikut:

A1
1
2
3
4
5
6
7
8
9
10

dan saya perlu mengubah data menjadi:

A1 B1 C1 D1 E1 
1   2  3  4  5

A2 B2 C2 D2 E2
 6  7  8  9 10
larz
sumber
3
Saya memberikan suara untuk menutup pertanyaan ini sebagai di luar topik karena pertanyaan harus menunjukkan jumlah penelitian yang masuk akal & pemahaman tentang masalah yang sedang dipecahkan. Harap edit ke a) jelaskan masalah Anda dan penelitian yang dilakukan sejauh ini untuk menyelesaikannya atau b) sertakan solusi yang dicoba ditambah mengapa mereka tidak berhasil. Dalam kedua kasus, pastikan hasil yang Anda harapkan disajikan dengan jelas.
Tetsujin
1
Apakah ini data Anda yang sebenarnya atau apakah data Anda yang sebenarnya jauh lebih besar? Apakah Anda perlu melakukannya hanya sekali atau secara teratur? Ada beberapa solusi, semua kompromi yang berbeda antara kompleksitas dan manipulasi data manual, kita perlu mengetahui detail di atas untuk menyarankan yang terbaik untuk situasi Anda.
Máté Juhász
@ MátéJuhász data asli saya adalah daftar 8000 kode yang saya perlu sekali untuk membaginya menjadi 8 kolom jadi saya memiliki hasil 1000 baris.
larz

Jawaban:

2

Dalam formula A1 masukkan:
=INDEX($J$1:$J$8000,(ROW()-1)*8+COLUMN())

Salin rumus ke semua sel A1: H1

Di bilah alamat ketik "A1: H8000", lalu tekan CTRL + D untuk mengisi rumus ke semua baris.

masukkan deskripsi gambar di sini

Máté Juhász
sumber
0

Berikut ini adalah kode VBA. Jangan lupa untuk memperbarui nilai sourceRange , targetCell , dan kolom .

Sub GenerateMatrix()
Dim rows As Integer, columns As Integer
Dim sourceRange As Range
Dim targetCell As Range
Dim cellCount As Integer, i As Integer, j As Integer
Dim arr As Variant
Set sourceRange = Range("Sheet2!A1:A10")
Set targetCell = Range("Sheet2!A1")
cellCount = sourceRange.Count
ReDim arr(1 To cellCount)
For i = 1 To cellCount
    arr(i) = sourceRange.Cells(i, 1)
Next i
columns = 5
rows = cellCount / 5
For j = 1 To rows
    For i = 1 To columns
        targetCell.Offset(j - 1, i - 1) = arr((j - 1) * columns + i)
    Next i
Next j
End Sub
FezzikMontoya
sumber