Note: The other languages of the website are Google-translated. Back to English
ล็อกอิน  \/ 
x
or
x
สมัครสมาชิก  \/ 
x

or

จะเปลี่ยนทุกๆ 5 หรือ n แถวจากคอลัมน์เดียวเป็นหลายคอลัมน์ได้อย่างไร

doc เปลี่ยนทุก 5 แถว 1

สมมติว่าคุณมีข้อมูลยาวในคอลัมน์ A และตอนนี้คุณต้องการเปลี่ยนทุกๆ 5 แถวจากคอลัมน์ A ไปยังหลายคอลัมน์เช่นเปลี่ยน A1: A5 เป็น C6: G6, A6: A10 เป็น C7: G7 เป็นต้น ตามภาพหน้าจอที่แสดง คุณจะจัดการกับงานนี้ได้อย่างไรโดยไม่ต้องคัดลอกและวางซ้ำ ๆ ใน Excel

เปลี่ยนทุกๆ 5 หรือ n แถวจากคอลัมน์หนึ่งไปยังหลายคอลัมน์ด้วยสูตร

เปลี่ยนทุกๆ 5 หรือ n แถวจากหนึ่งคอลัมน์เป็นหลายคอลัมน์ด้วยรหัส VBA

ย้ายทุกๆ 5 หรือ n แถวจากคอลัมน์หนึ่งไปยังหลายคอลัมน์ด้วย Kutools for Excel


ใน Excel คุณสามารถใช้สูตรต่อไปนี้เพื่อเปลี่ยนทุก n แถวจากคอลัมน์หนึ่งไปยังหลายคอลัมน์ได้โปรดทำดังนี้:

1. ป้อนสูตรต่อไปนี้ลงในเซลล์ว่างที่คุณต้องการใส่ผลลัพธ์ C1 ตัวอย่างเช่น = ดัชนี ($ A: $ A, ROW (A1) * 5-5 + COLUMN (A1))ดูภาพหน้าจอ:

doc เปลี่ยนทุก 5 แถว 2

หมายเหตุ: ในสูตรข้างต้น A: A คือการอ้างอิงคอลัมน์ที่คุณต้องการเปลี่ยนและ A1 เป็นเซลล์แรกของคอลัมน์ที่ใช้หมายเลข 5 ระบุจำนวนคอลัมน์ที่ข้อมูลของคุณจะค้นหาคุณสามารถเปลี่ยนได้ตามความต้องการของคุณ และเซลล์แรกของรายการจะต้องอยู่ที่แถวแรกในแผ่นงาน

2. จากนั้นลากที่จับเติมไปทางขวาถึงห้าเซลล์แล้วลากที่จับเติมลงไปที่ช่วงของเซลล์จนกระทั่งแสดงเป็น 0 ดูภาพหน้าจอ:

doc เปลี่ยนทุก 5 แถว 3


แปลงทุกๆ 5 หรือ n แถวจากคอลัมน์เดียวเป็นหลายคอลัมน์:

ในการแปลงทุกๆ 5 หรือ n แถวจากหนึ่งคอลัมน์เป็นหลายคอลัมน์ Kutools สำหรับ Excel's ช่วงการแปลง ยูทิลิตี้สามารถช่วยคุณแก้งานนี้ได้โดยเร็วที่สุด นอกจากนี้ยังสามารถช่วยคุณในการเปลี่ยนช่วงของข้อมูลเป็นแถวหรือคอลัมน์เดียว คลิกเพื่อดาวน์โหลด Kutools for Excel!

doc เปลี่ยนทุก 5 แถว 10

Kutools สำหรับ Excel: ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการให้ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน ดาวน์โหลดและทดลองใช้ฟรีทันที!


หากคุณไม่สามารถใช้สูตรได้อย่างถูกต้องรหัส VBA ต่อไปนี้สามารถช่วยคุณได้

1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ โมดูล หน้าต่าง.

รหัส VBA: เปลี่ยนทุกๆ 5 หรือ n แถวจากคอลัมน์หนึ่งเป็นหลายคอลัมน์:

