Thep Excel

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

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

fx
=COLUMNS(array)

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

อัปเดต 2 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
array Range/Array ช่วงข้อมูลหรืออาร์เรย์

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

Examples

นับคอลัมน์ในตารางCOLUMNS(SalesTable)

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

fx
=COLUMNS(SalesTable)

ผลลัพธ์5
นับคอลัมน์ใน ArrayCOLUMNS({1,2,3; 4,5,6})

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

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

ผลลัพธ์3
ใช้กับ VLOOKUP แบบ DynamicVLOOKUP(Key, Table, COLUMNS(Table), 0)

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

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

ผลลัพธ์ค่าคอลัมน์สุดท้าย
ตัวอย่างที่ 4: นับคอลัมน์เพื่อ Dynamic OFFSETOFFSET(A1,0,0,ROWS(A:A), COLUMNS(Table))

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

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

ผลลัพธ์Range ที่ปรับตัวตามจำนวน Row และ Column
ตัวอย่างที่ 5: เช็คว่าเพิ่มคอลัมน์ใหม่ไหมIF(COLUMNS(CurrentTable)>COLUMNS(PreviousTable), "เพิ่มคอลัมน์แล้ว", "ไม่เปลี่ยน")

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

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

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

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

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

ฟังก์ชันนี้COLUMNSLookup and reference
Lookup and reference (10)
AREAS

AREAS นับว่าการอ้างอิงที่เรากำหนดนั้นมีกี่พื้นที่ (area) พื้นที่หมายถึงช่วงเซลล์ต่อเนื่องหรือเซลล์เดี่ยว เช่น ถ้าเราอ้างอิง (A1:B2, D5:E5) ถือว่ามี 2 พื้นที่แยกกัน

CHOOSECOLS

CHOOSECOLS ใช้ดึงคอลัมน์ที่ต้องการจากตารางหรือ Array โดยระบุเลขลำดับคอลัมน์ สามารถดึงได้หลายคอลัมน์พร้อมกัน จัดลำดับใหม่ หรือทำซ้ำคอลัมน์เดิมได้ รองรับการนับคอลัมน์จากขวาสุดโดยใช้เลขลบ (เช่น -1 คือคอลัมน์ขวาสุด)

COLUMN

COLUMN ส่งคืนหมายเลขคอลัมน์ (Column Number) ของเซลล์หรือช่วงที่ระบุ ส่งคืนตัวเลขคอลัมน์ 1, 2, 3… (A=1, B=2 เป็นต้น) มีประโยชน์ในการระบุตำแหน่งคอลัมน์แบบไดนามิก

HSTACK

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

INDEX

INDEX คืนค่าหรือ reference ของเซลล์จากตำแหน่งที่ระบุใน range หรือ array โดยอ้างอิงจากหมายเลขแถวและคอลัมน์ที่เราระบุ มักถูกใช้ร่วมกับ MATCH เพื่อสร้าง INDEX-MATCH pattern ที่ยืดหยุ่นกว่า VLOOKUP เยอะ เพราะสามารถดึงข้อมูลจากทิศทางไหนก็ได้ และไม่พังเมื่อมีการแทรกหรือลบคอลัมน์

ROW

ROW ส่งคืนหมายเลขแถว (Row Number) ของเซลล์หรือช่วงที่ระบุ ส่งคืนตัวเลขแถว 1, 2, 3… มีประโยชน์ในการกำหนดหมายเลขลำดับแบบไดนามิก และสร้างสูตรที่ปรับตัวตามตำแหน่ง

ROWS

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

TRANSPOSE

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

VLOOKUP

VLOOKUP เป็นฟังก์ชันค้นหาแนวตั้งที่ได้รับความนิยมสูงสุดใน Excel โดยค้นหาค่าที่ต้องการในคอลัมน์ซ้ายสุดของตาราง จากนั้นดึงข้อมูลจากคอลัมน์ที่ระบุในแถวเดียวกัน รองรับทั้งการค้นหาแบบตรงทุกตัวอักษร (Exact Match) และแบบประมาณค่า (Approximate Match) สำหรับข้อมูลที่เรียงลำดับ ข้อจำกัดหลักคือต้องค้นหาจากคอลัมน์ซ้ายสุดเท่านั้น ไม่สามารถดึงข้อมูลจากด้านซ้ายของคอลัมน์ค้นหาได้

VSTACK

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

Comments

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