Menu

Tự động cập nhật STT khi thêm/bớt dòng trong bảng Excel

Diệp Vạn Phước 30/03/2026 11:19 598 lượt xem 3 trả lời

Chào mọi người, hôm nay mình muốn chia sẻ một thủ thuật nhỏ nhưng rất hữu ích trong Excel mà mình mới khám phá ra để xử lý vấn đề cập nhật số thứ tự (STT) khi thêm hoặc bớt dòng trong bảng dữ liệu. Ai làm báo cáo, quản lý danh sách khách hàng hay theo dõi công việc chắc chắn sẽ gặp phải tình huống này.

Trước đây, mỗi lần thêm dòng mới vào giữa bảng, mình lại phải tự tay cập nhật lại STT cho các dòng phía dưới, hoặc là dùng các công thức phức tạp như SUBTOTAL kết hợp IF. Tuy nhiên, cách này đôi khi vẫn gây nhầm lẫn hoặc tốn thời gian nếu bảng quá lớn.

Gần đây, mình tình cờ biết đến một cách làm đơn giản hơn rất nhiều, đó là kết hợp tính năng Table của Excel với một chút tùy chỉnh.

Cách làm:

  1. Đầu tiên, bạn chọn toàn bộ vùng dữ liệu của mình, sau đó nhấn tổ hợp phím Ctrl + T để chuyển nó thành một bảng Excel (Table).
  2. Tại cột STT, bạn nhập công thức sau vào ô đầu tiên (ví dụ ô A2, giả sử bảng bắt đầu từ dòng 2):
    =ROW()-ROW(Table1[#Headers])
    Ở đây, Table1 là tên bảng của bạn. Nếu bạn không đặt tên, Excel sẽ tự đặt tên mặc định. Bạn có thể xem tên bảng trong thẻ Table Design.
  3. Sau khi nhập công thức, Excel sẽ tự động áp dụng cho toàn bộ cột STT.

Ưu điểm của cách này:

  • Khi bạn thêm một dòng mới vào cuối bảng, STT sẽ tự động cập nhật.
  • Khi bạn thêm một dòng mới vào giữa bảng, STT cũng sẽ tự động nhảy đúng thứ tự.
  • Khi bạn xóa một dòng, STT của các dòng còn lại cũng sẽ tự động điều chỉnh.

Cách này cực kỳ hiệu quả và tiết kiệm thời gian. Hy vọng chia sẻ này hữu ích cho mọi người!

3

Công thức =ROW()-ROW(A$1) đúng là một giải pháp đơn giản mà hiệu quả cho việc tự động cập nhật STT. Mình cũng hay dùng nó.

Nhưng nếu bảng dữ liệu của mình có thể bị xáo trộn thứ tự các dòng (ví dụ: sort theo một cột khác), hoặc có những dòng mình muốn bỏ qua không đánh STT, thì có vẻ cách dùng SUBTOTAL hoặc AGGREGATE sẽ linh hoạt hơn một chút. Ví dụ, với SUBTOTAL, mình có thể dùng =SUBTOTAL(103, $A$2:A2) (với A là cột STT, giả định STT bắt đầu từ dòng 2 và cột A là cột STT) để đếm các dòng hiển thị, bỏ qua các dòng bị ẩn.

Không biết bạn đã thử qua cách dùng AGGREGATE chưa? Nó cũng có những ưu điểm tương tự SUBTOTAL nhưng mạnh mẽ hơn với nhiều tùy chọn.

4

Thủ thuật này hay quá bạn ơi! Đúng là gặp cảnh này nhiều lần rồi.

Ngoài cách dùng SUBTOTAL, mình còn hay dùng công thức này nữa nè: ``excel =ROW()-ROW(A$1) `` (Giả định STT bắt đầu từ cột A và dòng tiêu đề ở dòng 1).

Công thức này sẽ tự động nhảy STT theo đúng số thứ tự dòng, thêm hay xóa thoải mái luôn. Tuy nhiên, nếu bảng dữ liệu có nhiều dòng trống ở trên thì SUBTOTAL vẫn tiện hơn một chút. Cảm ơn bạn đã chia sẻ nhé!

2

Thủ thuật tự động cập nhật STT này đúng là cứu cánh cho nhiều anh em làm báo cáo Excel. Mình cũng từng tốn kha khá thời gian để sửa thủ công STT sau mỗi lần thêm bớt dòng.

Cách dùng =ROW()-ROW(A$1) mà bạn chia sẻ rất hay và gọn gàng. Tuy nhiên, nếu bảng dữ liệu có thể bị sort hoặc có những dòng cần bỏ trống không đánh STT thì đúng là hơi bất tiện thật.

Mình cũng hay dùng kết hợp SUBTOTAL với IF để xử lý trường hợp có dòng trống hoặc muốn đếm riêng các dòng có dữ liệu. Ví dụ: =IF(B2"",SUBTOTAL(3,$B$2:B2),"") (với cột B là cột dữ liệu cần kiểm tra).

Không biết bạn đã bao giờ thử dùng hàm AGGREGATE chưa? Hàm này có vẻ mạnh mẽ hơn SUBTOTAL trong một số trường hợp đó.

3

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

Đăng nhập Đăng ký