Chào mọi người,
Mình thường xuyên phải lọc dữ liệu theo nhóm trong Excel để làm báo cáo. Tuy nhiên, việc đánh số thứ tự thủ công sau mỗi lần lọc rất mất thời gian và dễ sai sót. Mình đã tìm hiểu và áp dụng một cách khá hay để tự động đánh số thứ tự theo nhóm khi lọc, muốn chia sẻ lại cho anh em nào đang gặp khó khăn giống mình.
Cách này kết hợp hàm SUBTOTAL và MATCH. Giả sử bạn có dữ liệu từ cột A đến cột D, và cột A là cột nhóm bạn muốn lọc. Cột STT bạn muốn đánh số thứ tự sẽ là cột E.
Tại ô E2, bạn nhập công thức sau:
=IF(SUBTOTAL(3,B2:B2)=0, "", COUNTIF(B$2:B2, "*") - COUNTIF(B$2:B2, "")+1)Trong đó:
B2là một ô bất kỳ trong vùng dữ liệu không bị trống của dòng đó (ví dụ: cột B là cột Tên sản phẩm).SUBTOTAL(3, B2:B2): Hàm này kiểm tra xem ôB2có được hiển thị sau khi lọc hay không. Nếu nó bị ẩn đi (do lọc), kết quả sẽ là 0.COUNTIF(B$2:B2, "<>*"): Đếm số lượng ô không trống trong phạm vi từB$2đếnB2.COUNTIF(B$2:B2, ""): Đếm số lượng ô trống.+1: Đảm bảo số thứ tự bắt đầu từ 1.
Kéo công thức này xuống cho toàn bộ các dòng dữ liệu. Khi bạn lọc dữ liệu theo nhóm, số thứ tự sẽ tự động cập nhật theo từng nhóm hiển thị.
Hy vọng mẹo nhỏ này sẽ giúp ích cho công việc của mọi người!