---
title: COLUMNS – นับจำนวนคอลัมน์ทั้งหมด
url: https://www.thepexcel.com/functions/excel/lookup-and-reference/columns/
type: function-explainer
program: Excel
syntax: =COLUMNS(array)
date: 2025-12-02
updated: 2025-12-17
scores:
  popularity: 6
  difficulty: 3
  usefulness: 7
---

# COLUMNS – นับจำนวนคอลัมน์ทั้งหมด

> นับจำนวนคอลัมน์ทั้งหมด

## คำอธิบาย

นับจำนวนคอลัมน์ทั้งหมดในช่วงข้อมูล (Array/Range)

## Syntax

```excel
=COLUMNS(array)
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| array | Yes | Range/Array |  | ช่วงข้อมูลหรืออาร์เรย์ |

## ตัวอย่าง

### 1. นับคอลัมน์ในตาราง

```excel
=COLUMNS(SalesTable)
```

**ผลลัพธ์:** `5`

นับว่าตาราง SalesTable มีทั้งหมดกี่คอลัมน์ (Field)

### 2. นับคอลัมน์ใน Array

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

**ผลลัพธ์:** `3`

Array นี้มีขนาด 2 แถว 3 คอลัมน์

### 3. ใช้กับ VLOOKUP แบบ Dynamic

```excel
=VLOOKUP(Key, Table, COLUMNS(Table), 0)
```

**ผลลัพธ์:** `ค่าคอลัมน์สุดท้าย`

ดึงข้อมูลจากคอลัมน์สุดท้ายของตารางเสมอ ไม่ว่าตารางจะกว้างแค่ไหน

### 4. ตัวอย่างที่ 4: นับคอลัมน์เพื่อ Dynamic OFFSET

```excel
=OFFSET(A1,0,0,ROWS(A:A), COLUMNS(Table))
```

**ผลลัพธ์:** `Range ที่ปรับตัวตามจำนวน Row และ Column`

ใช้ COLUMNS ร่วมกับ ROWS เพื่อสร้าง Dynamic Range ที่เปลี่ยนขนาดตามข้อมูล

### 5. ตัวอย่างที่ 5: เช็คว่าเพิ่มคอลัมน์ใหม่ไหม

```excel
=IF(COLUMNS(CurrentTable)>COLUMNS(PreviousTable), "เพิ่มคอลัมน์แล้ว", "ไม่เปลี่ยน")
```

**ผลลัพธ์:** `"เพิ่มคอลัมน์แล้ว" หรือ "ไม่เปลี่ยน"`

เปรียบเทียบจำนวนคอลัมน์เพื่อตรวจสอบว่ามีการเพิ่มฟิลด์ใหม่เข้ามาหรือไม่

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

**Q: COLUMNS ต่างจาก ROWS อย่างไร?**

COLUMNS นับจำนวนคอลัมน์ ส่วน ROWS นับจำนวนแถว ทั้งสองใช้ได้เหมือนกันแต่มิติต่างกัน

**Q: COLUMNS(1:1048576) จะได้ค่าเท่าไหร่?**

ได้ 16384 (จำนวนคอลัมน์ทั้งหมดใน Excel Modern) เพราะแม้จะระบุแถวทั้งหมด COLUMNS ยังนับคอลัมน์อยู่

**Q: สามารถใช้ COLUMNS กับ Single Cell ได้ไหม?**

ได้ครับ COLUMNS(A1) จะได้ค่า 1 เพราะเซลล์เดียวคือ 1 คอลัมน์

**Q: COLUMNS ทำงานกับ Merged Cells อย่างไร?**

COLUMNS จะนับจำนวนคอลัมน์ตามช่วงที่ระบุ ไม่ได้คำนึงว่า Merged หรือไม่ ถ้ากำหนด A1:D1 ก็จะได้ 4 ไม่ว่า Cells จะ Merged หรือไม่

**Q: จะหาจำนวนคอลัมน์ที่มีข้อมูลเท่านั้นได้ไหม?**

ไม่สามารถใช้ COLUMNS โดยตรง ต้องใช้ SUMPRODUCT(1*COUNTA(A1:A1)>0) หรือสูตรอื่นเพื่อหาเฉพาะคอลัมน์ที่มีข้อมูล

**Q: COLUMNS ใช้ได้กับ Dynamic Array Function อย่าง FILTER หรือไม่?**

ได้ครับ เช่น =COLUMNS(FILTER(Table, Condition)) จะนับจำนวนคอลัมน์ของผลลัพธ์ที่ Filter ออกมา

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

- [CHOOSECOLS – เลือกและจัดเรียงคอลัมน์จากตาราง](https://www.thepexcel.com/functions/excel/lookup-and-reference/choosecols/)
- [COLUMN – บอกเลขคอลัมน์](https://www.thepexcel.com/functions/excel/lookup-and-reference/column/)
- [COUNT – ฟังก์ชันนับจำนวนตัวเลข](https://www.thepexcel.com/functions/excel/statistical/count/)
- [HLOOKUP – ค้นหาข้อมูลแนวนอนในตาราง](https://www.thepexcel.com/functions/excel/lookup-and-reference/hlookup/)
- [INDEX – ดึงค่าจากตำแหน่งที่ระบุใน Range หรือ Array](https://www.thepexcel.com/functions/excel/lookup-and-reference/index/)
- [ROW – บอกเลขแถว](https://www.thepexcel.com/functions/excel/lookup-and-reference/row/)
- [ROWS – นับจำนวนแถวทั้งหมด](https://www.thepexcel.com/functions/excel/lookup-and-reference/rows/)
- size
- [TRANSPOSE – กลับตาราง (Transpose)](https://www.thepexcel.com/functions/excel/lookup-and-reference/transpose/)
- [VLOOKUP – ฟังก์ชันค้นหาค่าแนวตั้งจากตาราง](https://www.thepexcel.com/functions/excel/lookup-and-reference/vlookup/)

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

- [Official Documentation](https://support.microsoft.com/en-us/office/columns-function-4e8e7b4e-e603-43e8-b177-956088fa48ca) _(official)_
- [ExcelJet](https://exceljet.net/excel-functions/excel-columns-function) _(guide)_

---

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