ขณะทำงานกับตารางข้อมูล (Cross-table) ที่มีหัวแถวและหัวคอลัมน์ อาจต้องแปลงเป็น List (รูปแบบทาบูลา: คอลัมน์เดียวสำหรับหัวข้อ, คอลัมน์เดียวสำหรับค่า) บทความนี้แนะนำ 3 วิธีทำได้รวดเร็ว
ดาวน์โหลดไฟล์ฝึกฝน
ดาวน์โหลดเทมเพลต Excel ฟรีเพื่อฝึกเอง
3 วิธีแปลงตารางเป็น List ใน Excel
วิธี 1: PivotTable and PivotChart Wizard (Classic)
ข้อมูลตัวอย่าง: ยอดขายพนักงาน 3 สัปดาห์ มีหัวแถว (Row 2) และหัวคอลัมน์ (Column B) ต้องการ List ที่มีคอลัมน์: Week, Salesperson, Amount

ก่อนอื่น ต้องเพิ่ม PivotTable and PivotChart Wizard ไปที่ Ribbon:
- File → Options
- Customize Ribbon → Commands Not in the Ribbon → PivotTable and PivotChart Wizard
- Data → New Group → Add → OK




จากนั้นใช้ Wizard:
- Data → PivotTable and PivotChart Wizard
- เลือก Multiple consolidation ranges และ PivotTable → Next
- เลือก Create a single page field for me → Next
- เลือกช่วงข้อมูล → Next
- เลือก New Worksheet → Finish




ใน PivotTable Fields:
- ยกติ๊ก Row และ Column ออก
- ดับเบิลคลิกที่ Sum of Value


ได้ List ในชีทใหม่: Row, Column, Value

วิธี 2: Power Query (แนะนำ - เร็วและทันสมัย)
Power Query จัดการข้อมูลจากแหล่งต่างๆ ได้ดี ใช้ Unpivot Columns แปลง Cross-table เป็น List

- เลือกช่วงข้อมูล → Data → From Table/Range → OK
- เปิด Power Query Editor
- Ctrl+คลิก เลือกคอลัมน์สัปดาห์ทั้ง 3 → Transform → Unpivot Columns


ได้ List แล้ว → Close & Load


วิธี 3: Excel VBA (สำหรับผู้ชอบเขียนโค้ด)
- คลิกขวาที่แท็บชีท → View Code
- วางโค้ดด้านล่าง → Run (F5)
Sub TransposeThis()
Set TheRange = Sheets("VBA").Range("B5:B11")
Set TheRange_output = Sheets("sheet4").Range("B2")
For i = 1 To TheRange.Cells.Count
Set range_values = Range(TheRange.Cells(i).Offset(0, 1), TheRange.Cells(i).End(xlToRight))
If range_values.Cells.Count < 15000 Then
For j = 1 To range_values.Cells.Count
TheRange_output.Value = TheRange.Cells(i).Value
TheRange_output.Offset(0, 1).Value = range_values.Cells(j).Value
Set TheRange_output = TheRange_output.Offset(1, 0)
Next j
End If
Next i
End Sub


ได้ List ในชีทใหม่

สรุป
3 วิธีแปลง Cross-table เป็น List: 1) PivotTable Wizard (คลาสสิค, หลายขั้นตอน) 2) Power Query (แนะนำ เร็ว ทันสมัย Unpivot Columns) 3) VBA (อัตโนมัติ เหมาะงานซ้ำ) Power Query เป็นวิธีที่ดีที่สุดสำหรับ Excel เวอร์ชันใหม่
อ่านเพิ่มเติม
- Does TABLE Function Exist in Excel?
- Edit a Pivot Table in Excel (5 Methods)
- How to Auto Refresh Pivot Table in Excel (2 Methods)
- Types of Tables in Excel: A Complete Overview