Chào mọi người,
Mình thường xuyên phải làm việc với các bảng dữ liệu lớn, có lúc phải lọc ra để xem từng nhóm. Việc đánh số thứ tự (STT) theo từng nhóm sau khi lọc là một công việc khá tốn thời gian nếu làm thủ công. Hôm nay, mình xin chia sẻ một cách dùng công thức để tự động đánh STT theo nhóm khi lọc dữ liệu Excel mà không cần đến VBA.
Cách này khá hay và hữu ích cho những ai hay phải xử lý báo cáo, danh sách theo nhóm.
Cách thực hiện:
Giả sử bạn có một bảng dữ liệu và cột STT là cột A, dữ liệu bắt đầu từ hàng 2.
- Sử dụng hàm
SUBTOTALkết hợp vớiIF. - Tại ô STT đầu tiên (ví dụ A2), bạn nhập công thức sau:
=IF(SUBTOTAL(3,A$1:A1)=0, "", SUBTOTAL(3,A$1:A1))Giải thích công thức:
SUBTOTAL(3,A$1:A1): HàmSUBTOTALvới đối số đầu tiên là 3 sẽ đếm các ô không trống trong vùng chỉ định. Ở đây, vùngA$1:A1sẽ tự động co giãn khi bạn kéo công thức xuống. Khi bạn lọc dữ liệu, hàm này sẽ chỉ đếm các ô hiển thị.IF(..., "", ...): Nếu kết quả đếm là 0 (tức là dòng đó bị ẩn đi sau khi lọc hoặc là dòng trống), thì ô STT sẽ để trống. Ngược lại, nó sẽ hiển thị kết quả đếm.
Sau khi nhập công thức tại A2, bạn chỉ cần kéo chuột xuống để áp dụng cho toàn bộ cột STT.
Khi bạn thực hiện lọc dữ liệu theo một tiêu chí nào đó, cột STT sẽ tự động cập nhật, đánh số lại theo thứ tự của các dòng đang hiển thị, theo từng nhóm mà bạn lọc ra.
Cách này mình thấy rất tiện lợi, giúp tiết kiệm đáng kể thời gian và tránh sai sót khi làm việc với Excel. Hy vọng chia sẻ này hữu ích với mọi người!