---
title: ROWS – นับจำนวนแถวทั้งหมด
url: https://www.thepexcel.com/functions/excel/lookup-and-reference/rows/
type: function-explainer
program: Excel
syntax: =ROWS(array)
date: 2025-12-02
updated: 2025-12-17
scores:
  popularity: 6
  difficulty: 3
  usefulness: 7
---

# ROWS – นับจำนวนแถวทั้งหมด

> นับจำนวนแถวทั้งหมด

## คำอธิบาย

ส่งกลับจำนวนแถวในอาร์เรย์หรือการอ้างอิง

## Syntax

```excel
=ROWS(array)
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| array | Yes | Range/Array |  | ช่วงข้อมูลหรืออาร์เรย์ |

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: นับจำนวนแถวในช่วงข้อมูล

```excel
=ROWS(DataRange)
```

**ผลลัพธ์:** `5`

สมมติว่า DataRange อ้างถึงช่วง A1:C5 (ซึ่งมี 5 แถว)
- สูตรจะคืนค่า 5 คือจำนวนแถวทั้งหมดใน DataRange

### 2. ตัวอย่างที่ 2: นับจำนวนแถวใน Array Constant

```excel
=ROWS({"A", "B"; "C", "D"; "E", "F"})
```

**ผลลัพธ์:** `3`

Array Constant ที่มี 3 แถว 2 คอลัมน์ สูตรจะคืนค่า 3 คือจำนวนแถว

### 3. ตัวอย่างที่ 3: นับจำนวนแถวในตารางโครงสร้าง

```excel
=ROWS(SalesTable)
```

**ผลลัพธ์:** `100`

สมมติว่า SalesTable คือชื่อของ Excel Table ที่มีข้อมูล 100 แถว
- สูตรจะคืนค่า 100 ซึ่งเป็นจำนวนแถวของข้อมูลใน SalesTable

### 4. ตัวอย่างที่ 4: ใช้ ROWS ร่วมกับ OFFSET สำหรับการ Dynamic

```excel
=SUM(OFFSET(A1,0,0,ROWS(A:A)-1,1))
```

**ผลลัพธ์:** `ผลรวมข้อมูลทั้งหมดในคอลัมน์ A (ยกเว้น Header)`

ใช้ ROWS ร่วมกับ OFFSET เพื่อสร้าง Range ที่ปรับตัวตามจำนวนแถวข้อมูล

### 5. ตัวอย่างที่ 5: เช็คว่าข้อมูลเพิ่มขึ้นหรือไม่

```excel
=IF(ROWS(A2:A1000)>ROWS(PreviousRange), "เพิ่มแล้ว", "เท่าเดิม")
```

**ผลลัพธ์:** `"เพิ่มแล้ว" หรือ "เท่าเดิม"`

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

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

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

ROWS นับจำนวนแถวทั้งหมดในช่วง แม้จะมีเซลล์ว่างปะปนอยู่ก็ตาม ส่วน COUNTA นับเฉพาะเซลล์ที่มีข้อมูล

**Q: ROWS(A:A) จะได้ค่าเท่าไหร่?**

ได้ 1048576 (จำนวนแถวทั้งหมดใน Excel Modern) เพราะ A:A หมายถึงคอลัมน์ทั้งหมดตั้งแต่แถว 1 ถึงแถวสุดท้าย

**Q: สามารถใช้ ROWS กับ Single Cell ได้ไหม?**

ได้ครับ ROWS(A1) จะได้ค่า 1 เพราะเซลล์เดียวคือ 1 แถว

**Q: ROWS ใช้ได้กับ Sheet Reference หรือไม่?**

ใช้ได้ครับ แต่ต้องการให้ระบุช่วงอยู่ดี เช่น ROWS(Sheet1!A:A) จะนับแถวทั้งหมดในคอลัมน์ A ของ Sheet1

**Q: ทำไม ROWS(A1:A1000) แล้วเซลล์ว่างหลายตัวถึงได้ 1000?**

เพราะ ROWS นับ **ช่วง** (Range) ไม่ใช่ **เสลด้อของข้อมูล** ถ้าต้องการนับเฉพาะเซลล์ที่มีข้อมูล ให้ใช้ COUNTA(A1:A1000)

**Q: สามารถใช้ ROWS ร่วมกับเงื่อนไข (Conditional) ได้ไหม?**

ไม่ได้โดยตรง ROWS ไม่มีพารามิเตอร์สำหรับเงื่อนไข แต่สามารถใช้ SUMPRODUCT หรือ Filtered Range ร่วมกับ ROWS ได้

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

- [CHOOSEROWS – เลือกเฉพาะแถวที่กำหนดจากตาราง](https://www.thepexcel.com/functions/excel/lookup-and-reference/chooserows/)
- [COLUMN – บอกเลขคอลัมน์](https://www.thepexcel.com/functions/excel/lookup-and-reference/column/)
- [COLUMNS – นับจำนวนคอลัมน์ทั้งหมด](https://www.thepexcel.com/functions/excel/lookup-and-reference/columns/)
- [COUNT – ฟังก์ชันนับจำนวนตัวเลข](https://www.thepexcel.com/functions/excel/statistical/count/)
- [COUNTA – ฟังก์ชันนับเซลล์ที่ไม่ว่าง](https://www.thepexcel.com/functions/excel/statistical/counta/)
- [ROW – บอกเลขแถว](https://www.thepexcel.com/functions/excel/lookup-and-reference/row/)
- size
- [SUBTOTAL – คำนวณผลรวมย่อยพร้อม Filter](https://www.thepexcel.com/functions/excel/math-and-trigonometry/subtotal/)

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

- [Official Documentation](https://support.microsoft.com/en-us/office/rows-function-b592593e-3fc2-47f2-bec1-bda493811597) _(official)_
- [ExcelJet](https://exceljet.net/excel-functions/excel-rows-function) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/excel/lookup-and-reference/rows/](https://www.thepexcel.com/functions/excel/lookup-and-reference/rows/)_
