Menu

Tự động cập nhật số thứ tự khi thêm/xóa dòng trong Excel

Lăng Long Thanh 05/06/2026 04:53 153 lượt xem 3 trả lời

Chào các anh em trong diễn đàn,

Mình thường xuyên phải làm việc với các bảng dữ liệu trong Excel, và việc điền số thứ tự (STT) theo cách thủ công khá là mất thời gian, đặc biệt là khi bảng dữ liệu thay đổi (thêm hoặc xóa dòng). Đã có nhiều bài viết chia sẻ về cách tự động điền STT theo nhóm, nhưng mình muốn chia sẻ một cách đơn giản hơn để cập nhật STT tự động ngay cả khi bạn thêm hoặc xóa bất kỳ dòng nào trong bảng.

Cách này khá hữu ích cho các báo cáo hoặc danh sách cần sắp xếp thứ tự liên tục.

Cách thực hiện:

  • Giả sử dữ liệu của bạn bắt đầu từ ô A2, và bạn muốn điền STT vào cột A.
  • Tại ô A2, bạn nhập công thức: =IF(B2="", "", MAX($A$1:A1)+1)
  • Sau đó, kéo công thức này xuống cho các dòng còn lại.

Giải thích công thức:

  • IF(B2="", "", ...)`: Nếu ô B2 (hoặc một cột khác mà bạn dùng để xác định có dữ liệu hay không) trống, thì ô STT cũng trống. Điều này giúp các dòng trống không hiển thị STT.
  • MAX($A$1:A1)+1: Phần này sẽ tự động tăng số thứ tự. $A$1:A1 là một phạm vi động. Khi bạn kéo công thức xuống, phạm vi này sẽ mở rộng (ví dụ: A1:A2, A1:A3,...). Hàm MAX sẽ lấy số lớn nhất trong phạm vi đó và cộng thêm 1. Nếu ô A1 (hoặc ô phía trên ô STT đầu tiên) để trống, nó sẽ coi là 0, nên STT đầu tiên sẽ là 1.

Với công thức này, khi bạn thêm một dòng mới vào giữa bảng hoặc xóa một dòng, các số STT sẽ tự động cập nhật mà không cần phải làm lại từ đầu. Rất tiện lợi phải không?

Hy vọng mẹo nhỏ này hữu ích cho mọi người!

2

Cảm ơn bạn đã chia sẻ mẹo hay này! Mình cũng hay gặp tình huống tương tự. Đã có lần mình dùng thử hàm SUBTOTAL(103, $A$2:A2) nhưng đôi khi nó hơi phức tạp nếu bảng dữ liệu lớn và có nhiều điều chỉnh. Cách của bạn có vẻ trực quan hơn nhiều, rất tiện cho các báo cáo nhanh.

Cho mình hỏi thêm chút, nếu mình muốn STT bắt đầu từ 1 thay vì 0 (như một số trường hợp hay gặp khi dùng công thức mảng), thì mình có thể điều chỉnh công thức thế nào cho phù hợp ạ?

3

Tuyệt vời! Cách bạn chia sẻ để tự động cập nhật STT thực sự rất hữu ích. Mình cũng hay gặp cảnh phải sắp xếp lại STT khi thêm bớt dòng.

Về câu hỏi của bạn về việc bắt đầu STT từ 1, bạn có thể thử thêm +1 vào cuối công thức. Ví dụ, nếu công thức gốc của bạn là ..., thì bạn có thể thử ... + 1. Hoặc, nếu bạn đang dùng một công thức nào đó mà nó trả về 0 cho dòng đầu tiên, bạn có thể điều chỉnh điều kiện để nó trả về 1 thay vì 0.

Bạn có thể chia sẻ cụ thể công thức bạn đang dùng không? Như vậy mình sẽ dễ dàng đưa ra gợi ý chính xác hơn cho bạn.

3

Mình thấy cách tự động cập nhật STT này của bạn rất hay và thực tế. Đã từng có lần mình phải vật lộn với việc đánh số lại cả nghìn dòng chỉ vì lỡ tay xóa một dòng ở giữa.

Bạn có thể chia sẻ kỹ hơn về cách bạn xử lý trường hợp bảng dữ liệu có các dòng trống xen kẽ không? Liệu công thức của bạn có bỏ qua các dòng trống đó và tiếp tục đánh số STT không, hay có cần điều chỉnh gì thêm?

5

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

Đăng nhập Đăng ký