Có thể bạn quan tâm: Kiểm Tra Định Dạng Ngày Tháng Trong Excel: Hướng Dẫn Chi Tiết, Mẹo Và Công Thức Nâng Cao
Giới thiệu
Trong công việc hàng ngày, việc quản lý dữ liệu, thống kê, lập bảng tính, báo cáo thường xuyên đòi hỏi chúng ta phải sắp xếp và đánh số các mục một cách nhanh chóng, chính xác. Nếu bạn làm việc với Excel, bạn có thể đã trải qua những tình huống “điền số thứ tự thủ công” khiến công việc chậm chạp, dễ sai sót. Đặc biệt khi bảng tính có hàng chục, hàng trăm dòng, việc nhập số thủ công sẽ tốn nhiều thời gian và không đáng tin cậy.
Đây là lúc kéo số thứ tự tự động trong Excel trở thành một công cụ vô cùng thiết thực. Từ cách khai thác công thức đơn giản như =ROW() cho tới các phương pháp nâng cao như sử dụng SEQUENCE, OFFSET, INDEX, hay thậm chí là VBA, bạn sẽ học được cách tạo ra các danh sách số thứ tự linh hoạt, tự động cập nhật ngay khi thêm hay xoá dòng.
Bài viết này sẽ trình bày chi tiết tất cả các cách, kèm ví dụ minh họa, mẹo thực tiễn và lưu ý khi áp dụng trong các tình huống thực tế. Bạn sẽ có thể áp dụng ngay để nâng cao hiệu quả làm việc với Excel mà không cần phải thụt lùi vào công thức phức tạp hay lập trình.
Có thể bạn quan tâm: Khắc Phục Lỗi Mở File Excel Rất Chậm: Hướng Dẫn Chi Tiết Cho Người Dùng
Mục lục
- Tại sao cần số thứ tự tự động?
- Cách 1: Sử dụng công thức
=ROW()– Đơn giản nhưng hiệu quả - Cách 2: Kéo số tự động bằng “Fill Handle” – Tiện lợi trong mọi trường hợp
- Cách 3: Công thức
=SEQUENCEtrong Excel 365 – Bạn chưa biết? - Cách 4: Sử dụng công thức
=OFFSET+COUNTA– Tự động từ cột đầu vào - Cách 5: Dùng
INDEXvàROW– Khi cần tùy chỉnh định dạng - Cách 6: VBA – Khi bảng quá lớn, cần tính năng nâng cao
- Cách 7: Tạo số thứ tự liên tục khi merge cell
- Cách 8: Số thứ tự theo nhóm (grouped numbering)
- Lưu ý khi làm việc với số thứ tự tự động
- Kết luận
Có thể bạn quan tâm: Không Sắp Xếp Được Thứ Tự Trong Excel
1. Tại sao cần số thứ tự tự động?
- Tiết kiệm thời gian: Đừng dành thời gian nhập nháp số thứ tự cho hàng nghìn dòng.
- Đảm bảo tính chính xác: Khi thêm hoặc xoá dòng, công thức tự động cập nhật, tránh lỗi số thứ tự lặp hoặc thiếu sót.
- Tính linh hoạt: Có thể áp dụng các tiêu chí số thứ tự khác nhau: số thứ tự liên tục, theo nhóm, bắt đầu từ số nào, chu kỳ lặp, v.v.
- Dễ bảo trì: Khi bảng tính được chia sẻ, người khác chỉ cần cập nhật dữ liệu, số thứ tự sẽ tự động phản ánh.
2. Cách 1: Sử dụng công thức =ROW() – Đơn giản nhưng hiệu quả
2.1. Công thức cơ bản
Trong ô A2 (hoặc bất kỳ ô nào đầu tiên của cột số thứ tự), bạn gõ:
=ROW() - 1
ROW()trả về số hàng hiện tại (ví dụ,ROW(A2)trả về 2).- Trừ
1để bắt đầu từ 1 thay vì 2 (nếu bạn muốn số thứ tự bắt đầu từ 1). Nếu bạn muốn bắt đầu từ 0, bỏ-1.
2.2. Kéo công thức xuống
Kéo lưới (fill handle) từ góc dưới bên phải của ô A2 xuống cho đến hết dữ liệu. Excel sẽ tự động điều chỉnh ROW() cho từng dòng.
2.3. Ví dụ thực tế
| A (Số thứ tự) | B (Tên) | C (Tuổi) |
|---|---|---|
| 1 | Nguyễn Văn A | 28 |
| 2 | Trần Thị B | 35 |
| 3 | Lê Văn C | 22 |
Khi thêm dòng mới vào giữa, công thức tự động điều chỉnh.
2.4. Lưu ý
- Nếu bạn xuất dữ liệu ra PDF hoặc In, số thứ tự sẽ luôn chính xác.
- Khi cột B có giá trị trống, công thức vẫn giữ số thứ tự; nếu muốn bỏ qua dòng trống, hãy kết hợp với
IF.
3. Cách 2: Kéo số tự động bằng “Fill Handle”
Khi bạn muốn một dãy số liên tục, bạn có thể nhập số đầu tiên và số thứ hai, sau đó kéo.
- Gõ
1vào A2. - Gõ
2vào A3. - Chọn cả hai ô (A2:A3).
- Kéo fill handle xuống.
Excel nhận dạng mẫu 1, 2 và tiếp tục 3, 4, 5…
3.1. Mẹo nâng cao
- Nếu muốn dãy số bắt đầu từ 0: gõ
0và1. - Để dãy số tăng 5: gõ
0và5, kéo xuống. - Khi muốn dãy số giảm: gõ
10và9, kéo xuống.
3.2. Khi áp dụng vào bảng lớn
- Bạn có thể kéo toàn bộ cột một lần, Excel sẽ tự động điền dãy số cho hàng trăm hoặc hàng nghìn dòng.
- Nếu muốn khởi động lại dãy số khi có nhóm mới, bạn có thể chèn dòng tiêu đề và bắt đầu dãy mới.
4. Cách 3: Công thức =SEQUENCE trong Excel 365
Excel 365 và Excel 2026 mới hơn cung cấp hàm SEQUENCE rất linh hoạt.
4.1. Cú pháp cơ bản
=SEQUENCE(rows, columns, start, step)
rows: Số hàng cần tạo.columns: Số cột cần tạo.start: Giá trị bắt đầu.step: Khoảng cách giữa các số (bộ tăng).
4.2. Ví dụ: Tạo số thứ tự từ 1 đến 100
Trong ô A2, nhập:
=SEQUENCE(100,1,1,1)
Kết quả: một cột số thứ tự từ 1 tới 100.
4.3. Tạo số thứ tự liên tục khi dữ liệu thay đổi
Giả sử bạn có dữ liệu trong cột B (B2:B100). Bạn muốn số thứ tự tự động điều chỉnh khi thêm hoặc xoá dòng.
=SEQUENCE(COUNTA(B2:B100),1,1,1)
COUNTAđếm số ô có dữ liệu trong B2:B100.SEQUENCEtạo số từ 1 tới số ô có dữ liệu.
4.4. Kết hợp với các hàm khác
Bạn có thể kết hợp SEQUENCE với FILTER để tạo số thứ tự cho dữ liệu lọc:
=SEQUENCE(COUNT(FILTER(B2:B100, B2:B100<>"")),1,1,1)
Điều này tiện khi bạn dùng FILTER để hiển thị dữ liệu theo điều kiện.
5. Cách 4: Sử dụng công thức =OFFSET + COUNTA – Tự động từ cột đầu vào

