ต้องการ สูตร Excel นับจำนวนแถว แบบเร็ว แม่น และยืดหยุ่น? บทความนี้รวมทุกวิธีที่ใช้จริงในงาน: ROWS, COUNTA, COUNTIF/COUNTIFS, SUBTOTAL, FILTER+ROWS และการนับใน Table พร้อมตัวอย่าง ข้อผิดพลาดที่พบบ่อย และลิงก์ ดาวน์โหลดไฟล์ตัวอย่าง เพื่อฝึกตามได้ทันที
Why this matters | ทำไม “นับจำนวนแถว” ถึงสำคัญ
ไม่ว่าคุณจะทำรายงานยอดขาย รายชื่อพนักงาน หรือสรุปคำสั่งซื้อ การ นับจำนวนแถว คือพื้นฐานของการวิเคราะห์ เช่น นับแถวทั้งหมด, นับแถวที่มีข้อมูลจริง, นับแถวตามเงื่อนไข (เช่น สถานะ=“สำเร็จ”), หรือนับเฉพาะแถวที่แสดงผลหลังกรอง—เลือกสูตรให้ถูก งานก็จบไว ข้อมูลแม่น และต่อยอดอัตโนมัติเมื่อมีการเพิ่ม/ลดข้อมูล
เมื่อไหร่ควรใช้สูตรไหน?
- นับจำนวนแถวทั้งหมดในช่วง → ใช้
ROWS - นับแถวที่ “ไม่ว่าง” → ใช้
COUNTA - นับตามเงื่อนไข เช่น สถานะ/แผนก → ใช้
COUNTIF,COUNTIFS - นับเฉพาะแถวที่มองเห็นหลังกรอง → ใช้
SUBTOTALฟังก์ชัน 103 - นับแบบ Dynamic →
ROWS(FILTER(...))(Excel ที่รองรับ Dynamic Array) - ใช้ตาราง (Table) → ช่วงข้อมูลยืดหดเองเมื่อเพิ่มแถวใหม่ ช่วยลดการแก้ช่วงอ้างอิง
วิธีทำ + ตัวอย่างสูตร
1) ROWS — นับจำนวนแถวทั้งหมดในช่วง
=ROWS(A2:A1000) นับจำนวนแถวในช่วงที่กำหนด (ไม่สนใจว่าว่างหรือไม่)
2) COUNTA — นับจำนวนแถวที่มีข้อมูล
=COUNTA(A2:A1000) เหมาะกับการนับแถวที่ “ไม่ว่าง” (รวมข้อความ ตัวเลข สูตรที่ส่งคืนค่าว่างเทียมอาจนับด้วย ดูหัวข้อปัญหาพบบ่อย)
3) COUNTIF — นับตามเงื่อนไขเดียว
เช่นนับแถวที่ Status = “สำเร็จ” ในคอลัมน์ C
=COUNTIF(C2:C1000,"สำเร็จ")
4) COUNTIFS — นับตามหลายเงื่อนไข
เช่น Status = “สำเร็จ” และวันที่ ≥ 1 ม.ค. 2025
=COUNTIFS(C2:C1000,"สำเร็จ", D2:D1000, ">="&DATE(2025,1,1))
5) SUBTOTAL (103) — นับเฉพาะแถวที่มองเห็น (หลังกรอง)
วางในช่วงเดียวกับข้อมูล แล้วใช้ตัวกรอง (Filter) หรือซ่อนแถว
=SUBTOTAL(103, A2:A1000)
6) FILTER + ROWS — นับแบบ Dynamic Array
นับจำนวนแถวที่ผ่านเงื่อนไข โดยไม่ต้องสร้างคอลัมน์ช่วย
=ROWS(FILTER(A2:A1000, C2:C1000="สำเร็จ"))
7) นับใน Table (ช่วงแบบยืดหดอัตโนมัติ)
แปลงช่วงข้อมูลเป็น Table (Ctrl+T) แล้วตั้งชื่อเช่น tblSales
- นับจำนวนแถวทั้งหมดในตาราง:
=ROWS(tblSales) - นับแถวที่คอลัมน์ Customer ไม่ว่าง:
=COUNTA(tblSales[Customer])
เคล็ดลับ: หากทำรายงานสรุป แนะนำให้ใช้ Table เพื่อให้สูตรขยายอัตโนมัติเมื่อเพิ่มข้อมูลใหม่
ปัญหาที่พบบ่อย & วิธีแก้
- สูตรนับมากกว่าความเป็นจริง เพราะเซลล์มีสูตรที่คืนค่าเป็นสตริงว่าง
""→ ใช้COUNTIF(range,"<>")หรือใช้เงื่อนไขLEN(cell)>0 - มีช่องว่าง/เว้นวรรคเกิน ทำให้ COUNTA นับ → ใช้
TRIM+CLEANทำความสะอาดข้อมูลก่อน - ซ่อนแถว/กรองแล้วอยากนับเฉพาะที่เห็น → ใช้
SUBTOTAL(103,range)(หรือAGGREGATEฟังก์ชันเทียบเท่า) - ประสิทธิภาพช้า เมื่ออ้างอิงทั้งคอลัมน์ในไฟล์ใหญ่ → จำกัดช่วงให้พอดี หรือใช้ Table
- ชื่อฟังก์ชันท้องถิ่น (Excel ภาษาไทย) อาจแปลต่างกัน แนะนำใช้สูตรตามตัวอย่างสากลเพื่อแชร์ข้ามทีมได้สะดวก
- วันที่เป็นข้อความ ทำให้เงื่อนไขวันที่ไม่ทำงาน → แปลงเป็นวันที่จริงด้วย Text to Columns หรือ
DATEVALUE
ประโยชน์ที่ได้
- รายงานสรุปแม่นยำ เชื่อถือได้
- ทำงานเร็วขึ้น ลดงานมือและข้อผิดพลาด
- ขยายอัตโนมัติเมื่อเพิ่มข้อมูล (เมื่อใช้ Table/Dynamic Array)
- วิเคราะห์เชิงเงื่อนไขได้ลึกขึ้นด้วย COUNTIFS/FILTER
ดาวน์โหลดไฟล์ตัวอย่าง
ฝึกตามได้ทันทีด้วยสมุดงานที่เตรียมไว้ มีชีท Data และ Examples ครบทุกสูตรสำคัญ:
ดาวน์โหลดไฟล์ตัวอย่าง (.xlsx)
บทส่งท้าย
“นับจำนวนแถว” ใน Excel มีได้หลายวิธี—ไม่มีสูตรเดียวครอบจักรวาล เลือกให้ตรงงาน: นับทั้งหมดใช้ ROWS, นับที่มีข้อมูลใช้ COUNTA, มีเงื่อนไขใช้ COUNTIF/COUNTIFS, หลังกรองใช้ SUBTOTAL, ต้องการความยืดหยุ่นสูงและต่อยอดสูตรอื่นได้ ใช้ FILTER คู่ ROWS. หากทำรายงานเป็นประจำ ให้เปลี่ยนช่วงข้อมูลเป็น Table เพื่อให้สูตรทนทานต่อการเปลี่ยนแปลงและขยายตัวเองโดยอัตโนมัติ
ถ้าคุณต้องการเรียนรู้สูตรเงื่อนไขเพิ่มเติม ลองดูบทความ สูตร Excel หาค่าที่มีคำเฉพาะ (Contains Specific Text) ซึ่งคุณสามารถรวมกับ COUNTIF/COUNTIFS ได้อย่างมีประสิทธิภาพ
ในกรณีที่คุณต้องการรวมข้อความหลายๆ คอลัมน์เข้าด้วยกันก่อนนับ ลองอ่าน สูตร Excel TEXTJOIN เพื่อช่วยเตรียมข้อความก่อนนำไปนับ
ถ้าไฟล์ของคุณมีข้อมูลหลายแถวที่ถูกซ่อนหรือกรองไว้ การใช้ SUBTOTAL(103,…) จะช่วยนับเฉพาะแถวที่มองเห็นได้ อ่านเพิ่มเติมได้จาก 10 ทริค Excel ทำงานให้เร็วขึ้น
ถ้าคุณเจอว่าในเซลล์มีช่องว่างแอบแฝงหรือค่าว่างที่ดูเหมือนไม่มีอะไร แต่สูตรนับดันนับไปแล้ว บทความ สูตร Excel แยกตัวเลขออกจากตัวอักษร อาจจะช่วยให้คุณเข้าใจการจัดการข้อมูลในเซลล์ได้มากขึ้น





