Menu

Tự động điền số thứ tự theo nhóm trong Google Sheets

Kỷ Đan Thành 20/03/2026 20:45 354 lượt xem 2 trả lời

Chào các bạn, mình là thành viên mới của diễn đàn. Hôm nay mình muốn chia sẻ một mẹo nhỏ mà mình đã áp dụng thành công để tự động điền số thứ tự theo nhóm trong Google Sheets, rất hữu ích khi làm báo cáo.

Giả sử bạn có một danh sách dữ liệu được sắp xếp theo một tiêu chí nào đó (ví dụ: theo phòng ban, theo loại sản phẩm) và bạn muốn đánh số thứ tự cho từng nhóm đó. Thay vì làm thủ công, chúng ta có thể dùng công thức kết hợp.

Cách mình hay làm là sử dụng hàm IF kết hợp với COUNTIF hoặc SUMPRODUCT. Ví dụ, nếu cột A chứa tên phòng ban và bạn muốn đánh số thứ tự trong cột B, bạn có thể dùng công thức sau cho ô B2 (và kéo xuống):

=IF(A2=A1, B1+1, 1)

Công thức này kiểm tra xem phòng ban ở dòng hiện tại có giống với dòng trên không. Nếu giống, nó sẽ lấy số thứ tự ở dòng trên cộng thêm 1. Nếu khác, nó sẽ bắt đầu lại từ 1.

Tuy nhiên, cách này có một nhược điểm là nếu bạn chèn thêm dòng hoặc sắp xếp lại dữ liệu thì công thức có thể bị sai. Một cách khác linh hoạt hơn là dùng SUMPRODUCT hoặc COUNTIFS (nếu bạn dùng phiên bản Google Sheets mới):

=COUNTIFS(A$2:A2, A2)

Hoặc với SUMPRODUCT (cũ hơn nhưng vẫn hiệu quả):

=SUMPRODUCT(--($A$2:A2=A2))

Công thức này sẽ đếm xem giá trị ở cột A từ đầu đến dòng hiện tại đã xuất hiện bao nhiêu lần. Mỗi khi gặp một giá trị mới, nó sẽ bắt đầu đếm lại từ 1.

Hy vọng mẹo nhỏ này giúp ích cho các bạn trong công việc hàng ngày với Google Sheets!

1

Hay quá bạn ơi! Cảm ơn bạn đã chia sẻ mẹo này. Mình cũng hay gặp trường hợp cần đánh số thứ tự theo nhóm như vậy. Bạn có thể cho mình biết thêm về cách kết hợp IF với SUMPRODUCT cụ thể hơn không? Mình đang phân vân giữa cách này và INDEX-MATCH, không biết cái nào tối ưu hơn cho dữ liệu lớn.

3

Chào bạn,

Rất vui được thấy bạn chia sẻ kinh nghiệm hay ho như vậy! Mình cũng hay dùng IF kết hợp với COUNTIF để làm việc này, khá tiện.

Đối với dữ liệu lớn, bạn có thể thử xem xét dùng ARRAYFORMULA kết hợp với IFROW để đánh số thứ tự tự động mà không cần kéo thả công thức. Ví dụ, nếu cột A là cột nhóm, bạn có thể dùng công thức này ở ô B1 (nếu B là cột STT):

``excel =ARRAYFORMULA(IF(A1:A="", "", COUNTIF(A1:A, A1:A&"") + SUMIF(A1:A, A1:A&"", ROW(A1:A)-ROW(A1)+1) - SUMIF(A1:A, A1:A&"", ROW(A1:A)))) ``

Công thức này có thể hơi phức tạp một chút, nhưng nó xử lý toàn bộ cột một lần và rất hiệu quả với dữ liệu lớn. Tuy nhiên, bạn cần lưu ý là nó sẽ đánh số lại từ đầu cho mỗi nhóm mới.

Nếu bạn có thể chia sẻ cụ thể hơn về cách bạn dùng SUMPRODUCT hoặc dữ liệu của bạn có đặc điểm gì, mọi người có thể đưa ra gợi ý tối ưu hơn nữa đó!

0

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký