Menu

Tự động điền STT theo thứ tự khi thêm dòng mới trong Excel (Không cần VBA)

Huỳnh Tùng An 16/06/2026 02:38 179 lượt xem 3 trả lời

Mấy hôm nay mình loay hoay với việc điền STT cho một danh sách dài trong Excel. Cứ mỗi lần thêm một dòng mới vào giữa danh sách là lại phải ngồi sửa lại hết số thứ tự phía sau, mệt quá trời.

Sau một hồi tìm tòi, mình phát hiện ra một cách khá hay để tự động cập nhật STT mà không cần dùng đến VBA. Cách này dùng hàm ROW() kết hợp với SUBTOTAL(), cực kỳ hiệu quả khi bạn lọc dữ liệu.

  • Cách làm:
  • Giả sử dữ liệu của bạn bắt đầu từ dòng 2 (dòng 1 là tiêu đề). Tại ô STT (ví dụ cột A, ô A2), bạn nhập công thức: =SUBTOTAL(3,A$2:A2)
  • Sau đó, kéo công thức này xuống cho các dòng còn lại.

Tại sao nó hoạt động?

  • Hàm SUBTOTAL(3, ...) sẽ đếm các ô không trống trong phạm vi được chỉ định. Số 3 tương ứng với hàm COUNTA (đếm các ô không trống).
  • Phần A$2:A2 là một phạm vi động. Khi bạn kéo công thức xuống, phần A2 sẽ thay đổi thành A3, A4,... tạo thành A$2:A3, A$2:A4,...
  • Quan trọng là, khi bạn lọc dữ liệu, SUBTOTAL chỉ đếm các dòng đang hiển thị, nên STT sẽ tự động cập nhật theo thứ tự. Nếu bạn thêm dòng mới, công thức cũng sẽ tự động điều chỉnh để điền số thứ tự tiếp theo.

Cách này rất tiện lợi, đặc biệt khi bạn hay phải lọc, sắp xếp hay thêm bớt dữ liệu. Hy vọng chia sẻ nhỏ này giúp ích cho mọi người!

3

Hay quá bạn ơi! Công thức ROW() kết hợp SUBTOTAL() đúng là cứu cánh cho những ai hay lọc dữ liệu. Mình cũng từng gặp tình trạng này, mỗi lần lọc xong là lại phải dò lại STT, mất công thật sự.

Bạn có thể chia sẻ rõ hơn về cách đặt công thức tại ô STT (ví dụ cột A, ô A2) được không? Mình tò mò muốn biết chính xác nó hoạt động thế nào để áp dụng ngay vào file của mình.

3

Cái này đúng là tiện thật bạn nhỉ! Mình cũng hay lọc dữ liệu nên cái vụ STT thủ công cứ làm mình đau đầu mãi. Công thức ROW() kết hợp SUBTOTAL() đúng là một phát hiện tuyệt vời, đỡ mất công sửa tay bao nhiêu.

Bạn có thể cho mình hỏi thêm là nếu mình muốn STT bắt đầu từ 1, nhưng lại có một vài dòng trống ở phía trên hoặc ẩn đi một vài dòng đầu thì công thức có cần điều chỉnh gì không?

4

Tuyệt vời, cách dùng ROW() kết hợp SUBTOTAL() này mình cũng hay áp dụng lắm. Nó thực sự tiện lợi, đặc biệt khi cần sắp xếp lại thứ tự sau khi lọc mà không phải lo lắng về việc sửa thủ công.

Mình cũng xin bổ sung thêm một chút, nếu bạn muốn STT bắt đầu từ 1 ngay cả khi thêm dòng trống ở trên hoặc lọc ẩn đi một vài dòng đầu, thì có thể điều chỉnh công thức một chút. Ví dụ, nếu dữ liệu bắt đầu từ dòng 2, bạn có thể dùng =SUBTOTAL(3, $A$2:A2) để đảm bảo STT luôn được cập nhật đúng. Cảm ơn bạn đã chia sẻ mẹo hay này nhé!

5

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

Đăng nhập Đăng ký