---
title: COUNTA – นับค่าไม่ว่างทุกชนิดในคอลัมน์
url: https://www.thepexcel.com/functions/dax/aggregation/counta-dax/
type: function-explainer
program: DAX
syntax: "COUNTA(<column>)"
date: 2025-12-13
updated: 2025-12-24
scores:
  popularity: 7
  difficulty: 2
  usefulness: 7
---

# COUNTA – นับค่าไม่ว่างทุกชนิดในคอลัมน์

> COUNTA นับจำนวนเซลล์ที่มีค่าไม่ว่าง (non-blank) ในคอลัมน์ โดยรวมตัวเลข ข้อความ วันที่ และค่าตรรกะ ต่

## คำอธิบาย

COUNTA นับจำนวนเซลล์ที่มีค่าไม่ว่าง (non-blank) ในคอลัมน์ โดยรวมตัวเลข ข้อความ วันที่ และค่าตรรกะ ต่างจาก COUNT ที่นับเฉพาะตัวเลขเท่านั้น

## Syntax

```excel
COUNTA(&lt;column&gt;)
```

**Variant**

```excel
COUNTA(&lt;column&gt;)
```

นับจำนวนค่าไม่ว่างในคอลัมน์ (รวมหลายชนิดข้อมูล)

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| column | Yes | Column |  | คอลัมน์ที่ต้องการนับจำนวนค่าไม่ว่าง ยอมรับทุกชนิดข้อมูล (ตัวเลข ข้อความ วันที่ Boolean) |

## เคสการใช้งาน

### นับจำนวนรายการที่มีการกรอกค่า

เช่น นับจำนวนแถวที่มีการกรอกหมายเหตุ/สถานะ

_เหมาะกับ:_ counta-nonblank-anytype

### นับจำนวนรหัสที่ไม่ว่าง

เช่น นับจำนวน CustomerID ที่ถูกกรอก (รวมทั้งข้อความ)

_เหมาะกับ:_ counta-text-id

## ตัวอย่าง

### 1. ตัวอย่างพื้นฐาน: นับจำนวนลูกค้าที่มีชื่อ

```excel
Total Customers =
COUNTA(Customers[Name])
```

**ผลลัพธ์:** `จำนวนแถวที่ Name ไม่ว่างในบริบทตัวกรองปัจจุบัน`

COUNTA นับทุกเซลล์ที่มีข้อมูลในคอลัมน์ Name ไม่ว่าจะเป็น "John Smith" หรือค่าใด ก็ตามที่ไม่ว่าง

### 2. ตัวอย่างการวัด Data Quality: นับค่าของหมายเลขโทรศัพท์

```excel
Customers With Phone =
COUNTA(Customers[Phone])
```

**ผลลัพธ์:** `จำนวนลูกค้าที่มีหมายเลขโทรศัพท์`

ใช้วัดว่ากี่ลูกค้าที่มีข้อมูลหมายเลขโทรศัพท์ ถ้านับได้น้อยกว่าจำนวนลูกค้าทั้งหมด แปลว่าข้อมูล Phone มี gap

### 3. ตัวอย่างการนับที่มีเงื่อนไข: นับหมายเหตุที่ไม่ว่างในคำสั่งซื้อ

```excel
Orders With Notes =
CALCULATE(
    COUNTA(Orders[Notes]),
    Orders[Status] = "Completed"
)
```

**ผลลัพธ์:** `จำนวนคำสั่งซื้อที่เสร็จสิ้นและมีหมายเหตุไม่ว่าง`

ใช้ CALCULATE เพื่อนับ COUNTA ภายใต้เงื่อนไข - ในที่นี้นับเฉพาะคำสั่งซื้อที่ Status เป็น 'Completed' เท่านั้น

### 4. ตัวอย่างเปรียบเทียบ COUNT vs COUNTA: ข้อมูลตัวเลขที่มีข้อความปะปนอยู่

```excel
=COUNT(Sales[Amount])
=COUNTA(Sales[Amount])
```

**ผลลัพธ์:** `COUNT: นับเฉพาะแถวที่ Amount เป็นตัวเลข
COUNTA: นับทุกแถวที่ Amount ไม่ว่าง (รวมข้อความด้วย)`

