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

วิธีแปลงตารางสไตล์เมทริกซ์เป็นสามคอลัมน์ใน Excel

สมมติว่าคุณมีตารางสไตล์เมทริกซ์ซึ่งมีส่วนหัวของคอลัมน์และส่วนหัวของแถวและตอนนี้คุณต้องการแปลงตารางลักษณะนี้เป็นตารางสามคอลัมน์เรียกอีกอย่างว่าตารางรายการตามภาพหน้าจอต่อไปนี้คุณมีวิธีที่ดีในการแก้ปัญหานี้หรือไม่ ปัญหาใน Excel?

แปลงตารางสไตล์เมทริกซ์เป็นรายการด้วย PivotTable

แปลงตารางสไตล์เมทริกซ์เป็นรายการด้วยรหัส VBA

แปลงตารางสไตล์เมทริกซ์เป็นรายการด้วย Kutools for Excel

doc แปลงเมทริกซ์เป็นรายการ 1


ใน Excel ไม่มีคุณลักษณะโดยตรงสำหรับเราในการแปลงตารางสไตล์เมทริกซ์เป็นตารางสามคอลัมน์ แต่ถ้าคุณคุ้นเคยกับ PivotTable คุณอาจชอบ โปรดทำตามขั้นตอนต่อไปนี้:

1. เปิดใช้งานแผ่นงานของคุณที่คุณต้องการใช้จากนั้นกดค้างไว้ Alt + Dจากนั้นกด P ในแป้นพิมพ์ที่โผล่ออกมา PivotTable และ PivotChart Wizard ใหเลือก ช่วงการรวมหลายรายการ ภายใต้ ข้อมูลที่คุณต้องการวิเคราะห์อยู่ที่ไหน แล้วเลือก PivotTable ภายใต้ คุณต้องการสร้างรายงานประเภทใด ส่วนดูภาพหน้าจอ:

doc แปลงเมทริกซ์เป็นรายการ 2

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

doc แปลงเมทริกซ์เป็นรายการ 3

3. ไปที่การคลิก ถัดไป ในปุ่ม ขั้นตอนที่ 2b จาก 3 ตัวช่วยสร้างคลิก doc แปลงเมทริกซ์เป็นรายการ 5 เพื่อเลือกช่วงข้อมูลที่คุณต้องการแปลงจากนั้นคลิก เพิ่ม เพื่อเพิ่มช่วงข้อมูลลงในไฟล์ ทุกช่วง กล่องรายการดูภาพหน้าจอ:

doc แปลงเมทริกซ์เป็นรายการ 4

4. และคลิก ถัดไป ปุ่มใน ขั้นที่ 3 ของ 3 วิซาร์ดเลือกตำแหน่งสำหรับตารางเดือยตามที่คุณต้องการ

doc แปลงเมทริกซ์เป็นรายการ 6

5. จากนั้นคลิก เสร็จสิ้น ปุ่มตารางเดือยถูกสร้างขึ้นพร้อมกันดูภาพหน้าจอ:

doc แปลงเมทริกซ์เป็นรายการ 7

6. ในตาราง Pivot ให้ดับเบิลคลิกที่ตัดกันเซลล์ของ Grand Total ในกรณีนี้ฉันจะดับเบิลคลิกที่เซลล์ F22 และจะสร้างตารางสามคอลัมน์ตามภาพหน้าจอต่อไปนี้:

doc แปลงเมทริกซ์เป็นรายการ 8

7. และสุดท้ายคุณสามารถแปลงรูปแบบตารางเป็นช่วงปกติได้โดยเลือกตารางจากนั้นเลือก ตาราง > แปลงเป็น Range จากเมนูบริบทดูภาพหน้าจอ:

doc แปลงเมทริกซ์เป็นรายการ 9


หากคุณไม่ชอบวิธีแรกรหัส VBA ต่อไปนี้สามารถช่วยคุณได้

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

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

รหัส VBA: แปลงตารางสไตล์เมทริกซ์เป็นรายการ

Sub ConvertTable()
'Update 20150512
Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
xTitleId = "KutoolsforExcel"
Set cRng = Application.InputBox("Select your Column labels", xTitleId, Type:=8)
Set rRng = Application.InputBox("Select Your Row Labels", xTitleId, Type:=8)
Set Rng = Application.InputBox("Select your data", xTitleId, Type:=8)
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
    For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
        outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
        outRng.Cells(k, 2) = xWs.Cells(xRow, j)
        outRng.Cells(k, 3) = xWs.Cells(i, j)
        k = k + 1
    Next j
Next i
End Sub

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

doc แปลงเมทริกซ์เป็นรายการ 10