Có thể bạn quan tâm: Kiểm Định Giả Thuyết Thống Kê Trong Excel: Hướng Dẫn Chi Tiết Từng Bước
5.1. Cú pháp
=ROW(OFFSET(A$1,ROW()-ROW(A$1),0))
OFFSET(A$1,ROW()-ROW(A$1),0)trả về ô tương ứng với hàng hiện tại.ROW(...)lấy số hàng.
5.2. Ví dụ
Giả sử dữ liệu bắt đầu ở B2. Vào A2:
=ROW(OFFSET(B$1,ROW()-ROW(B$1),0))-1
Kéo xuống; khi thêm dữ liệu vào cột B, số thứ tự trong A sẽ tự động cập nhật.
5.3. Khi nào dùng OFFSET?
- Khi bạn muốn số thứ tự bắt đầu từ một ô cụ thể, không phải từ hàng 1.
- Khi dữ liệu có thể có tiêu đề hoặc phần trống ở đầu.
6. Cách 5: Dùng INDEX và ROW – Khi cần tùy chỉnh định dạng
6.1. Công thức
=INDEX($A$1:$A$100,ROW(A1))
INDEXlấy giá trị từ mảng$A$1:$A$100bằng chỉ số hàng.ROW(A1)trả về 1, khi kéo xuống sẽ trở thành 2, 3, …
6.2. Ứng dụng
Nếu bạn có bảng dữ liệu ở cột C, muốn tạo số thứ tự trong cột A nhưng bắt đầu từ 1, bạn có thể dùng:
=INDEX($C$2:$C$100,ROW(A1))
Kết quả: số thứ tự sẽ luôn khớp với dòng dữ liệu trong C.
7. Cách 6: VBA – Khi bảng quá lớn, cần tính năng nâng cao
7.1. Macro đơn giản
Sub AutoRowNum() Dim ws As Worksheet Set ws = ActiveSheet Dim lastRow As Long lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row ws.Range("A2:A" & lastRow).FormulaR1C1 = "=ROW()-1"
End Sub
- Macro này tự động điền công thức
=ROW()-1vào cột A (từ A2 tới hàng cuối cùng có dữ liệu trong cột B). - Nếu dữ liệu được cập nhật thường xuyên, bạn có thể gắn macro vào sự kiện
Worksheet_Change.
7.2. Macro tự động cập nhật khi thay đổi
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Me.Range("B:B")) Is Nothing Then Me.Range("A2:A" & Me.Cells(Me.Rows.Count, "B").End(xlUp).Row).Formula = "=ROW()-1" End If
End Sub
- Khi bạn thay đổi bất kỳ ô nào trong cột B, macro sẽ tự động điền lại số thứ tự.
8. Cách 7: Tạo số thứ tự liên tục khi merge cell
Khi bạn merge cell trong cột tiêu đề, công thức =ROW() vẫn trả về số hàng của ô merged. Tuy nhiên, khi kéo xuống, số thứ tự có thể bị lệch. Để tránh, hãy sử dụng công thức =SUBTOTAL(103,OFFSET(A$1,ROW()-ROW(A$1),0)).
8.1. Giải thích
SUBTOTAL(103,...)tính số hàng có dữ liệu (không bao gồm merge).OFFSETchỉ định vùng từ ô A1 lên tới hàng hiện tại.
9. Cách 8: Số thứ tự theo nhóm (grouped numbering)
9.1. Mục tiêu
Bạn có bảng dữ liệu phân loại theo nhóm, muốn mỗi nhóm có số thứ tự riêng, bắt đầu từ 1.
9.2. Công thức
Giả sử cột A là nhóm, cột B là dữ liệu, số thứ tự vào cột C:
=IF(A2=A1,C1+1,1)
- Nếu nhóm hiện tại giống nhóm trước, tăng số thứ tự lên 1.
- Nếu nhóm mới, bắt đầu lại từ 1.
Kéo công thức xuống cho toàn bộ bảng.
9.3. Ví dụ
| A (Nhóm) | B (Tên) | C (Số thứ tự) |
|---|---|---|
| A | X | 1 |
| A | Y | 2 |
| B | Z | 1 |
| B | W | 2 |
10. Lưu ý khi làm việc với số thứ tự tự động
| Tình huống | Lưu ý | Lời khuyên |
|---|---|---|
| Thêm/đổi tên cột | Công thức dựa trên ROW() vẫn giữ nguyên | Đặt công thức vào cột không thể bị di chuyển |
Sử dụng công thức =SEQUENCE | Đừng lặp lại dãy khi dữ liệu thay đổi | Sử dụng COUNTA hoặc FILTER để tự động điều chỉnh |
| Dùng merge cell | Số thứ tự có thể lệch | Sử dụng SUBTOTAL hoặc INDEX |
| Dùng VBA | Macro có thể bị tắt | Bảo mật macro, lưu file dưới dạng .xlsm |
| Dùng bảng có merge trong tiêu đề | ROW() trả về số hàng của ô merged | Đảm bảo không có merge trong dải tính số thứ tự |
11. Kết luận
Số thứ tự tự động trong Excel không chỉ là một công cụ tiện lợi; nó còn giúp bạn duy trì tính nhất quán, tránh sai sót và nâng cao hiệu suất làm việc. Dù bạn là người mới bắt đầu hay chuyên gia Excel, các phương pháp từ công thức đơn giản =ROW() cho tới công thức nâng cao =SEQUENCE, =OFFSET, VBA đều có thể đáp ứng nhu cầu của bạn.
Hãy thử áp dụng từng cách vào bảng tính của mình, thử nghiệm và chỉnh sửa cho phù hợp với quy trình làm việc. Khi đã làm quen, bạn sẽ thấy việc quản lý dữ liệu trở nên nhanh gọn, chính xác và ít rắc rối hơn bao giờ hết.
Chúc bạn thành công và tận hưởng những giờ làm việc hiệu quả hơn với Excel!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
