จะเปลี่ยน / แปลงคอลัมน์และแถวเป็นแถวเดียวได้อย่างไร
วิธีการรวมหลายแถวและคอลัมน์เป็นแถวยาวเดียว? บางทีอาจดูเหมือนง่ายสำหรับคุณเพราะคุณสามารถคัดลอกทีละรายการและรวมเข้าเป็นแถวด้วยตนเอง แต่จะเสียเวลาและน่าเบื่อหากมีหลายร้อยแถวและคอลัมน์ ที่นี่ฉันจะพูดถึงเคล็ดลับบางอย่างในการแก้ปัญหา
เปลี่ยน / แปลงคอลัมน์และแถวเป็นแถวเดียวด้วยสูตร
เปลี่ยน / แปลงคอลัมน์และแถวเป็นแถวเดียวด้วยรหัส VBA
เปลี่ยน / แปลงคอลัมน์และแถวเป็นแถวเดียวด้วย Kutools for Excel
เปลี่ยน / แปลงคอลัมน์และแถวเป็นแถวเดียวด้วยสูตร
สมมติว่าคุณมีช่วงของข้อมูลดังภาพหน้าจอต่อไปนี้คุณสามารถแปลงข้อมูลช่วงเป็นแถวเดียวในแผ่นงานใหม่ด้วยสูตรแบบยาว
กรุณาใช้สูตรดังนี้:
1. ในแผ่นงานใหม่ของสมุดงานที่ใช้งานอยู่ให้คลิกเซลล์ A1 คัดลอกและวางสูตรนี้: =OFFSET(Sheet1!$A$1,((ROW()-1)*5)+(FLOOR(COLUMN()-1,4)/4),(COLUMN()-1)-(FLOOR(COLUMN()-1,4)))
หมายเหตุ: Sheet1! $ ก $ 1 คือแผ่นงานและการอ้างอิงช่วงที่คุณต้องการใช้
แถว () - 1) * 5 ในสูตรข้างต้น 5 หมายถึงหมายเลขแถว และ คอลัมน์ () - 1,4) / 4ที่ 4 หมายถึงหมายเลขคอลัมน์ คุณสามารถเปลี่ยนได้ตามความต้องการของคุณ
2. จากนั้นลากจุดจับเติมไปทางขวาจนกระทั่งหมายเลข 0 ปรากฏขึ้น ในกรณีนี้ข้อมูลทั้งหมดในช่วงจะถูกเปลี่ยนเป็นแถวเดียวในแผ่นงานใหม่ ดูภาพหน้าจอ:
เปลี่ยน / แปลงคอลัมน์และแถวเป็นแถวเดียวด้วยรหัส VBA
โค้ด VBA ต่อไปนี้ยังสามารถช่วยคุณแปลงช่วงข้อมูลเป็นหนึ่งแถว
1. กดปุ่ม ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง
2 คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ โมดูล หน้าต่าง
Sub TransformOneRow()
'Updateby20131120
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Ranges to be transform :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Paste to (single cell):", xTitleId, Type:=8)
Application.ScreenUpdating = False
xRows = InputRng.Rows.Count
xCols = InputRng.Columns.Count
For i = 1 To xRows
InputRng.Rows(i).Copy OutRng
Set OutRng = OutRng.Offset(0, xCols + 0)
Next
Application.ScreenUpdating = True
End Sub
3. จากนั้นกด F5 กุญแจสำคัญในการรันโค้ดกล่องโต้ตอบจะปรากฏขึ้นเพื่อให้คุณเลือกช่วงของเนื้อหาที่คุณต้องการแปลงเป็นแถวและคลิก Okกล่องโต้ตอบป๊อปอัพอีกอันหนึ่งให้คุณเลือกเซลล์เดียวเพื่อแสดงผลลัพธ์ ดูภาพหน้าจอ:
จากนั้นคลิก Okเนื้อหาในช่วงที่เลือกจะถูกแปลงเป็นแถว ดูภาพหน้าจอ:
หมายเหตุ: ใน ตั้งค่า OutRng = OutRng.Offset (0, xCols + 0)คุณสามารถเปลี่ยน 0 ไปยังหมายเลขใดก็ได้เพื่อตอบสนองความต้องการของคุณ
สำหรับ exampel หากคุณต้องการแยกผลลัพธ์ที่สอดคล้องกับแถวเดิมทีละคอลัมน์คุณสามารถเปลี่ยนได้ ตั้งค่า OutRng = OutRng.Offset (0, xCols + 0) ไปยัง ตั้งค่า OutRng = OutRng.Offset (0, xCols + 1)ผลลัพธ์จะแสดงดังต่อไปนี้:
เปลี่ยน / แปลงคอลัมน์และแถวเป็นแถวเดียวด้วย Kutools for Excel
ดูเหมือนว่าสองวิธีข้างต้นจะค่อนข้างยากสำหรับเราผู้เริ่มต้นใช้งาน Excel ที่นี่ฉันจะพูดถึงเครื่องมือที่มีประโยชน์ - Kutools for Excel สำหรับคุณ
Kutools สำหรับ Excel มีเครื่องมือ Excel ที่มีประโยชน์มากกว่า 300 รายการ ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน Get it Now
ด้วยยูทิลิตี้ ช่วงการแปลง of Kutools สำหรับ Excelคุณสามารถเปลี่ยนช่วงเป็นแถวเดียวได้อย่างรวดเร็วโปรดทำดังนี้:
1. เลือกช่วงที่คุณต้องการเปลี่ยน
2 คลิก Kutools > พิสัย > ช่วงการแปลง.
3 ใน ช่วงการแปลง ใหเลือก ช่วงเป็นแถวเดียว ตัวเลือกดูภาพหน้าจอ:
4 จากนั้นคลิก OKแล้วคลิกเซลล์เพื่อใส่ผลลัพธ์จากกล่องป๊อปอัป
5 คลิก OKและข้อมูลในช่วงดังกล่าวถูกเปลี่ยนเป็นแถวเดียว ดูภาพหน้าจอ:
หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับคุณลักษณะนี้โปรดไปที่ ช่วงการแปลง.
บทความที่เกี่ยวข้อง:
วิธีเปลี่ยนแถวเป็นคอลัมน์ใน Excel
วิธีการเปลี่ยน / แปลงคอลัมน์เดียวเป็นหลายคอลัมน์ใน Excel
จะเปลี่ยน / แปลงคอลัมน์และแถวเป็นคอลัมน์เดียวได้อย่างไร
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!