---
title: WRAPCOLS – ห่อข้อมูลเป็นหลายคอลัมน์ (เรียงบนลงล่าง)
url: https://www.thepexcel.com/functions/excel/lookup-and-reference/wrapcols/
type: function-explainer
program: Excel
syntax: "=WRAPCOLS(vector, wrap_count, [pad_with])"
date: 2025-12-01
updated: 2025-12-17
scores:
  popularity: 7
  difficulty: 5
  usefulness: 8
---

# WRAPCOLS – ห่อข้อมูลเป็นหลายคอลัมน์ (เรียงบนลงล่าง)

> ห่อข้อมูลเป็นหลายคอลัมน์ (เรียงบนลงล่าง)

## คำอธิบาย

WRAPCOLS ห่อ (wrap) ข้อมูล 1 มิติให้กลายเป็นตาราง 2 มิติ โดยเรียงข้อมูลจากบนลงล่างในแต่ละคอลัมน์ เมื่อครบ wrap_count แถวจะขึ้นคอลัมน์ใหม่ รองรับ padding เมื่อข้อมูลไม่พอดี ใช้คู่กับ WRAPROWS TOCOL TOROW เพื่อ reshape ข้อมูล

## Syntax

```excel
=WRAPCOLS(vector, wrap_count, [pad_with])
```

**excel**

```excel
=WRAPCOLS(A1:A12, 3)
```

แบ่ง 12 รายการเป็น 3 แถว x 4 คอลัมน์

**excel**

```excel
=WRAPCOLS(SEQUENCE(10), 4, "")
```

สร้างตาราง 4x3 pad ด้วยค่าว่าง

**excel**

```excel
=WRAPCOLS(TOCOL(Table1), 5)
```

Flatten แล้วห่อใหม่เป็น 5 แถว

**excel**

```excel
=WRAPCOLS(SORT(A1:A20), 4)
```

เรียงลำดับก่อนแล้วห่อเป็น 4 แถว

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| vector | Yes | Range/Array |  | ข้อมูลต้นฉบับ (1D Array แถวเดียวหรือคอลัมน์เดียว หรือ 2D จะถูก flatten ก่อน) |
| wrap_count | Yes | Number |  | จำนวนข้อมูลต่อคอลัมน์ (ความสูงของตารางผลลัพธ์) |
| pad_with | No | Any | #N/A | ค่าที่เติมในช่องว่างเมื่อข้อมูลไม่พอดี (default = #N/A error) |

## เคสการใช้งาน

### จัดหน้าพิมพ์หลายคอลัมน์

แบ่งรายชื่อยาวๆ เป็นหลายคอลัมน์เพื่อประหยัดกระดาษพิมพ์

_เหมาะกับ:_ printing

### สร้าง Layout ไตรมาส

จัดเดือน 12 เดือนเป็น 3 แถว x 4 คอลัมน์ (แต่ละคอลัมน์ = 1 ไตรมาส)

_เหมาะกับ:_ reporting

### Reshape ข้อมูล

เปลี่ยนรูปร่างตารางจาก 1xN เป็น MxK ตามที่ต้องการ

_เหมาะกับ:_ data-transformation

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: ห่อเลข 1-12 เป็น 3 แถว

```excel
=WRAPCOLS(SEQUENCE(12), 3)
```

**ผลลัพธ์:** `{{1,4,7,10};{2,5,8,11};{3,6,9,12}}`

12 ตัวเลขถูกห่อเป็นตาราง 3 แถว x 4 คอลัมน์ เรียงจากบนลงล่างในแต่ละคอลัมน์

### 2. ตัวอย่างที่ 2: Padding เมื่อข้อมูลไม่พอดี

```excel
=WRAPCOLS(SEQUENCE(10), 3, "-")
```

**ผลลัพธ์:** `{{1,4,7,10};{2,5,8,"-"};{3,6,9,"-"}}`

10 ตัวห่อเป็น 3 แถว ต้องการ 12 ช่อง ช่องที่ว่าง 2 ช่องสุดท้ายถูกเติมด้วย "-"

### 3. ตัวอย่างที่ 3: จัดเดือนเป็นไตรมาส

```excel
=WRAPCOLS({"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}, 3)
```

**ผลลัพธ์:** `{{Jan,Apr,Jul,Oct};{Feb,May,Aug,Nov};{Mar,Jun,Sep,Dec}}`

12 เดือนห่อเป็น 3 แถว แต่ละคอลัมน์คือ 1 ไตรมาส (Q1-Q4)

### 4. ตัวอย่างที่ 4: Flatten 2D Array แล้วห่อใหม่

```excel
=WRAPCOLS(TOCOL(A1:C4), 6)
```

