---
title: TRANSPOSE – กลับตาราง (Transpose)
url: https://www.thepexcel.com/functions/excel/lookup-and-reference/transpose/
type: function-explainer
program: Excel
syntax: =TRANSPOSE(array)
date: 2025-12-19
scores:
  popularity: 6
  difficulty: 4
  usefulness: 8
---

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

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

## คำอธิบาย

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

## Syntax

```excel
=TRANSPOSE(array)
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| array | Yes | Range/Array |  | อาร์เรย์ที่ต้องการสลับแกน |

## ตัวอย่าง

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

```excel
=TRANSPOSE(OriginalData)
```

**ผลลัพธ์:** `ตารางขนาด 2 แถว 3 คอลัมน์`

สมมติว่า OriginalData คือ Named Range ที่มีข้อมูล 3 แถว 2 คอลัมน์ (เช่น A1:B3)
.
สูตรจะสลับแกนข้อมูล ทำให้แถวกลายเป็นคอลัมน์และคอลัมน์กลายเป็นแถว
.
ผลลัพธ์คือตารางใหม่ที่มี 2 แถว 3 คอลัมน์ ส่วนตัวผม มักใช้วิธีนี้เวลาต้องการเปลี่ยนโครงสร้างข้อมูลให้อ่านง่ายขึ้น 💡

### 2. ตัวอย่างที่ 2: สลับแกน Array Constant

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

**ผลลัพธ์:** `{1,4;2,5;3,6}`

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

### 3. ตัวอย่างที่ 3: ใช้กับ Excel Table

```excel
=TRANSPOSE(EmployeeTable[#Headers])
```

**ผลลัพธ์:** `Header คอลัมน์แนวตั้ง`

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

### 4. ตัวอย่างที่ 4: TRANSPOSE ลิสต์เป็นแถว

```excel
=TRANSPOSE(A1:A10)
```

**ผลลัพธ์:** `แถว 1 x 10 เซลล์`

ใช้ TRANSPOSE เพื่อเปลี่ยนลิสต์แนวตั้ง (Column) เป็นแนวนอน (Row)
.
ส่วนตัวผม ใช้วิธีนี้บ่อยมากเวลาต้องทำ Horizontal Report หรือสร้างแถวหัวตารางจากข้อมูลแนวตั้ง ✨

### 5. ตัวอย่างที่ 5: TRANSPOSE ร่วมกับฟังก์ชันอื่น

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

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

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

## หมายเหตุเพิ่มเติม

TRANSPOSE เป็นฟังก์ชันที่ทรงพลังสำหรับการปรับโครงสร้างข้อมูล
.
ส่วนตัวผม พบว่าการใช้ร่วมกับ Dynamic Array ใน Excel 365 ทำให้ทำงานได้ง่ายและรวดเร็วกว่าเดิมมาก
.
ที่ต้องระวังคือ TRANSPOSE จะคืนค่าเป็น Array ดังนั้นต้องมีพื้นที่ว่างเพียงพอสำหรับผลลัพธ์ ไม่เช่นนั้นจะเกิด #SPILL! Error
.
อีกเรื่องที่น่าสนใจคือ TRANSPOSE สามารถใช้ร่วมกับ VSTACK, HSTACK, TOCOL, TOROW เพื่อสร้างการจัดการข้อมูลที่ซับซ้อนได้ 💡

## คำถามที่พบบ่อย

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

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

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

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

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

ไม่ได้ครับ TRANSPOSE ใช้ได้เฉพาะกับ 2D Range หรือ Array เท่านั้น
.
ถ้าต้องการจัดการข้อมูล 3 มิติ แนะนำให้ใช้ฟังก์ชันอื่นร่วมด้วย เช่น FLATTEN หรือ VSTACK 💡

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

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

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

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

**Q: TRANSPOSE ใช้ได้กับ Tables/ListObjects ไหม?**

ได้ครับ เช่น =TRANSPOSE(Table1) จะสลับ Table ทั้งตาราง รวมถึง Headers ด้วย
.
ส่วนตัวผม ชอบใช้วิธีนี้เพื่อสร้าง Summary Report จากตาราง Excel แบบรวดเร็ว โดยไม่ต้องคัดลอกข้อมูลมาวางใหม่ ✨

## ฟังก์ชันที่เกี่ยวข้อง

- [COLUMNS – นับจำนวนคอลัมน์ทั้งหมด](https://www.thepexcel.com/functions/excel/lookup-and-reference/columns/)
- [EXPAND – ขยายขนาดตารางพร้อมเติมค่า (Padding)](https://www.thepexcel.com/functions/excel/lookup-and-reference/expand/)
- flatten
- [HSTACK – ฟังก์ชันรวมข้อมูลแนวนอน](https://www.thepexcel.com/functions/excel/lookup-and-reference/hstack/)
- [MMULT – คูณเมทริกซ์](https://www.thepexcel.com/functions/excel/math-and-trigonometry/mmult/)
- [ROWS – นับจำนวนแถวทั้งหมด](https://www.thepexcel.com/functions/excel/lookup-and-reference/rows/)
- [split](https://www.thepexcel.com/split/)
- [TOCOL – แปลงตาราง 2 มิติให้เป็นคอลัมน์เดียว](https://www.thepexcel.com/functions/excel/lookup-and-reference/tocol/)
- [TOROW – แปลงตาราง 2 มิติให้เป็นแถวเดียว](https://www.thepexcel.com/functions/excel/lookup-and-reference/torow/)
- [VSTACK – ฟังก์ชันรวมข้อมูลแนวตั้ง](https://www.thepexcel.com/functions/excel/lookup-and-reference/vstack/)

## แหล่งข้อมูลเพิ่มเติม

- [Official Documentation](https://support.microsoft.com/en-us/office/transpose-function-ed039415-ed8a-4a81-93e9-4b6dfac76027) _(official)_
- [ExcelJet](https://exceljet.net/excel-functions/excel-transpose-function) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/excel/lookup-and-reference/transpose/](https://www.thepexcel.com/functions/excel/lookup-and-reference/transpose/)_
