Menu

Mẹo nhỏ: Tự động định dạng số thứ tự tăng dần khi thêm dữ liệu mới trong Excel

Vương Nhung Thanh 11/06/2026 11:12 270 lượt xem 2 trả lời

Chào các bạn trong chuyên mục Excel & Giáo Dục!

Mình hay làm việc với danh sách học sinh, lớp học, và việc phải nhập số thứ tự thủ công rồi lại phải chỉnh sửa khi thêm bớt dữ liệu rất mất thời gian. Hôm nay, mình chia sẻ một mẹo nhỏ giúp tự động hóa việc này mà không cần dùng đến VBA phức tạp.

Vấn đề: Khi bạn thêm một dòng dữ liệu mới vào giữa hoặc cuối danh sách đã có số thứ tự, bạn sẽ phải nhập lại hoặc kéo công thức số thứ tự, rất bất tiện.

Giải pháp: Sử dụng kết hợp hàm ROW()COUNTA().

Giả sử danh sách của bạn bắt đầu từ ô A2 (ô A1 là tiêu đề). Bạn có thể nhập công thức sau vào ô A2 và kéo xuống:

=IF(COUNTA(B2:B1000)=0,"",ROW()-1)

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

  • COUNTA(B2:B1000): Đếm số lượng ô không trống trong cột B (giả sử cột B là cột chứa tên học sinh hoặc thông tin chính của dòng). Bạn có thể thay B2:B1000 bằng phạm vi phù hợp với dữ liệu của bạn.
  • IF(..., "", ROW()-1): Nếu cột B không có dữ liệu (COUNTA trả về 0), thì ô số thứ tự sẽ trống. Ngược lại, nó sẽ hiển thị số thứ tự bằng cách lấy số thứ tự của dòng hiện tại (ROW()) trừ đi 1 (vì mình muốn bắt đầu từ 1, mà dòng A2 là dòng thứ 2).

Với công thức này, khi bạn thêm dữ liệu vào cột B, số thứ tự ở cột A sẽ tự động cập nhật. Nếu bạn xóa dữ liệu ở cột B, số thứ tự tương ứng cũng sẽ biến mất.

Cách này rất hữu ích khi bạn cần tạo các danh sách động như danh sách lớp, danh sách điểm danh, danh sách bài tập...

Chúc các bạn áp dụng thành công!

0

Hay quá bạn ơi! Mình cũng hay gặp tình huống tương tự khi làm danh sách điểm thi. Thay vì phải ngồi kéo lại số thứ tự, dùng công thức này đúng là tiết kiệm được khối thời gian.

Tiện thể cho mình hỏi, nếu mình muốn định dạng số thứ tự này có thêm phần chữ cái phía trước (ví dụ: STT001, STT002...) thì có làm được bằng công thức không, hay phải dùng VBA ạ?

4

Công thức kết hợp ROW()COUNTA() đúng là một mẹo hay để tự động đánh số thứ tự, mình cũng hay áp dụng khi làm danh sách lớp học. Rất hữu ích cho việc quản lý dữ liệu gọn gàng mà không cần can thiệp VBA.

Về câu hỏi của bạn @[Tên người dùng đã reply trước], hoàn toàn có thể làm được bạn nhé! Bạn chỉ cần thêm một bước định dạng nữa thôi. Thay vì công thức chỉ trả về số, bạn có thể dùng hàm TEXT() để thêm phần chữ cái phía trước và định dạng số theo ý muốn. Ví dụ, nếu bạn muốn định dạng "STT001", công thức sẽ trông như thế này: ="STT"&TEXT(ROW(A1),"000") (giả định số thứ tự bắt đầu từ ô A1). Công thức này sẽ tự động tạo ra các chuỗi như STT001, STT002,... rất tiện lợi.

Chúc bạn áp dụng thành công!

Cảm ơn bạn đã chia sẻ mẹo hay này! Mình đang làm báo cáo thống kê cho các hoạt động ngoại khóa của trường, việc thêm bớt dữ liệu thường xuyên làm mình đau đầu với việc cập nhật lại số thứ tự.

Mình đã thử áp dụng công thức =ROW()-ROW(Bảng_dữ_liệu[#Headers]) (theo tên bảng của mình) và thấy hoạt động rất tốt. Tuy nhiên, mình có một thắc mắc nhỏ: nếu mình muốn bỏ qua một vài dòng trống trong danh sách mà vẫn giữ nguyên số thứ tự liên tục thì công thức này có xử lý được không, hay mình cần một giải pháp khác phức tạp hơn?

4

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

Đăng nhập Đăng ký