จัดเรียงเมทริกซ์ Excel 15 X 25 ใหม่เป็นสามคอลัมน์


2

ใน Excel ฉันมีข้อมูลในเซลล์ตั้งแต่ A1 ถึง O5 (15 X 25)

ฉันต้องการจัดเรียงสิ่งต่าง ๆ เช่นที่ฉันมีดังต่อไปนี้

  [A1][B1][C1]   
  [D1][E1][F1]   
  [G1][H1][I1]   
  [J1][K1][L1]  
  [M1][N1][O1]   
  [A2][B2][C2]   
  [D2][E2][F2]

... และต่อไป

ฉันพยายามและล้มเหลวในการหาวิธีที่สวยงามในการทำเช่นนี้ใน Excel มีคนช่วยแนะนำฉันได้ไหม

ฉันเคยเห็นสิ่งนี้แต่พวกเขาดูเหมือนจะเล่นเกมที่แตกต่างกันเล็กน้อยที่นั่น

คำตอบ:


2

นี่คือช็อต VBA:

Option Explicit

Sub rearrange()
Dim aValues As Variant
Dim i As Integer, j As Integer
Dim lRow As Long

'store the values in an array
aValues = Worksheets("Sheet1").Range("A1:O5").Value
lRow = 1

With Worksheets("Sheet2")
    For i = 1 To UBound(aValues, 1)
        For j = 1 To UBound(aValues, 2) Step 3
            .Cells(lRow, 1).Value = aValues(i, j)
            .Cells(lRow, 2).Value = aValues(i, j + 1)
            .Cells(lRow, 3).Value = aValues(i, j + 2)
            lRow = lRow + 1
        Next j
    Next i
End With
End Sub

การทดสอบที่ประสบความสำเร็จ +1
Raystafarian

2

สิ่งนี้ตรงกับความต้องการของคุณหรือไม่?

  • ตั้งค่า E21 เป็น =INT((ROW(A1)-1)/5)
  • ตั้งค่า F21 เป็น =MOD(ROW(A1)-1,5)
  • ตั้งค่า A21 เป็น =INDIRECT("R" & ($E21+1)&"C" & (COLUMN(A21)+$F21*3),FALSE)
  • คัดลอก A21 ไปยัง B21 และ C21
  • คัดลอก A21: F21 ลงหลายแถวตามต้องการ
  • ใช้ Paste Special Values ​​เพื่อแปลง A21: Cnn เป็นค่าแทนที่จะเป็นสูตร

นอกจากนี้ยังมีการทดสอบที่ประสบความสำเร็จ
Raystafarian

ฉันไม่คิดว่าเว็บไซต์อนุญาตให้ฉันติ๊กทั้งข้อเสนอแนะ แต่มันยอดเยี่ยมทั้งคู่ ขอบคุณ!
user1205197

JMax โพสต์คำตอบของเขาสองสามวินาทีก่อนของฉันดังนั้นจึงยุติธรรมเขาได้รับคะแนนสำหรับคำตอบที่ยอมรับ
Tony Dallimore
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.