Có thể bạn quan tâm: Cách Tạo Check Box Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
Mở Đầu
Excel là công cụ mạnh mẽ giúp chúng ta xử lý, phân tích và trình bày dữ liệu một cách hiệu quả. Tuy nhiên, trong quá trình nhập liệu hoặc nhập dữ liệu từ các nguồn khác nhau, chúng ta thường gặp phải vấn đề các dòng trống xuất hiện trong bảng tính. Những dòng trống này không chỉ làm mất thẩm mỹ mà còn gây khó khăn khi thực hiện các thao tác như lọc, sắp xếp, tính toán hay tạo báo cáo. Vì vậy, việc xóa các dòng trống một cách nhanh chóng và chính xác là một kỹ năng thiết yếu đối với mọi người dùng Excel.
Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, đầy đủ và thực tế về cách xóa các dòng trống trong Excel. Chúng tôi sẽ trình bày từ các phương pháp cơ bản (sử dụng tính năng lọc và “Go To Special”) cho tới các công cụ nâng cao (sử dụng VBA, Power Query và các công thức mảng). Ngoài ra, chúng tôi cũng sẽ giải thích lý do tại sao một số phương pháp có thể không hoạt động trong một số trường hợp, và cách khắc phục chúng. Hãy cùng khám phá nhé!
Có thể bạn quan tâm: Tính Xếp Loại Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
1. Hiểu Rõ Vấn Đề: Dòng Trống Là Gì?
Trước khi bắt tay vào xóa, chúng ta cần hiểu đúng những gì được gọi là “dòng trống”. Trong Excel, một dòng có thể được coi là trống nếu:
- Không có dữ liệu ở bất kỳ ô nào trong dòng đó (ô hoàn toàn rỗng).
- Có công thức trả về chuỗi rỗng (
"") – về mặt hiển thị, ô trông như trống nhưng thực tế vẫn chứa công thức. - Có ký tự không hiển thị (khoảng trắng, tab, ký tự đặc biệt) – khi nhìn vào, ô có vẻ trống nhưng thực tế không phải.
- Có định dạng (format) hoặc comment – dù không có giá trị, nhưng ô vẫn có thông tin phụ.
Việc xác định đúng loại “dòng trống” sẽ giúp chúng ta chọn được phương pháp xóa phù hợp và tránh việc vô tình xóa các dòng có dữ liệu quan trọng.
Có thể bạn quan tâm: Ghép Cột Họ Và Tên Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Phương Pháp Cơ Bản – Sử Dụng Tính Năng Lọc (Filter)
2.1. Bước 1: Chọn Vùng Dữ Liệu
- Đặt con trỏ vào bất kỳ ô nào trong bảng dữ liệu.
- Nhấn
Ctrl + Ađể chọn toàn bộ vùng dữ liệu (hoặc kéo chọn thủ công nếu bạn chỉ muốn xóa một phần).
2.2. Bước 2: Mở Bộ Lọc
- Vào Data (Dữ liệu) → Filter (Lọc) hoặc nhấn
Ctrl + Shift + L.
2.3. Bước 3: Lọc Các Dòng Trống
- Nhấp vào mũi tên lọc ở cột đầu tiên (hoặc bất kỳ cột nào mà bạn chắc chắn không có giá trị quan trọng).
- Chọn Blanks (Trống). Excel sẽ hiển thị chỉ các dòng mà ô trong cột này trống.
Lưu ý: Nếu dòng trống có công thức trả về
"", chúng sẽ không được lọc là “Blank”. Đối với trường hợp này, bạn cần chuyển công thức sang giá trị tĩnh (copy → paste special → Values) hoặc sử dụng công cụ “Go To Special” (phần tiếp theo).
2.4. Bước 4: Xóa Các Dòng Được Lọc
- Chọn toàn bộ các hàng đã lọc (bấm vào số hàng ở bên trái, kéo để chọn nhiều hàng).
- Nhấn
Ctrl + -(dấu trừ) → Chọn Entire row (Toàn bộ hàng) → OK.
2.5. Bước 5: Tắt Bộ Lọc
- Quay lại Data → Filter để tắt bộ lọc. Các dòng trống đã bị xóa hoàn toàn.
2.6. Ưu và Nhược Điểm
| Ưu điểm | Nhược điểm |
|---|---|
| Đơn giản, không cần kiến thức công thức | Chỉ xóa được dòng trống dựa trên cột đã chọn |
| Nhanh cho dữ liệu nhỏ‑trung bình | Không hoạt động với công thức trả về "" |
3. Phương Pháp “Go To Special” – Xóa Dòng Trống Toàn Bộ
3.1. Khi Nào Dùng?
Khi bạn muốn xóa mọi dòng không có giá trị ở bất kỳ ô nào (bao gồm cả công thức trả về rỗng). Đây là cách nhanh nhất cho bảng dữ liệu sạch.
3.2. Các Bước Thực Hiện
- Chọn toàn bộ vùng dữ liệu (
Ctrl + A). - Nhấn
F5(hoặcCtrl + G) → Chọn Special… → Chọn Blanks → OK. Excel sẽ đánh dấu (chọn) tất cả các ô trống. - Với các ô trống vẫn được chọn, nhấn
Ctrl + -→ Delete → Chọn Entire row → OK.
Lưu ý quan trọng: Khi bạn chỉ chọn các ô trống và xóa toàn bộ hàng, mọi hàng chứa ít nhất một ô trống sẽ bị xóa. Nếu bạn muốn xóa chỉ những hàng hoàn toàn trống, hãy thực hiện các bước sau:
Xóa Chỉ Những Hàng Hoàn Toàn Trống
- Thêm một cột trợ giúp (ví dụ cột Z) bên cạnh dữ liệu.
- Ở ô Z2 (giả sử dữ liệu bắt đầu từ hàng 2) nhập công thức:
excel =COUNTA(A2:Y2)
(Thay A2:Y2 bằng phạm vi thực tế của bạn). Công thức này đếm số ô có dữ liệu trong mỗi hàng.
3. Kéo công thức xuống hết các hàng.
4. Lọc cột Z, chọn 0 (nghĩa là không có ô nào có dữ liệu) → Xóa các hàng được lọc → Xóa cột Z.
3.3. Khi Nào Không Nên Dùng?
- Khi dữ liệu có công thức trả về chuỗi rỗng (
"") – các ô này không được xem là “Blank” trong “Go To Special”. - Khi bạn cần giữ lại các hàng có ít nhất một giá trị dù có vài ô trống.
4. Sử Dụng Công Thức Mảng Để Đánh Dấu Dòng Trống
4.1. Ý Tưởng Cơ Bản
Chúng ta sẽ tạo một cột phụ (helper column) để đánh dấu 1 nếu hàng đó không trống, 0 nếu hoàn toàn trống, sau đó lọc hoặc sắp xếp dựa trên cột này.

