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

วิธีแบ่งคอลัมน์ทุกแถวใน Excel

doc แบ่งทุกแถว 1

ตัวอย่างเช่นฉันมีรายการข้อมูลจำนวนมากและตอนนี้ฉันต้องการแบ่งคอลัมน์ออกเป็นสองรายการเท่า ๆ กันโดยแถวอื่น ๆ ตามภาพหน้าจอต่อไปนี้ มีวิธีที่ดีในการจัดการกับงานนี้ใน Excel หรือไม่?

แบ่งคอลัมน์ทุกแถวด้วยสูตร

แบ่งคอลัมน์ทุกแถวด้วยรหัส VBA

แยกคอลัมน์ทุกแถวด้วย Kutools for Excel


ลูกศรสีฟ้าฟองขวา แบ่งคอลัมน์ทุกแถวด้วยสูตร

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

1. ป้อนสูตรนี้ลงในเซลล์ว่าง C2 ตัวอย่างเช่น =INDEX($A$2:$A$13,ROWS(C$1:C1)*2-1)ดูภาพหน้าจอ:

doc แบ่งทุกแถว 2

2. จากนั้นลากที่จับเติมลงจนกว่าข้อผิดพลาดจะปรากฏในเซลล์ดูภาพหน้าจอ:

doc แบ่งทุกแถว 3

3. จากนั้นป้อนสูตรอื่นลงในเซลล์ D2 =INDEX($A$2:$A$13,ROWS(D$1:D1)*2)แล้วลากที่จับเติมลงไปที่เซลล์จนกว่าค่าข้อผิดพลาดจะปรากฏขึ้นและค่าของคอลัมน์ถูกแบ่งออกเป็นสองคอลัมน์ในแถวอื่น ๆ ดูภาพหน้าจอ:

doc แบ่งทุกแถว 4


ลูกศรสีฟ้าฟองขวา แบ่งคอลัมน์ทุกแถวด้วยรหัส VBA

หากคุณสนใจรหัส VBA ฉันสามารถพูดคุยเกี่ยวกับรหัสเพื่อแก้ปัญหานี้ได้

1. กด ALT + F11 ใน Excel และจะเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

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

รหัส VBA: แบ่งคอลัมน์ออกเป็นสองคอลัมน์ทุก ๆ แถว

Sub SplitEveryOther()
'Updateby Extendoffice
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
Dim index As Integer
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set OutRng = OutRng.Range("A1")
num1 = 1
num2 = 1
For index = 1 To InputRng.Rows.Count
    If index Mod 2 = 1 Then
        OutRng.Cells(num1, 1).Value = InputRng.Cells(index, 1)
        num1 = num1 + 1
    Else
        OutRng.Cells(num2, 2).Value = InputRng.Cells(index, 1)
        num2 = num2 + 1
    End If
Next
End Sub	

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

doc แบ่งทุกแถว 5

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

doc แบ่งทุกแถว 6

5. จากนั้นคลิก OKและคอลัมน์ถูกแบ่งออกเป็นสองคอลัมน์โดยแถวอื่น ๆ ดูภาพหน้าจอ:

doc แบ่งทุกแถว 7


ลูกศรสีฟ้าฟองขวา แยกคอลัมน์ทุกแถวด้วย Kutools for Excel

หากคุณต้องการเรียนรู้สิ่งใหม่ ๆ เพิ่มเติมฉันขอแนะนำเครื่องมือที่มีประสิทธิภาพ -Kutools สำหรับ Excelเดียวกันกับที่ ช่วงการแปลง ยูทิลิตี้คุณสามารถแปลงแถวหรือคอลัมน์เดียวเป็นช่วงของเซลล์ได้อย่างรวดเร็วและในทางกลับกัน

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

หลังจากการติดตั้ง Kutools สำหรับ Excelโปรดดำเนินการดังนี้ :( ดาวน์โหลด Kutools for Excel ได้ฟรีทันที )

1. เลือกข้อมูลคอลัมน์ที่คุณต้องการแบ่งออกเป็นสองคอลัมน์โดยแถวอื่น ๆ

2. จากนั้นคลิก Kutools > พิสัย > ช่วงการแปลงดูภาพหน้าจอ:

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

doc แบ่งทุกแถว 9

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

doc แบ่งทุกแถว 10

5. คลิก OKข้อมูลรายการถูกแบ่งออกเป็นสองคอลัมน์ในแถวอื่น ๆ

คลิกเพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับยูทิลิตี้ Transform Range นี้

ดาวน์โหลด Kutools for Excel ได้ฟรีทันที

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

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

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

รายละเอียด


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

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
How to do the opposite of this? Get two column info in one row ?
This comment was minimized by the moderator on the site
Hi, Jas,
To do the opposite of this, to convert two columns data into one single column, you should apply the below VBA code:

Sub ConvertRangeToColumn()
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
Rng.Copy
Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Please try, hope it can help you!
This comment was minimized by the moderator on the site
As a workaround, you can do the following: Using the above example, 1. Type "=a2" in c2 and "=a3" in d3. 2. Now select c2 through d3. 3. Drag the fill handle parallel to all the data. 4. Now delete cell a2 and shift cells up. 5. Now we need to convert the formula results to the calculated values. That's easily done by copying all the data including the blank rows and pasting the values right on top of itself. 6. Now you can simply sort any of the column alphabetically to bring all the data up.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations