Thep Excel

TRANSPOSEกลับตาราง (Transpose)

สลับแกนของตารางข้อมูล เปลี่ยนแถวเป็นคอลัมน์และคอลัมน์เป็นแถว ช่วยจัดโครงสร้างข้อมูลให้เหมาะกับการวิเคราะห์และนำเสนอ

fx
=TRANSPOSE(array)

ความนิยม6/10
ความยาก4/10
ประโยชน์8/10

อัปเดต 19 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
array Range/Array อาร์เรย์ที่ต้องการสลับแกน

TRANSPOSE ใช้สลับแกนของตารางข้อมูล (แถวกลายเป็นคอลัมน์ คอลัมน์กลายเป็นแถว)
.
ที่เจ๋งคือ TRANSPOSE ใช้งานง่ายมาก เพียงใส่ Range หรือ Array เดียว ก็สลับแกนได้ทันที
.
ส่วนตัวผม ใช้บ่อยมากเวลาต้องเปลี่ยนโครงสร้างตารางให้เหมาะกับการนำเสนอ 😎

Examples

ตัวอย่างที่ 1: สลับแถวเป็นคอลัมน์ (และคอลัมน์เป็นแถว)TRANSPOSE(OriginalData)

สมมติว่า OriginalData คือ Named Range ที่มีข้อมูล 3 แถว 2 คอลัมน์ (เช่น A1:B3)

สูตรจะสลับแกนข้อมูล ทำให้แถวกลายเป็นคอลัมน์และคอลัมน์กลายเป็นแถว

ผลลัพธ์คือตารางใหม่ที่มี 2 แถว 3 คอลัมน์ ส่วนตัวผม มักใช้วิธีนี้เวลาต้องการเปลี่ยนโครงสร้างข้อมูลให้อ่านง่ายขึ้น 💡

fx
=TRANSPOSE(OriginalData)

ผลลัพธ์ตารางขนาด 2 แถว 3 คอลัมน์
ตัวอย่างที่ 2: สลับแกน Array ConstantTRANSPOSE({1,2,3;4,5,6})

Array Constant {1,2,3;4,5,6} มี 2 แถว 3 คอลัมน์

สูตรจะสลับแกน ทำให้กลายเป็น 3 แถว 2 คอลัมน์ ที่เจ๋งคือผลลัพธ์เป็น Array ที่สามารถนำไปใช้ต่อกับสูตรอื่นได้ทันที 😎

fx
=TRANSPOSE({1,2,3;4,5,6})

