คลังสูตรExcel 80 · DAX 95 · M 15
ในหน้านี้
หน้าแรก › DAX › สรุปค่า (Aggregation) › COUNTX

COUNTX

DAX · Power BIสรุปค่า (Aggregation)ระดับพื้นฐานแบบ 3 · แนวคิดเดียวกัน คนละฟังก์ชัน

อัปเดต 27 ก.ย. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop

เอกสารอ้างอิง: COUNTX (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)

COUNTX คืออะไร

นับแถวที่นิพจน์ได้ค่าที่ไม่ว่าง (ตัวเลข วันที่ หรือข้อความ) ใช้นับตามเงื่อนไขที่ต้องคำนวณ เช่น คำสั่งซื้อที่มีส่วนลด

ใช้เมื่อไหร่

  • นับแถวตามเงื่อนไขที่ต้องคำนวณ
  • นับค่าที่ไม่ว่างของนิพจน์

รูปแบบสูตร

=COUNTX(<table>, <expression>)

Argument แต่ละตัว

ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น

Argumentจำเป็นไหมความหมาย
tableจำเป็นตารางที่ไล่ทีละแถว
expressionจำเป็นค่าของแต่ละแถว แถวที่ได้ค่าว่างไม่ถูกนับ TRUE/FALSE ก็ไม่ถูกนับ

ลองเลย: คำสั่งซื้อที่มีส่วนลด แยกตามภูมิภาค

คลิกตัวเลขในตารางเพื่อดูตัวกรองไหลผ่านโมเดลจนเป็นตัวเลขนั้น เลือกค่าใน Slicer แก้ Measure ได้ หรือกด Excel เพื่อดูสูตร Excel ที่ได้คำตอบเดียวกัน

[จำนวนคำสั่งซื้อ] = COUNTROWS('ยอดขาย')
Ctrl + Enter คำนวณ · พิมพ์ ' เลือกตาราง · [ เลือกคอลัมน์หรือ Measure
  • พนักงานขาย[ภูมิภาค] = "กลาง"
  • สินค้าไม่มีตัวกรอง
  • วันที่[ปี] = 2025
  • ยอดขายเหลือ 96 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
คำสั่งซื้อที่มีส่วนลด แยกตามภูมิภาค
คำสั่งซื้อที่มีส่วนลด แยกตามภูมิภาค · ใช้ลูกศรเลื่อนระหว่างช่อง Enter เพื่อดูว่าตัวเลขนั้นคำนวณอย่างไร
ภูมิภาคจำนวนคำสั่งซื้อคำสั่งซื้อที่มีส่วนลด
กลาง
เหนือ
ตะวันออกเฉียงเหนือ
ตะวันออก
ใต้
ยอดรวม
45คำสั่งซื้อที่มีส่วนลด · กลาง · 2025
ดูทีละขั้นขั้น 3 / 3

ถ้าคุณเขียน Excel อยู่แล้ว

EXCEL=COUNTIFS(ยอดขาย[ภูมิภาค], "กลาง", ยอดขาย[ส่วนลด], ">0")

Excel นับตามเงื่อนไขด้วย COUNTIFS

DAXคำสั่งซื้อที่มีส่วนลด = COUNTX('ยอดขาย', IF('ยอดขาย'[ส่วนลด] > 0, 1))

IF ที่ไม่มีค่าเมื่อเท็จให้ค่าว่าง แถวนั้นจึงไม่ถูกนับ

ข้อผิดพลาดและเคล็ดลับ

COUNTX('ยอดขาย', 'ยอดขาย'[ส่วนลด] > 0) ไม่ได้จำนวนคำสั่งซื้อที่มีส่วนลด เพราะผลเป็น TRUE/FALSE ซึ่ง COUNTX ไม่นับ ต้องแปลงด้วย IF ให้ได้ 1 หรือค่าว่าง
ถ้าไม่มีแถวให้นับ COUNTX ได้ค่าว่าง ไม่ใช่ 0
นับตามเงื่อนไขง่าย ๆ ใช้ CALCULATE(COUNTROWS('ยอดขาย'), 'ยอดขาย'[ส่วนลด] > 0) ก็ได้ผลเดียวกัน

แบบทดสอบ 3 ข้อ

1. COUNTX('ยอดขาย', IF('ยอดขาย'[ส่วนลด] > 0, 1)) นับอะไร

2. COUNTX ไม่นับค่าแบบใด

3. ไม่มีแถวให้นับ COUNTX ได้อะไร

ไฟล์ฝึก COUNTX

9Expert-DAX-COUNTX-Practice-v1.0.xlsx

รุ่น 1.0 · 26/9/2026 · 70 KB · ไม่มี Macro · นำเข้า Power BI แล้วทำโจทย์ พิมพ์คำตอบกลับในไฟล์ ตรวจเอง
เริ่มต้นยอดขายสินค้าพนักงานขายวันที่คงคลังเป้าภูมิภาคแบบฝึกหัดเฉลย

โจทย์ในชีตแบบฝึกหัด

  1. ข้อ 1[คำสั่งซื้อที่มีส่วนลด] จำนวนคำสั่งซื้อที่มีส่วนลด · กรอง ภูมิภาค = ใต้, ปี = 2024
  2. ข้อ 2[คำสั่งซื้อที่มีส่วนลด] จำนวนคำสั่งซื้อที่มีส่วนลด · กรอง ภูมิภาค = ตะวันออกเฉียงเหนือ, ช่องทาง = Online, ปี = 2025
  3. ข้อ 3[คำสั่งซื้อที่มีส่วนลด] จำนวนคำสั่งซื้อที่มีส่วนลด · กรอง ภูมิภาค = เหนือ, ปี = 2025
  4. ข้อ 4[คำสั่งซื้อที่มีส่วนลด] จำนวนคำสั่งซื้อที่มีส่วนลด · กรอง ภูมิภาค = ตะวันออก, ช่องทาง = Modern Trade, ปี = 2024
  5. ข้อ 5[คำสั่งซื้อที่มีส่วนลด] จำนวนคำสั่งซื้อที่มีส่วนลด · กรอง ปี = 2025

ไปต่อ

อยากเขียน DAX สำหรับรายงานจริงทั้งระบบ

ต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)

ดูหลักสูตร