Public Sub TransposeData()
'updateby Extendoffice
    Dim xLRow As Long
    Dim xNRow As Long
    Dim i As Long
    Dim xUpdate As Boolean
    Dim xRg As Range
    Dim xOutRg As Range
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select data range(only one column):", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If (xRg.Columns.Count > 1) Or _
       (xRg.Areas.Count > 1) Then
        MsgBox "the used range only contain one column", , "Kutools for Excel"
        Exit Sub
    End If
    Set xOutRg = Application.InputBox("please select output range(specify one cell):", "Kutools for Excel", xTxt, , , , , 8)
    If xOutRg Is Nothing Then Exit Sub
    Set xOutRg = xOutRg.Range(1)
    xUpdate = Application.ScreenUpdating
    Application.ScreenUpdating = False
    xLRow = xRg.Rows.Count
    For i = 1 To xLRow Step 5
        xRg.Cells(i).Resize(5).Copy
        xOutRg.Offset(xNRow, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
        xNRow = xNRow + 1
    Next
    Application.ScreenUpdating = xUpdate
End Sub

3. หลังจากวางรหัสแล้วกรุณากด F5 เพื่อเรียกใช้และกล่องพร้อมต์จะปรากฏขึ้นเพื่อเตือนให้คุณเลือกคอลัมน์ที่คุณต้องการเปลี่ยนดูภาพหน้าจอ:

doc เปลี่ยนทุก 5 แถว 4

4. จากนั้นคลิก OKและเลือกเซลล์หนึ่งเซลล์ที่คุณต้องการใส่ผลลัพธ์ในอีกช่องที่โผล่ออกมาดูภาพหน้าจอ:

doc เปลี่ยนทุก 5 แถว 5

5. และคลิก OKข้อมูลในคอลัมน์ถูกแปลงเป็นห้าคอลัมน์ที่คุณต้องการดูภาพหน้าจอ:

doc เปลี่ยนทุก 5 แถว 6

หมายเหตุ: ในรหัสด้านบนคุณสามารถเปลี่ยนหมายเลขได้ 5 ไปยังหมายเลขอื่น ๆ ที่คุณต้องการ


ถ้าคุณมี Kutools สำหรับ Excelเดียวกันกับที่ ช่วงการแปลง ยูทิลิตี้คุณสามารถเปลี่ยนคอลัมน์หรือแถวหนึ่งคอลัมน์เป็นหลายคอลัมน์และแถวได้อย่างรวดเร็ว

Kutools สำหรับ Excel : ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน. 

หลังจากการติดตั้ง Kutools สำหรับ Excelโปรดดำเนินการดังนี้:

1. เลือกข้อมูลในคอลัมน์จากนั้นคลิก Kutools > พิสัย > ช่วงการแปลงดูภาพหน้าจอ:

2. ใน ช่วงการแปลง ใหเลือก คอลัมน์เดียวถึงช่วง ภายใต้ ประเภทการแปลงแล้วตรวจสอบ ค่าคงที่ ภายใต้ แถวต่อบันทึกจากนั้นระบุจำนวนคอลัมน์ที่คุณต้องการเปลี่ยนไปในไฟล์ ค่าคงที่ ดูภาพหน้าจอ:

doc เปลี่ยนทุก 5 แถว 8

3. จากนั้นคลิก Ok ในช่องที่โผล่ออกมาโปรดเลือกเซลล์ที่จะแสดงผลลัพธ์ดูภาพหน้าจอ:

doc เปลี่ยนทุก 5 แถว 9

4. จากนั้นคลิก OK และข้อมูลคอลัมน์ของคุณจะถูกย้ายทุกๆ 5 แถวตามภาพหน้าจอต่อไปนี้:

doc เปลี่ยนทุก 5 แถว 6

ดาวน์โหลดและทดลองใช้ Kutools for Excel ฟรีทันที!


Kutools สำหรับ Excel: ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการให้ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน ดาวน์โหลดและทดลองใช้ฟรีทันที!

เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • Super Formula Bar (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Pradeep · 1 years ago
    Hi, How to do this for Colms to rows. Thank you
    • To post as a guest, your comment is unpublished.
      Jan steihn · 11 months ago
      I've rewritten the command to this one:
      =INDEX($A:$A,ROW(A1)+((COLUMN(A1)-2)*5))
      This executes it inverted.
      So:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      ...
      becomes
      1, 6
      2, 7
      3, 8
      4, 9
      5, ...
  • To post as a guest, your comment is unpublished.
    Maha · 1 years ago
    Thanks alot _/\_ Awesome job with =INDEX($A:$A,ROW(B1)*5-5+COLUMN(B1))
    worked perfectly
  • To post as a guest, your comment is unpublished.
    Arun Balaji VN · 1 years ago
    I tried only the the formula option and it worked great. Till now have been using (Transpose formula with ctrl+shift+enter) but there the disadvantage for we have delete many extra rows. when the rows to be transposed for large in the order of lakhs, then deleting them in excel is either impossible or takes a lot of time.
    this approach made the life easier by only copying the required rows... Thanks
  • To post as a guest, your comment is unpublished.
    Sian · 2 years ago
    This is fricking AWESOME!!! Thank you SO much. Your example was exactly what I needed and it worked beautifully.
  • To post as a guest, your comment is unpublished.
    hamidreza · 3 years ago
    =INDEX($A:$A,ROW(A1)*5-5+COLUMN(A1))
    It was very simple and really useful. Thank you so much
  • To post as a guest, your comment is unpublished.
    Thank · 3 years ago
    It was great! Thank you! You saved me hours of manual work!
  • To post as a guest, your comment is unpublished.
    xplode · 3 years ago
    Thank you so much!
    It was really helpful. :)
  • To post as a guest, your comment is unpublished.
    MTVN · 4 years ago
    What formula to transpose every 5 rows to a single column?
  • To post as a guest, your comment is unpublished.
    hgimongu · 4 years ago
    Hi!

    May I ask you how to add Blank cell delimits records, instead of 5 as the data I am handling hasn't got fix number of rows. I believe the part which I should change may be around this part of the code:

    For i = 1 To xLRow Step 5
    xRg.Cells(i).Resize(5).Copy
    xOutRg.Offset(xNRow, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    xNRow = xNRow + 1

    Best
    • To post as a guest, your comment is unpublished.
      Mark.lewis2020 · 11 months ago
      I have the same issue , where the columns are not fixed, and there are empty lines, but I have a same character and end of each data set , that is "=" can I use this as delimiter , that breaks the loop, and next line is considered as new data set ?
    • To post as a guest, your comment is unpublished.
      Mark · 11 months ago
      did you get an answer for the same as i have the same issue , columns are not fixed in numbers, what should I do , can I use a particular character as a delimiter that breaks the loop and count next line and new data set ?