ถ้า Amount คอลัมน์มี 100 แถว แต่ 10 แถว เป็นข้อความ COUNT จะคืน 90 แต่ COUNTA จะคืน 100

### 5. ตัวอย่างการจับข้อมูลว่าง: นับค่าไม่ว่างและวิธีหาค่าว่าง

```excel
Non-Blank Email Count =
COUNTA(Customers[Email])

Blank Email Count =
COUNTROWS(Customers) - COUNTA(Customers[Email])
```

**ผลลัพธ์:** `Non-Blank: จำนวนที่มี Email
Blank: จำนวนที่ Email ว่าง`

ใช้ COUNTA ร่วมกับ COUNTROWS เพื่อหาจำนวนแถวที่ค่าว่าง

## หมายเหตุเพิ่มเติม

- COUNTA เหมาะกับการตรวจสอบ data completeness - เปรียบเทียบกับ COUNTROWS เพื่อหา missing data

- ใช้ COUNTA ร่วมกับ CALCULATE เมื่อต้องการนับค่าไม่ว่างภายใต้เงื่อนไขตัวกรองเฉพาะ

- ถ้าต้องการนับผลลัพธ์จากนิพจน์ (เช่นนับกี่ลูกค้าที่มีรวมจำนวนเงิน > 10000) ให้ดู COUNTAX (iterator version ของ COUNTA)

- COUNTA ที่เรียกจากภายใน row context จะเกิด context transition - มันจะนับทั้งคอลัมน์ ไม่ใช่แค่ row เดียว

- ระวังข้อความว่าง (empty string "") - COUNTA นับข้อความว่างเป็นค่าไม่ว่าง ถ้าต้องการไม่นับ ต้องตรวจสอบเพิ่มเติม

## คำถามที่พบบ่อย

**Q: COUNTA ต่างจาก COUNT อย่างไร?**

COUNTA นับค่าไม่ว่างทุกชนิด (ตัวเลข ข้อความ วันที่ Boolean) ส่วน COUNT นับเฉพาะตัวเลขและวันที่เท่านั้น ถ้าคอลัมน์มีข้อความปะปน COUNT จะให้ผลต่างจาก COUNTA

**Q: COUNTA นับค่าว่าง (BLANK) ไหม?**

ไม่นับ BLANK COUNTA นับเฉพาะค่าที่ไม่ว่างเท่านั้น ถ้าต้องการนับจำนวน BLANK ให้ใช้ COUNTBLANK หรือ COUNTROWS - COUNTA

**Q: COUNTA กับ COUNTX ต่างกันอย่างไร?**

COUNTA นับค่าไม่ว่างในคอลัมน์ COUNTX เป็น iterator ที่นับผลลัพธ์จากนิพจน์ที่ประเมินในแต่ละแถว ถ้าต้องการนับจากนิพจน์ (เช่นจำนวนกำไรที่มากกว่า 0) ให้ใช้ COUNTX

**Q: COUNTA เหมาะใช้ที่ไหน?**

เหมาะกับการนับรายการที่มีข้อมูล การวัด data completeness การหาจำนวนลูกค้า ผลิตภัณฑ์ หรือรายการใดก็ตามที่ต้องนับเฉพาะแถวที่มีค่า

**Q: COUNTA ใช้ได้กับ DirectQuery ไหม?**

ในการใช้ COUNTA กับ DirectQuery มีข้อจำกัด ใช้ได้ในบาง context แต่อาจไม่ได้ผลในทุก scenario โดยเฉพาะ calculated columns และ RLS rules ต้องตรวจสอบการสนับสนุนของแหล่งข้อมูล

## ฟังก์ชันที่เกี่ยวข้อง

- [COUNT – นับจำนวนแถวที่มีค่าไม่ว่างในคอลัมน์](https://www.thepexcel.com/functions/dax/aggregation/count-dax/)
- [COUNTBLANK – นับจำนวนค่าว่าง (BLANK) ในคอลัมน์](https://www.thepexcel.com/functions/dax/aggregation/countblank-dax/)
- countax

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft Learn: COUNTA Function](https://learn.microsoft.com/en-us/dax/counta-function-dax) _(official)_
- [DAX.guide: COUNTA](https://dax.guide/counta/) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/dax/aggregation/counta-dax/](https://www.thepexcel.com/functions/dax/aggregation/counta-dax/)_
