Đánh giá lequocthai.com:
Đừng để chữ “S” thêm vào đánh lừa bạn — ROW và ROWS thực hiện hai công việc hoàn toàn khác nhau trong Excel. Một hàm cho bạn biết vị trí hiện tại, trong khi hàm kia cho biết kích thước của một vùng dữ liệu. Nếu bạn mệt mỏi vì công thức bị lỗi khi xóa hàng, đã đến lúc hiểu rõ sự khác biệt giữa hai công cụ này.
Khác biệt cốt lõi: Tọa độ so với Kích thước
Thoạt nhìn, ROW và ROWS chỉ khác nhau một chữ cái. Nhưng thực tế, chúng phục vụ hai mục đích riêng biệt. Để phân biệt, hãy nhớ điểm then chốt: một hàm về vị trí, hàm kia về kích thước.
- ROW là một tọa độ. Nó cho biết một ô cụ thể nằm ở đâu trên bảng tính.
- ROWS là một phép đo. Nó cho biết một phạm vi ô có chiều cao bao nhiêu hàng.
Cấu trúc hàm
Trước khi xem ví dụ, hãy cùng tìm hiểu cách viết hai hàm này.
Hàm ROW có một đối số tham chiếu không bắt buộc:
=ROW([reference])
Nếu bạn bỏ trống dấu ngoặc đơn, hàm sẽ trả về số hàng của ô chứa công thức. Nếu tham chiếu đến một ô duy nhất, nó trả về số hàng của ô đó. Trong các phiên bản Excel hiện đại, nếu tham chiếu đến một phạm vi, kết quả sẽ được tự động điền (spill) xuống các ô bên dưới, liệt kê số hàng của tất cả các ô trong phạm vi.
Hàm ROWS có một đối số mảng bắt buộc:
=ROWS(array)
Khi bạn cung cấp một phạm vi hoặc tên bảng, hàm sẽ đếm tổng số hàng trong khối đó.
![]()
ROW: Ví dụ minh họa
Hàm ROW hữu ích khi vị trí của dữ liệu quan trọng hơn bản thân dữ liệu. Giả sử bạn có một bảng định dạng Excel tên là T_Tasks, và bạn muốn di chuyển thủ công các nhiệm vụ ưu tiên cao lên đầu.

Nếu bạn nhập thủ công số thứ tự vào cột Ưu tiên, chúng sẽ bị “cứng”. Ví dụ, nếu bạn di chuyển nhiệm vụ 2240 lên đầu, số thứ tự Ưu tiên sẽ bắt đầu từ 6 thay vì 1.

Thay vào đó, bạn có thể dùng hàm ROW để lấy vị trí trên lưới:
=ROW()-1

Hàm ROW tham chiếu đến toàn bộ lưới bảng tính. Vì bảng bắt đầu ở hàng 2, việc trừ 1 sẽ điều chỉnh số đếm, giúp nhiệm vụ đầu tiên luôn hiển thị là ưu tiên #1.
Kết quả là, hàng trên cùng của cột Ưu tiên sẽ luôn là số 1, ngay cả khi bạn kéo một nhiệm vụ từ dưới lên đầu.

Đây là một giải pháp nhanh hữu ích cho danh sách đơn giản. Tuy nhiên, việc phụ thuộc vào lưới bảng tính có thể gây ra vấn đề nếu bạn cần di chuyển bảng.
ROWS: Ví dụ minh họa
Trong khi ROW xem xét một tọa độ duy nhất, ROWS xem xét toàn bộ vùng chứa. Giả sử bạn muốn hiển thị tổng số nhiệm vụ trong bảng T_Tasks vào một ô riêng biệt ở đầu trang tính.

Để công thức luôn chính xác, hãy dùng ROWS kết hợp tham chiếu có cấu trúc:
=ROWS(T_Tasks[Task])

Công thức này đơn giản hỏi bảng: “Có bao nhiêu hàng trong cột Nhiệm vụ?”
Điểm yếu của COUNTA: Bỏ qua ô trống
Đây là lỗi nhiều người mắc phải. Bạn có thể muốn dùng:
=COUNTA(T_Tasks[Task])
Nhưng COUNTA có một nhược điểm lớn: nó chỉ đếm ô có dữ liệu. Nếu bạn thêm một hàng mới vào bảng nhưng chưa điền tên nhiệm vụ, COUNTA sẽ bỏ qua hàng trống đó, khiến tổng số đếm bị thiếu.

Trong khi đó, ROWS không quan tâm nội dung ô — nó chỉ đếm số hàng tồn tại trong phạm vi bảng. Vì vậy, nó luôn báo cáo chính xác, bao gồm cả hàng mới chưa điền.