ผลลัพธ์{1,4;2,5;3,6}
ตัวอย่างที่ 3: ใช้กับ Excel TableTRANSPOSE(EmployeeTable[#Headers])

สมมติว่า EmployeeTable คือชื่อ Excel Table

สูตร TRANSPOSE จะสลับ Header ของ EmployeeTable จากแนวนอนเป็นแนวตั้ง

เอาจริงๆ นะครับ วิธีนี้มีประโยชน์มากเวลาต้องการสร้าง List ของ Header ในแนวตั้งเพื่อใช้ใน Dashboard หรือรายงาน 💡

fx
=TRANSPOSE(EmployeeTable[#Headers])

ผลลัพธ์Header คอลัมน์แนวตั้ง
ตัวอย่างที่ 4: TRANSPOSE ลิสต์เป็นแถวTRANSPOSE(A1:A10)

ใช้ TRANSPOSE เพื่อเปลี่ยนลิสต์แนวตั้ง (Column) เป็นแนวนอน (Row)

ส่วนตัวผม ใช้วิธีนี้บ่อยมากเวลาต้องทำ Horizontal Report หรือสร้างแถวหัวตารางจากข้อมูลแนวตั้ง ✨

fx
=TRANSPOSE(A1:A10)

ผลลัพธ์แถว 1 x 10 เซลล์
ตัวอย่างที่ 5: TRANSPOSE ร่วมกับฟังก์ชันอื่นTRANSPOSE(IF(ROWS(1:100)=1, "Header", SEQUENCE(99)))

รวม TRANSPOSE กับ IF และ SEQUENCE เพื่อสร้างแถวข้อมูล Dynamic

ที่เจ๋งคือสามารถใช้ร่วมกับฟังก์ชัน Array อื่นๆ ได้อย่างยืดหยุ่นมาก เหมาะสำหรับสร้างตารางแบบ Dynamic ที่ปรับขนาดอัตโนมัติ 😎

fx
=TRANSPOSE(IF(ROWS(1:100)=1, "Header", SEQUENCE(99)))

ผลลัพธ์แถวของตัวเลขพร้อม Header

FAQs

TRANSPOSE จะทำงานกับ Dynamic Array หรือไม่?+

ได้ครับ ใน Excel 365 TRANSPOSE ใช้ได้เป็น Dynamic Array และจะ Spill ผลลัพธ์โดยอัตโนมัติ

ส่วนตัวผม พบว่าฟีเจอร์นี้ช่วยประหยัดเวลาได้มาก เพราะไม่ต้องคำนวณขนาดพื้นที่ที่จะแสดงผลลัพธ์ให้ยุ่งยาก 😎

TRANSPOSE ต่างจาก REARRANGE หรือ SORT อย่างไร?+

TRANSPOSE เปลี่ยนแกนของข้อมูล (แถว ↔ คอลัมน์) ส่วน REARRANGE/SORT เรียงลำดับหรือจัดเรียงข้อมูล โดยไม่เปลี่ยนแกน

เอาจริงๆ นะครับ ฟังก์ชันเหล่านี้ทำงานต่างกัน แต่ใช้ร่วมกันได้ดี เช่นใช้ SORT เรียงข้อมูลก่อน แล้วค่อย TRANSPOSE เพื่อเปลี่ยนแกน

สามารถใช้ TRANSPOSE กับ 3D Array ได้ไหม?+

ไม่ได้ครับ TRANSPOSE ใช้ได้เฉพาะกับ 2D Range หรือ Array เท่านั้น

ถ้าต้องการจัดการข้อมูล 3 มิติ แนะนำให้ใช้ฟังก์ชันอื่นร่วมด้วย เช่น FLATTEN หรือ VSTACK 💡

ถ้า TRANSPOSE ของตารางใหญ่เลยพื้นที่ว่างจะเกิดอะไร?+

จะเกิด #SPILL! Error หากพื้นที่ที่สูตรต้องการแสดงผลมีข้อมูลอื่นขวางอยู่

วิธีแก้คือ ลบข้อมูลที่ขวาง หรือย้ายสูตรไปพื้นที่ว่าง ส่วนตัวผม มักจะวางสูตรในพื้นที่ที่แน่ใจว่าว่างเปล่าเสมอ เพื่อป้องกัน Error นี้ 😅

TRANSPOSE ใช้ได้กับเซลล์ที่ Merged ไหม?+

ไม่แนะนำครับ เพราะ TRANSPOSE อาจให้ผลลัพธ์ที่ไม่คาดหวัง

ที่ต้องระวังคือ ควรใช้กับข้อมูลที่ไม่มี Merged Cells เพื่อความแม่นยำ ถ้าจำเป็นต้องใช้ ควร Unmerge ก่อน

TRANSPOSE ใช้ได้กับ Tables/ListObjects ไหม?+

ได้ครับ เช่น =TRANSPOSE(Table1) จะสลับ Table ทั้งตาราง รวมถึง Headers ด้วย

ส่วนตัวผม ชอบใช้วิธีนี้เพื่อสร้าง Summary Report จากตาราง Excel แบบรวดเร็ว โดยไม่ต้องคัดลอกข้อมูลมาวางใหม่ ✨

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ TRANSPOSE จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้TRANSPOSELookup and reference
Lookup and reference (7)
COLUMNS

นับจำนวนคอลัมน์ทั้งหมดในช่วงข้อมูลหรืออาร์เรย์ที่ระบุ ใช้บ่อยคู่กับ OFFSET หรือ VLOOKUP เพื่อทำสูตรแบบ dynamic ที่ปรับตามขนาดตารางเอง

EXPAND

EXPAND ใช้ขยายขนาดของตารางข้อมูลให้ใหญ่ขึ้นตามจำนวนแถวหรือคอลัมน์ที่ระบุ หากตารางเดิมมีขนาดเล็กกว่า ส่วนที่เพิ่มขึ้นมาจะแสดงค่าเป็น #N/A (ค่าเริ่มต้น) หรือค่าที่เรากำหนดเองได้ (pad_with) มีประโยชน์มากในการปรับขนาดข้อมูลให้เท่ากันก่อนนำไปรวมด้วย VSTACK หรือ HSTACK

HSTACK

HSTACK เป็นฟังก์ชัน Dynamic Array ที่ใช้รวมข้อมูลจากหลายช่วงเข้าด้วยกันโดยนำมาเรียงต่อกันในแนวนอน (ต่อท้ายไปทางขวา) หากช่วงข้อมูลที่นำมารวมมีจำนวนแถวไม่เท่ากัน HSTACK จะเติมค่า #N/A ในส่วนที่ขาดหายไปให้โดยอัตโนมัติ

ROWS

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

TOCOL

TOCOL ช่วย "ตบ" ข้อมูลจากตารางหลายมิติให้มาเรียงต่อกันเป็นคอลัมน์เดียว สามารถเลือกวิธีเรียงลำดับได้ว่าจะอ่านจากซ้ายไปขวา (ทีละแถว) หรือบนลงล่าง (ทีละคอลัมน์) และยังมี Option ให้กรองช่องว่างหรือ Error ทิ้งไปโดยอัตโนมัติ เหมาะสำหรับการเตรียมข้อมูล (Data Preparation)

TOROW

TOROW ช่วยแปลงข้อมูลจากตารางหลายมิติให้มาเรียงต่อกันเป็นแถวเดียว (แนวนอน) สามารถเลือกวิธีเรียงลำดับได้ว่าจะอ่านจากซ้ายไปขวา (ทีละแถว) หรือบนลงล่าง (ทีละคอลัมน์) และเลือกข้ามช่องว่างหรือ Error ได้เหมือน TOCOL

VSTACK

VSTACK เป็นฟังก์ชัน Dynamic Array ที่ใช้รวมข้อมูลจากหลายช่วงเข้าด้วยกันโดยนำมาเรียงต่อกันในแนวตั้ง (ต่อท้ายลงไปด้านล่าง) หากช่วงข้อมูลที่นำมารวมมีจำนวนคอลัมน์ไม่เท่ากัน VSTACK จะเติมค่า #N/A ในส่วนที่ขาดหายไปให้โดยอัตโนมัติ

Math and trigonometry (4)
MDETERM

MDETERM ใช้คำนวณค่า Determinant (ดีเทอร์มิแนนต์) ของเมทริกซ์ในช่วงข้อมูล/อาร์เรย์ เหมาะกับงานเชิงเส้น เช่น ตรวจว่าเมทริกซ์เป็นเอกฐานหรือไม่ (Det=0) และใช้ประกอบการหาผกผันของเมทริกซ์ร่วมกับ MINVERSE

MINVERSE

ฟังก์ชันที่ใช้หาค่า Inverse Matrix (เมทริกซ์ผกผัน) จากเมทริกซ์สี่เหลี่ยมจัตุรัส สำหรับใช้แก้ระบบสมการเชิงเส้นหรือการคำนวณทางวิทยาศาสตร์

MUNIT

ฟังก์ชันที่สร้างเมทริกซ์เอกลักษณ์ (Identity Matrix) ขนาด n x n โดยมีเลข 1 ตามแนวเส้นทแยงมุมและเลข 0 ที่ตำแหน่งอื่น ใช้สำหรับการคำนวณพีชคณิตเชิงเส้นและการดำเนินการทางคณิตศาสตร์เมทริกซ์

SEQUENCE

SEQUENCE สร้างอาร์เรย์ของตัวเลขเรียงลำดับตามเงื่อนไขที่กำหนด สามารถสร้างได้ทั้งแนวตั้ง แนวนอน หรือเป็นตาราง 2 มิติ เป็นฟังก์ชัน Dynamic Array ที่ผลลัพธ์จะ Spill ไปยังเซลล์ข้างเคียงโดยอัตโนมัติ เหมาะสำหรับสร้าง Running Number, ตารางสูตรคูณ, หรือวันที่เรียงต่อเนื่อง

Text (1)
ARRAYTOTEXT

ฟังก์ชันที่แปลงอาร์เรย์หรือช่วงเซลล์ให้เป็นข้อความเดียว โดยสามารถเลือกรูปแบบการแสดงผล (อ่านง่ายหรือ Strict Format)

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่