Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Tự động điền STT theo nhóm lồng nhau trong Excel

Trác Trí Trúc 03/04/2026 01:11 208 lượt xem 2 trả lời

Chào các bạn,

Mình có một tình huống hơi khó nhằn một chút trong Excel và muốn lên đây hỏi xem có cao nhân nào chỉ giáo không ạ.

Hiện tại mình đang có một danh sách dữ liệu, trong đó có các nhóm chính và các nhóm con lồng nhau. Mình muốn tự động điền số thứ tự (STT) cho từng dòng, nhưng STT này phải được đánh số lại theo từng nhóm con. Ví dụ:

  • Nhóm A
    • Nhóm A1
      • Dòng 1
      • Dòng 2
    • Nhóm A2
      • Dòng 1
      • Dòng 2
      • Dòng 3
  • Nhóm B
    • Nhóm B1
      • Dòng 1

Kết quả mong muốn sẽ là:

  • Nhóm A
    • Nhóm A1
      • 1
      • 2
    • Nhóm A2
      • 1
      • 2
      • 3
  • Nhóm B
    • Nhóm B1
      • 1

Mình đã thử dùng =SUBTOTAL(3, A2) nhưng nó chỉ hoạt động tốt với một cấp nhóm thôi. Với các nhóm lồng nhau như thế này, mình đang loay hoay không biết dùng hàm gì để xử lý. Có ai có kinh nghiệm về vấn đề này không, hoặc có thể gợi ý cho mình một vài hướng đi không ạ? Mình cảm ơn!

2

Hay quá, mình cũng hay gặp bài toán đánh STT theo nhóm này! Bạn thử dùng công thức kết hợp IFCOUNTIF xem sao.

Ví dụ, giả sử cột nhóm chính là A, cột nhóm con là B, và bạn muốn đánh STT ở cột C. Tại ô C2, bạn có thể nhập công thức:

=IF(B2=B1, C1+1, 1)

Công thức này sẽ kiểm tra xem nhóm con ở dòng hiện tại có giống với dòng trên không. Nếu giống, nó sẽ cộng 1 vào STT của dòng trước. Nếu khác, nó sẽ reset về 1.

Tuy nhiên, cách này chỉ hoạt động tốt khi bạn đã sắp xếp dữ liệu theo nhóm chính và nhóm con. Bạn đã thử cách này chưa, hay có ràng buộc nào khác về dữ liệu không?

2

Chào bạn,

Bài toán đánh STT theo nhóm lồng nhau này mình cũng gặp nhiều rồi, đúng là hơi "xoắn" thật! Cách bạn thử với SUBTOTAL có lẽ là để làm STT tổng, còn để reset theo từng nhóm con thì đúng là cần một logic khác.

Mình có một cách khác cũng khá hay, có thể giúp bạn làm được điều này mà không cần sắp xếp dữ liệu quá phức tạp. Bạn có thể dùng kết hợp IFOFFSET hoặc INDEX để kiểm tra sự thay đổi của nhóm con.

Bạn có thể chia sẻ thêm về cấu trúc cột dữ liệu của bạn không? Ví dụ, cột nào là nhóm chính, cột nào là nhóm con, và bạn muốn STT bắt đầu từ đâu?

5

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

Đăng nhập Đăng ký