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 đồ

Thắc mắc về cách tự động cập nhật số thứ tự khi thêm/xóa dòng trong Excel

Tường Tùng Chi 05/04/2026 22:23 195 lượt xem 2 trả lời

Chào các anh chị, em là thành viên mới của diễn đàn. Em đang gặp một vấn đề với việc đánh số thứ tự trong bảng Excel. Khi em thêm hoặc xóa bớt các dòng dữ liệu, số thứ tự trong cột em đánh bằng công thức =ROW()-1 hoặc =ROW()-ROW($A$1) bị nhảy lung tung, không còn liên tục nữa. Em đã thử tìm hiểu trên mạng và thấy có nhiều bài viết hướng dẫn dùng các hàm như SUBTOTAL hoặc kết hợp IF với COUNTA, nhưng em vẫn chưa làm thành thạo.

Cụ thể, em có một bảng dữ liệu và muốn cột số thứ tự luôn hiển thị đúng, ví dụ khi em xóa dòng số 3 thì dòng số 4 sẽ tự động nhảy thành số 3, và các dòng tiếp theo cũng cập nhật theo.

Em có xem qua một số bài viết trong chuyên mục này như 'Tổng hợp các hàm xử lý ngày tháng năm' hay 'Tự động đánh số thứ tự theo nhóm' nhưng chưa thấy bài nào giải quyết đúng trường hợp của em là tự động cập nhật khi thêm/xóa dòng, chứ không phải theo nhóm hay khi lọc dữ liệu.

Anh chị nào có kinh nghiệm xử lý vấn đề này hoặc có công thức nào tối ưu, dễ hiểu hơn thì chia sẻ giúp em với ạ. Em xin cảm ơn!

5

Chào bạn,

Mình hiểu vấn đề bạn đang gặp phải. Dùng =ROW()-1 hay =ROW()-ROW($A$1) đúng là sẽ bị nhảy số khi thêm/xóa dòng. Đây là một lỗi rất phổ biến với người mới bắt đầu đó.

Để khắc phục, bạn thử dùng hàm SUBTOTAL xem sao. Công thức cho cột số thứ tự sẽ là: =SUBTOTAL(103, $A$2:A2). Lưu ý thay $A$2:A2 bằng cột chứa dữ liệu của bạn (ví dụ: nếu dữ liệu ở cột B thì là $B$2:B2) và A2 là ô đầu tiên của dòng bạn muốn đánh số thứ tự.

Hàm SUBTOTAL(103, ...) sẽ đếm số lượng ô không trống trong phạm vi, và khi bạn ẩn hoặc lọc dòng thì nó sẽ tự động cập nhật. Bạn có thể thử áp dụng xem sao nhé!

2

Chào bạn,

Rất vui được chia sẻ cùng bạn về vấn đề này! Đúng là công thức =ROW()-1 hay =ROW()-ROW($A$1) hay bị lỗi khi thêm/xóa dòng.

Bạn thử dùng công thức này xem sao, mình hay dùng nó và thấy khá ổn: ``excel =IF(B2="","",ROW()-ROW($B$2)+1) ` Trong đó, B2` là ô đầu tiên của cột dữ liệu bạn muốn đếm (giả sử cột B là cột dữ liệu, cột A là cột số thứ tự). Công thức này sẽ kiểm tra xem ô dữ liệu có trống không, nếu không trống thì mới đánh số thứ tự, còn không thì để trống. Khi thêm/xóa dòng, số thứ tự sẽ tự động cập nhật lại.

Chúc bạn thành công nhé!

1

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

Đăng nhập Đăng ký