COUNTAX ประเมินนิพจน์ต่อแถวในตาราง แล้วนับจำนวนผลลัพธ์ที่ไม่ว่าง เหมาะกับการนับค่าที่อาจเป็นข้อความ ตรรกะ หรือนิพจน์ที่ซับซ้อน ไม่ใช่แค่ตัวเลข
=COUNTAX(<table>, <expression>)
=COUNTAX(<table>, <expression>)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| table | table | Yes | ตารางที่ต้องการไล่ประเมินทีละแถว อาจเป็น table ทั้งตัว หรือ FILTER ที่คืน table | |
| expression | scalar | Yes | นิพจน์ที่ประเมินในแต่ละแถว อาจคืนค่าข้อความ ตรรกะ ตัวเลข หรือวันที่ ตราบใดที่ไม่ใช่ table |
เช่น นับจำนวนแถวที่มีรหัส/สถานะที่ถูกคำนวณและไม่ว่าง
เมื่อนิพจน์อาจคืน BLANK ในบางแถว และคุณต้องการนับเฉพาะแถวที่ไม่ว่าง
Product Count = COUNTAX(Products, Products[Code])Product Count =
COUNTAX(Products, Products[Code])
นับแถวที่ Products[Code] มีค่า
Valid Sales Count = COUNTAX( Sales, IF(Sales[Quantity] > 0 && Sales[Amount] > 0, 1, BLANK()) )Valid Sales Count =
COUNTAX(
Sales,
IF(Sales[Quantity] > 0 && Sales[Amount] > 0, 1, BLANK())
)
นับแถวที่ Quantity และ Amount ต่างก็มากกว่า 0
Notes Count = COUNTAX(Orders, Orders[Notes])Notes Count =
COUNTAX(Orders, Orders[Notes])
นับแถวที่มี Notes ไม่เป็นค่าว่าง
Related Product Count = VAR FilteredSales = FILTER(Sales, NOT(ISBLANK(RELATED(Products[ProductID])))) RETURN COUNTAX(FilteredSales, RELATED(Products[ProductName…Related Product Count =
VAR FilteredSales = FILTER(Sales, NOT(ISBLANK(RELATED(Products[ProductID]))))
RETURN
COUNTAX(FilteredSales, RELATED(Products[ProductName]))
นับแถว Sales ที่มี Product ที่ relate ได้
ทั้งคู่เป็น iterator แต่ COUNTAX นับผลลัพธ์ที่ไม่ว่าง (non-blank) ของ expression โดยไม่สนใจประเภทข้อมูล ส่วน COUNTX นับเฉพาะค่าตัวเลขหรือวันที่เท่านั้น ถ้า expression ของคุณอาจคืนข้อความหรือค่าว่าง ใช้ COUNTAX จะเหมาะกว่า
ใช้ COUNTA เมื่อต้องการนับค่าไม่ว่างในคอลัมน์โดยตรง แต่ใช้ COUNTAX เมื่อต้องการนับผลลัพธ์ของนิพจน์ที่ประเมินต่อแถว เช่น IF condition หรือ RELATED column ส่วนตัวผมชอบ COUNTAX เพราะมี row context ให้เล่นได้เยอะกว่า
ได้ครับ COUNTAX ประเมินนิพจน์ในแต่ละแถว ดังนั้น row context จะนำมาคำนวณค่า expression เสมอ หากคุณใช้ร่วมกับ FILTER ที่สร้าง filter context เสียก่อน expression จะประเมินในแถวที่ FILTER คัดเลือกเท่านั้น
เมื่อตาราง (table parameter) ว่าง หรือไม่มีแถวเลย ตัว expression จะไม่ประเมินเลย และ COUNTAX จะ return BLANK ไม่ใช่ 0
COUNTAX เป็นฟังก์ชัน iterator ที่ไล่ประเมินนิพจน์ทีละแถวในตาราง แล้วนับจำนวนผลลัพธ์ที่ไม่ว่างทุกชนิด ต่างจาก COUNTA ที่นับคอลัมน์โดยตรง COUNTAX ใช้กับผลลัพธ์ของนิพจน์ที่ประเมินต่อแถว ซึ่งอาจเป็นข้อความ ตรรกะ หรือค่าที่คำนวณได้
ที่เจ๋งคือ COUNTAX สามารถนับผลลัพธ์ของนิพจน์ที่ซับซ้อนได้ เช่น IF statement, RELATED column, หรือคำนวณค่าเอง ถ้าผลลัพธ์ไม่ว่าง มันจะนับได้ ดังนั้นเวลาต้องการนับแถวที่เข้าเงื่อนไขหรือมีค่าที่คำนวณได้ COUNTAX คือตัวเลือกที่ดี
ส่วนตัวผม COUNTAX เป็นลูกน้องที่เก่งเมื่อต้องนับผลลัพธ์ของนิพจน์ที่ซับซ้อน ยิ่งกว่า COUNTA ที่นับคอลัมน์เดียวเท่านั้น แถมยังทำงานกับ FILTER ได้สวยเลย