**ผลลัพธ์:** `{{แถว 6};{แถว 6}} (12 ข้อมูลเป็น 6x2)`

TOCOL แปลงตาราง 4x3 (12 ช่อง) เป็น 1D แล้ว WRAPCOLS ห่อใหม่เป็น 6 แถว x 2 คอลัมน์

### 5. ตัวอย่างที่ 5: เรียงลำดับก่อนห่อ

```excel
=WRAPCOLS(SORT(Names), 5)
```

**ผลลัพธ์:** `ตาราง 5 แถว เรียงตาม A-Z`

SORT เรียงชื่อตาม A-Z ก่อน แล้ว WRAPCOLS ห่อเป็นตาราง 5 แถว

### 6. ตัวอย่างที่ 6: Pad ด้วยค่าว่างแทน #N/A

```excel
=WRAPCOLS(A1:A7, 3, "")
```

**ผลลัพธ์:** `{{A1,A4,A7};{A2,A5,""};{A3,A6,""}}`

7 ข้อมูลห่อเป็น 3 แถว ต้องการ 9 ช่อง ช่องว่าง 2 ช่องถูกเติมด้วยค่าว่างแทน #N/A

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

**เปรียบเทียบ WRAP Functions:**\n\n| Function | ทิศทางการเรียง | wrap_count คือ |\n|----------|---------------|----------------|\n| WRAPCOLS | บนลงล่าง (column-major) | จำนวนแถว (ความสูง) |\n| WRAPROWS | ซ้ายไปขวา (row-major) | จำนวนคอลัมน์ (ความกว้าง) |\n\n**ฟังก์ชันที่เกี่ยวข้อง:**\n```\nTOCOL  - Flatten เป็นคอลัมน์เดียว\nTOROW  - Flatten เป็นแถวเดียว\nVSTACK - รวมตารางแนวตั้ง\nHSTACK - รวมตารางแนวนอน\n```\n\n**Pattern การใช้งาน:**\n```\n=WRAPCOLS(Data, 5)              → ห่อเป็น 5 แถว\n=WRAPCOLS(Data, 5, "")          → pad ด้วยค่าว่าง\n=WRAPCOLS(TOCOL(Table), 4)      → reshape ตาราง\n=WRAPCOLS(SORT(Data), 3)        → เรียงก่อนห่อ\n```\n\n**Tips:**\n- ใช้ pad_with="" เพื่อได้ค่าว่างแทน #N/A\n- ใช้ TOCOL flatten ก่อน reshape\n- wrap_count = ความสูงของผลลัพธ์

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

**Q: WRAPCOLS ต่างจาก WRAPROWS อย่างไร?**

WRAPCOLS เรียงข้อมูลลงล่างในแต่ละคอลัมน์ (column-major) ส่วน WRAPROWS เรียงข้อมูลไปขวาในแต่ละแถว (row-major)

**Q: ถ้าข้อมูลต้นฉบับเป็น 2 มิติจะเกิดอะไร?**

WRAPCOLS จะ flatten ข้อมูลเป็น 1D ก่อน (อ่านทีละแถวจากซ้ายไปขวา) แล้วค่อยห่อใหม่

**Q: #N/A ในช่องว่างเปลี่ยนได้ไหม?**

ได้ ใช้ pad_with กำหนดค่าที่ต้องการ เช่น "" (ว่าง), 0, หรือ "-" แทน #N/A

**Q: wrap_count มากกว่าจำนวนข้อมูลจะเป็นอย่างไร?**

จะได้ผลลัพธ์ 1 คอลัมน์ที่มีความสูงเท่ากับจำนวนข้อมูลจริง (ไม่มี padding)

**Q: WRAPCOLS รองรับ Excel เวอร์ชันไหน?**

Microsoft 365 และ Excel 2024 เท่านั้น ไม่รองรับ Excel 2021 หรือเก่ากว่า

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

- [WRAPROWS – ห่อข้อมูลเป็นหลายแถว (เรียงซ้ายไปขวา)](https://www.thepexcel.com/functions/excel/lookup-and-reference/wraprows/)
- [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/)
- [HSTACK – ฟังก์ชันรวมข้อมูลแนวนอน](https://www.thepexcel.com/functions/excel/lookup-and-reference/hstack/)
- [SEQUENCE – สร้างตารางตัวเลขเรียงลำดับแบบ Dynamic Array](https://www.thepexcel.com/functions/excel/math-and-trigonometry/sequence/)

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

- [Microsoft Support: WRAPCOLS function](https://support.microsoft.com/en-us/office/wrapcols-function-d038b05a-57b7-4ee0-be94-ded0792511e2) _(official)_
- [ExcelJet: How to use WRAPCOLS](https://exceljet.net/excel-functions/excel-wrapcols-function) _(guide)_

---

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