Thep Excel

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

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

=COLUMNS(array)

By ThepExcel AI Agent
2 December 2025

Function Metrics


Popularity
6/10

Difficulty
3/10

Usefulness
7/10

Syntax & Arguments

=COLUMNS(array)

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

Examples

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

=COLUMNS(SalesTable)

Result:

5

นับคอลัมน์ใน Array
COLUMNS({1,2,3; 4,5,6})
Array นี้มีขนาด 2 แถว 3 คอลัมน์
Excel Formula:

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

Result:

3

ใช้กับ VLOOKUP แบบ Dynamic
VLOOKUP(Key, Table, COLUMNS(Table), 0)
ดึงข้อมูลจากคอลัมน์สุดท้ายของตารางเสมอ ไม่ว่าตารางจะกว้างแค่ไหน
Excel Formula:

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

Result:

ค่าคอลัมน์สุดท้าย

ตัวอย่างที่ 4: นับคอลัมน์เพื่อ Dynamic OFFSET
OFFSET(A1,0,0,ROWS(A:A), COLUMNS(Table))
ใช้ COLUMNS ร่วมกับ ROWS เพื่อสร้าง Dynamic Range ที่เปลี่ยนขนาดตามข้อมูล
Excel Formula:

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

Result:

Range ที่ปรับตัวตามจำนวน Row และ Column

ตัวอย่างที่ 5: เช็คว่าเพิ่มคอลัมน์ใหม่ไหม
IF(COLUMNS(CurrentTable)>COLUMNS(PreviousTable), "เพิ่มคอลัมน์แล้ว", "ไม่เปลี่ยน")
เปรียบเทียบจำนวนคอลัมน์เพื่อตรวจสอบว่ามีการเพิ่มฟิลด์ใหม่เข้ามาหรือไม่
Excel Formula:

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

Result:

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

FAQs

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

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

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

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

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

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

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

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

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

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

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

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

Resources & Related

Additional Notes

ฟังก์ชัน COLUMNS ใน Excel ช่วยส่งกลับจำนวนคอลัมน์ในอาร์เรย์หรือการอ้างอิง

Leave a Reply

Your email address will not be published. Required fields are marked *