Có thể bạn quan tâm: Cách Tắt “enable Editing” Trong Excel: Hướng Dẫn Chi Tiết, Nguyên Nhân Và Giải Pháp Thực Tiễn
4.2. Công Thức Đánh Dấu
Giả sử dữ liệu của bạn nằm trong A1:D1000. Ở cột E (hoặc bất kỳ cột trống nào), nhập công thức sau ở ô E1:
=IF(COUNTA(A1:D1)=0,0,1)
COUNTAđếm số ô không trống (bao gồm cả công thức trả về""? Không,""được tính là trống). Nếu kết quả bằng 0 → hàng trống → trả về 0.
Kéo công thức xuống tới E1000.
4.3. Lọc và Xóa
- Lọc cột E, chọn 0 → Xóa các hàng đã lọc → Xóa cột E.
4.4. Ưu Điểm
- Hoạt động tốt ngay cả khi có công thức trả về
"". - Dễ hiểu, không cần VBA.
4.5. Nhược Điểm
- Cần thêm một cột phụ (có thể gây lộn xộn nếu không xóa sau khi hoàn thành).
5. Xóa Dòng Trống Bằng VBA (Macro)
5.1. Khi Nào Dùng VBA?
- Khi bạn phải xử lý nhiều tệp hoặc định kỳ thực hiện cùng một công việc.
- Khi dữ liệu quá lớn (hàng > 100,000) và các phương pháp thủ công chậm.
5.2. Mã VBA Cơ Bản
Mở Visual Basic for Applications (Alt + F11), chèn Module mới và dán đoạn mã sau:
Sub DeleteBlankRows() Dim ws As Worksheet Dim LastRow As Long Dim i As Long Set ws = ActiveSheet Application.ScreenUpdating = False LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row For i = LastRow To 1 Step -1 If Application.WorksheetFunction.CountA(ws.Rows(i)) = 0 Then ws.Rows(i).Delete End If Next i Application.ScreenUpdating = True
End Sub
Giải Thích Mã
CountAđếm số ô không trống trong mỗi hàng. Nếu bằng 0 → hàng trống → xóa.- Vòng lặp từ cuối lên đầu để tránh lỗi khi xóa hàng (nếu lặp từ đầu xuống, chỉ số hàng sẽ thay đổi sau khi xóa).
5.3. Mã VBA Xử Lý Công Thức ""
Nếu có công thức trả về "" và muốn coi chúng là trống, thay CountA bằng CountBlank kết hợp:
If Application.WorksheetFunction.CountA(ws.Rows(i)) = 0 _ Or Application.WorksheetFunction.CountBlank(ws.Rows(i)) = ws.Columns.Count Then ws.Rows(i).Delete
End If
5.4. Tự Động Áp Dụng Cho Nhiều Sheet
Sub DeleteBlankRowsAllSheets() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets Call DeleteBlankRowsInSheet(ws) Next ws
End Sub Sub DeleteBlankRowsInSheet(ws As Worksheet) Dim LastRow As Long, i As Long LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row For i = LastRow To 1 Step -1 If Application.WorksheetFunction.CountA(ws.Rows(i)) = 0 Then ws.Rows(i).Delete End If Next i
End Sub
5.5. Lưu Ý Khi Dùng VBA
- Sao lưu dữ liệu trước khi chạy macro.
- Đảm bảo đóng tính năng bảo mật macro (File → Options → Trust Center → Trust Center Settings → Macro Settings).
- Nếu bảng có bảo vệ (protected), cần bỏ bảo vệ trước hoặc sử dụng
ws.Unprotect.
6. Xóa Dòng Trống Bằng Power Query (Get & Transform)
Power Query là công cụ mạnh mẽ để làm sạch dữ liệu trước khi tải vào Excel. Đối với các bảng dữ liệu lớn hoặc cần tái sử dụng quy trình, Power Query là lựa chọn tối ưu.
6.1. Các Bước Thực Hiện
- Chọn bảng dữ liệu → Data → From Table/Range (hoặc
Ctrl + Tđể tạo Table, sau đó From Table/Range). - Power Query Editor mở lên. Ở Home → Reduce Rows → Remove Rows → Remove Blank Rows.
- Nếu muốn xóa các hàng có ít nhất một ô trống, chọn Home → Reduce Rows → Remove Rows → Remove Blank Rows sẽ không hoạt động. Thay vào đó:
- Chọn Transform → Any Column → Fill → Down/Up (nếu cần) hoặc
Add Column → Custom Column với công thức:
powerquery = if List.NonNullCount(Record.FieldValues(_)) = Table.ColumnCount(Source) then null else "Delete"Lọc cột mới, giữ các giá trị
null(các hàng đầy đủ) → Xóa cột phụ → Close & Load.
6.2. Ưu Điểm
- Tự động: Khi dữ liệu nguồn thay đổi, chỉ cần refresh.
- Không thay đổi dữ liệu gốc: Tạo một bảng mới đã được làm sạch.
- Xử lý dữ liệu lớn nhanh hơn so với VBA trong một số trường hợp.
6.3. Nhược Điểm
- Yêu cầu Excel 2026 trở lên (hoặc Office 365).
- Cần một chút thời gian để làm quen với giao diện Power Query.
7. So Sánh Các Phương Pháp
| Phương pháp | Độ phức tạp | Thời gian (đối với 10,000 hàng) | Xử lý công thức "" | Tự động hoá | Ghi chú |
|---|---|---|---|---|---|
| Lọc (Filter) | Thấp | Nhanh (giây) | Không | Không | Thích hợp cho dữ liệu nhỏ‑trung bình |
| Go To Special | Thấp | Nhanh | Không | Không | Xóa toàn bộ hàng chứa ô trống |
| Helper Column (COUNTA) | Trung bình | Nhanh | Có | Không | Dễ sửa đổi, nhưng cần cột phụ |
| VBA | Trung bình‑Cao | Rất nhanh (ms‑s) | Có (với tùy chỉnh) | Có | Phù hợp cho xử lý định kỳ, nhiều file |
| Power Query | Cao | Nhanh (tùy dữ liệu) | Có | Có | Lý tưởng cho quy trình ETL và dữ liệu lớn |
8. Những Lỗi Thường Gặp Và Cách Khắc Phục
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
| Không xóa được dòng trống | Dòng chứa công thức trả về "" hoặc ký tự khoảng trắng. | Chuyển công thức sang giá trị (Copy → Paste Special → Values) hoặc sử dụng TRIM/CLEAN để loại bỏ ký tự ẩn. |
| Xóa quá nhiều dòng | Sử dụng “Go To Special → Blanks” rồi xóa toàn bộ hàng. | Đảm bảo chỉ chọn các hàng hoàn toàn trống, hoặc dùng cột trợ giúp để kiểm tra. |
| Macro không chạy | Bảo mật macro bị chặn hoặc không có quyền viết. | Vào File → Options → Trust Center → Trust Center Settings → Macro Settings và cho phép macro. |
| Power Query không nhận dạng “blank rows” | Dòng trống có một số ô chứa công thức hoặc giá trị rỗng. | Thêm bước Transform → Replace Values để thay null bằng rỗng, hoặc dùng Custom Column để xác định hàng trống. |
| Sau khi xóa, công thức bị lỗi | Công thức tham chiếu đến các ô đã bị xóa. | Sử dụng Absolute References ($A$1) hoặc Table Structured References để công thức tự điều chỉnh. |
9. Các Mẹo Nhanh Khi Làm Việc Với Dòng Trống
- Sử dụng phím tắt:
Ctrl + Shift + Lđể bật/tắt bộ lọc;Ctrl + -để xóa nhanh. - Tạo Table (
Ctrl + T) – Khi dữ liệu được định dạng dưới dạng Table, Excel tự động bỏ qua các dòng trống khi áp dụng công thức và lọc. - Sử dụng
Ctrl + Endđể kiểm tra vị trí cuối cùng dữ liệu thực tế; nếu con trỏ nhảy tới dòng rất cao, có thể có các dòng “ẩn” (có công thức hoặc định dạng) cần xóa. - Sử dụng
Ctrl + G → Special → Objectsđể chọn và xóa các đối tượng (hình ảnh, textbox) có thể gây ra “dòng trống” khi in. - Kiểm tra định dạng: Đôi khi các ô trống vẫn có màu nền hoặc border, gây cảm giác có dữ liệu. Xóa định dạng bằng
Home → Clear → Clear Formats.
10. Kết Luận
Việc xóa các dòng trống trong Excel không chỉ giúp bảng tính gọn gàng, dễ đọc mà còn tăng hiệu suất khi thực hiện các thao tác tính toán, lọc và tạo báo cáo. Từ các phương pháp cơ bản như lọc và “Go To Special” cho tới các giải pháp nâng cao như VBA, Power Query và công thức mảng, mỗi cách đều có ưu nhược điểm riêng và phù hợp với các tình huống khác nhau.
- Nếu bạn chỉ cần xóa nhanh vài dòng trong một bảng nhỏ, hãy dùng Filter hoặc Go To Special.
- Khi dữ liệu có công thức trả về rỗng hoặc bạn muốn giữ lại các hàng có ít nhất một giá trị, hãy dùng cột trợ giúp (COUNTA) hoặc Power Query.
- Đối với tự động hoá, xử lý hàng loạt file hoặc dữ liệu lớn, VBA và Power Query là lựa chọn mạnh mẽ nhất.
Hy vọng qua bài viết này, bạn đã nắm vững các kỹ thuật xóa dòng trống và có thể áp dụng linh hoạt trong công việc hàng ngày. Hãy thử nghiệm từng phương pháp, chọn ra cách phù hợp nhất với môi trường và dữ liệu của bạn. Chúc bạn làm việc hiệu quả và luôn có những bảng tính sạch sẽ, chuyên nghiệp!

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ẻ.