Sự thật là: ROWS có thể thay thế ROW (và còn tốt hơn)
Cho đến nay, chúng ta đều thấy hai hàm này khác biệt — điều đó đúng. Tuy nhiên, bạn thực sự có thể dùng ROWS để thực hiện công việc của ROW, và cách này còn đáng tin cậy hơn.
Trước đó, tôi dùng =ROW()-1 để tạo danh sách ưu tiên, nhưng phương pháp này có điểm yếu: nó gắn cứng với lưới bảng tính vật lý. Nếu bạn di chuyển bảng T_Tasks xuống vài hàng để chừa chỗ cho bảng điều khiển hoặc tiêu đề mới, công thức sẽ hỏng. Vì gắn với tọa độ lưới, nhiệm vụ đầu tiên có thể bắt đầu từ số 5 thay vì số 1.

Để sửa, bạn phải thủ công đổi thành -5.
Bằng cách sử dụng tham chiếu có cấu trúc mở rộng cùng ROWS, bạn tạo ra bộ đếm độc lập với lưới:
=ROWS(T_Tasks[#Headers]:[@Task])-1
Công thức này yêu cầu Excel đo khoảng cách từ hàng tiêu đề xuống đến hàng hiện tại của cột Task.

Vì nó đo chiều cao bên trong bảng thay vì số hàng tuyệt đối, danh sách của bạn sẽ luôn bắt đầu từ 1. Bạn có thể di chuyển bảng đi đâu, số ưu tiên vẫn được giữ nguyên.

Vậy hàm ROW có thực sự vô dụng?
Sau khi thấy ROWS ổn định hơn cho việc đánh số và đếm, bạn có thể tự hỏi liệu ROW có còn cần thiết. Trên thực tế, ROW vẫn lý tưởng khi bạn cần tương tác với chính cấu trúc lưới của bảng tính.
Dưới đây là hai ví dụ:
- Tạo bước tăng toán học: ROW là công cụ đơn giản nhất cho các công thức cần thay đổi dựa trên vị trí của chúng. Ví dụ, nếu bạn cần một giá trị tăng 5 đơn vị cho mỗi dòng di chuyển xuống, ROW hoạt động như một bộ đếm tích hợp sẵn.
- Tham chiếu gián tiếp (Indirect referencing): Người dùng nâng cao thường dùng ROW bên trong các hàm phức tạp như INDIRECT hoặc ADDRESS. Nếu bạn cần xây dựng một tham chiếu ô động (ví dụ: tham chiếu đến ô cách ba hàng xuống và hai cột sang), ROW cung cấp tọa độ thô để thực hiện phép tính.
Các trường hợp sử dụng nâng cao: ROW và ROWS trong công thức phức tạp
Khi đã nắm vững khái niệm “bản đồ so với thước đo”, bạn sẽ thấy các hàm này xuất hiện trong những công thức mạnh mẽ hơn. Dưới đây là một số ví dụ:
| Mục tiêu | Ví dụ công thức | Chức năng |
|---|---|---|
| Đánh số động | =SEQUENCE(ROWS(T_Tasks)) |
Tạo danh sách số hoàn hảo từ 1 đến hết bảng. Nếu bảng mở rộng, các số tự động xuất hiện. |
| Tra cứu theo vị trí | =INDEX(T_Tasks[Task],ROWS(T_Tasks)) |
Nhanh chóng tìm mục cuối cùng trong danh sách bằng cách dùng ROWS đo chiều cao và INDEX lấy giá trị ở hàng đó. |
| Trích xuất có điều kiện | =SMALL(IF(T_Tasks[Status]="Review",ROW(T_Tasks[Status])-1),1) |
Dùng ROW để tìm vị trí của các nhiệm vụ có trạng thái “Review”, sau đó chọn số nhỏ nhất (nhiệm vụ đầu tiên). |
| Chuyển dữ liệu ngang thành dọc | =INDEX($A$1:$Z$1,ROW(A1)) |
Mẹo thông minh để chuyển dữ liệu từ một hàng ngang sang một cột dọc. Khi kéo công thức xuống, nó sẽ lấy lần lượt dữ liệu từ trái sang phải. |
Việc phân biệt các hàm Excel có vẻ ngoài tương tự là chìa khóa để làm chủ phần mềm. Ví dụ, XMATCH và MATCH đều tìm kiếm, nhưng chúng xử lý chế độ tìm kiếm khác nhau. Tương tự, XLOOKUP mạnh mẽ hơn VLOOKUP vì không bị hỏng khi chèn cột. Điều tương tự áp dụng cho ROW và ROWS: lựa chọn giữa chúng là sự khác biệt giữa việc xác định một điểm cố định trên lưới và đo lường kích thước thực tế của dữ liệu bạn có.
Tags: Excel functions, ROW vs ROWS, spreadsheet tips