4. จากนั้นคลิก OK ในกล่องพร้อมต์ถัดไปเลือกป้ายชื่อแถวดูภาพหน้าจอ:

doc แปลงเมทริกซ์เป็นรายการ 11

5. ไปที่การคลิก OKจากนั้นเลือกช่วงข้อมูลโดยไม่รวมคอลัมน์และส่วนหัวของแถวในกล่องพร้อมต์ดูภาพหน้าจอ:

doc แปลงเมทริกซ์เป็นรายการ 12

6. จากนั้นคลิก OKในกล่องโต้ตอบนี้โปรดเลือกเซลล์ที่คุณต้องการค้นหาผลลัพธ์ ดูภาพหน้าจอ:

doc แปลงเมทริกซ์เป็นรายการ 13

7. ในที่สุดคลิก OKและคุณจะได้รับตารางสามคอลัมน์พร้อมกัน


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

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

หลังจากการติดตั้ง Kutools สำหรับ Excelโปรดทำตามขั้นตอนต่อไปนี้:

1. คลิก Kutools > พิสัย > เปลี่ยนขนาดตารางดูภาพหน้าจอ:

2. ใน เปลี่ยนขนาดตาราง กล่องโต้ตอบ:

(1. ) เลือก ข้ามตารางไปยังรายการ ภายใต้ ประเภทการเปลี่ยน.

(2. ) จากนั้นคลิก doc แปลงเมทริกซ์เป็นรายการ 5 ใต้ปุ่ม ช่วงแหล่งที่มา เพื่อเลือกช่วงข้อมูลที่คุณต้องการแปลง

(3. ) จากนั้นคลิก doc แปลงเมทริกซ์เป็นรายการ 5 ใต้ปุ่ม ช่วงผลลัพธ์ เพื่อเลือกเซลล์ที่คุณต้องการใส่ผลลัพธ์

doc แปลงเมทริกซ์เป็นรายการ 15

3. จากนั้นคลิก OK และคุณจะได้รับผลลัพธ์ต่อไปนี้ซึ่งรวมถึงการจัดรูปแบบเซลล์ดั้งเดิม:

doc แปลงเมทริกซ์เป็นรายการ 16

ด้วยยูทิลิตี้นี้คุณยัง แปลงตารางรายการแบบแบนเป็นตารางข้าม 2 มิติ.

หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับคุณลักษณะขนาดตารางการเปลี่ยนนี้

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


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

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

🤖 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 (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thanks for the tips. It's greatly saved my time and manual efforts.
This comment was minimized by the moderator on the site
Anybody know how to do this in a mac?
This comment was minimized by the moderator on the site
Sub ConvertTable_UseThis()

Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
Dim xRng As Range, cRow As Integer, cCol As Integer


xTitleId = "Convert Table"
Set xRng = Application.Selection
Set xRng = Application.InputBox("Please select range:", "Number Range", Selection.Address, , , , , 8)
cRow = xRng.Rows.Count
cCol = xRng.Columns.Count


Set cRng = Range(xRng.Cells(1, 2), xRng.Cells(1, cCol))
Set rRng = Range(xRng.Cells(2, 1), xRng.Cells(cRow, 1))
Set Rng = Range(xRng.Cells(2, 2), xRng.Cells(cRow, cCol))
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
This comment was minimized by the moderator on the site
For the VBA Code, one seems to really need this:xColumns = cRng.Column
xRow = rRng.Row
This comment was minimized by the moderator on the site
do you have a code with a tweak where the leftmost column of a selection is column labels and the topmost row of a selection is row labels?

Thanks in advance,
This comment was minimized by the moderator on the site
Sub ConvertTable_UseThis()

Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
Dim xRng As Range, cRow As Integer, cCol As Integer


xTitleId = "Convert Table"
Set xRng = Application.Selection
Set xRng = Application.InputBox("Please select range:", "Number Range", Selection.Address, , , , , 8)
cRow = xRng.Rows.Count
cCol = xRng.Columns.Count


Set cRng = Range(xRng.Cells(1, 2), xRng.Cells(1, cCol))
Set rRng = Range(xRng.Cells(2, 1), xRng.Cells(cRow, 1))
Set Rng = Range(xRng.Cells(2, 2), xRng.Cells(cRow, cCol))
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
This comment was minimized by the moderator on the site
Thanks a Ton, really appreciate the way you have explained. very useful
This comment was minimized by the moderator on the site
Thanks alot for this useful tool
This comment was minimized by the moderator on the site
Thanks, this was exactly what I was looking for. Awesome:)
This comment was minimized by the moderator on the site
what if i have 4 or more column?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations