ไปยังเนื้อหาหลัก

จะเปลี่ยนทุกๆ 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 วัน ดาวน์โหลดและทดลองใช้ฟรีทันที!

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...

kte แท็บ 201905


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

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
Comments (15)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Bonjour,

J'ai, dans mon unique colonne de données, des cellules placées aléatoirement toutes les x lignes et qui contiennent une suite de caractères.

Je voudrait que cette cellule soit dans la première colonne de la ligne transposée, avec, dans les colonnes suivantes, la transposition des lignes qui la suivent, jusqu'à la répétition de ma chaine de caractères, qui signifierait le début de la ligne suivante...

Bref, Heeelllp...

Merci d'avance
Stéphane
This comment was minimized by the moderator on the site
You're a genius. Thanks!
Rated 5 out of 5
This comment was minimized by the moderator on the site
I try doing this just as written, and all I get is Error:508
This comment was minimized by the moderator on the site
Hi, How to do this for Colms to rows. Thank you
This comment was minimized by the moderator on the site
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, ...
This comment was minimized by the moderator on the site
Thanks alot _/\_ Awesome job with =INDEX($A:$A,ROW(B1)*5-5+COLUMN(B1))
worked perfectly
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
This is fricking AWESOME!!! Thank you SO much. Your example was exactly what I needed and it worked beautifully.
This comment was minimized by the moderator on the site
=INDEX($A:$A,ROW(A1)*5-5+COLUMN(A1))
It was very simple and really useful. Thank you so much
This comment was minimized by the moderator on the site
It was great! Thank you! You saved me hours of manual work!
This comment was minimized by the moderator on the site
Thank you so much! It was really helpful. :)
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations