Cách Xóa Các Dòng Trống Trong Excel Một Cách Hiệu Quả Và Nhanh Chóng

Giới thiệu

Trong công việc xử lý dữ liệu, Excel luôn là công cụ không thể thiếu của nhiều người dùng, từ nhân viên văn phòng cho tới các chuyên gia phân tích dữ liệu. Một trong những vấn đề thường gặp khi làm việc với bảng tính là các dòng trống (blank rows). Những dòng trống này không chỉ làm giảm tính thẩm mỹ của file mà còn gây khó khăn trong việc lọc, sắp xếp, hoặc thực hiện các công thức tính toán. Nếu không được xử lý kịp thời, chúng có thể dẫn đến sai lệch kết quả, làm mất thời gian và công sức của người dùng.

Bài viết này sẽ cung cấp cho bạn một loạt các phương pháp xóa dòng trống trong Excel từ cơ bản đến nâng cao, bao gồm:

  1. Sử dụng tính năng Go To Special.
  2. Áp dụng bộ lọc (Filter) để lọc và xóa.
  3. Dùng công thức để đánh dấu và xóa.
  4. Sử dụng Power Query (Get & Transform).
  5. Tạo macro VBA để tự động hoá quá trình.
  6. Một số mẹo và lưu ý khi làm việc với dữ liệu lớn.

Mục tiêu của chúng tôi là giúp bạn nắm vững mọi công cụ có sẵn trong Excel, từ đó chọn được giải pháp phù hợp nhất với nhu cầu và quy mô dữ liệu của mình.

1. Xóa Dòng Trống Bằng Tính Năng Go To Special

1.1. Khi Nào Sử Dụng

  • Dữ liệu không quá lớn (dưới 10.000 dòng).
  • Các dòng trống xuất hiện ngẫu nhiên ở bất kỳ vị trí nào.
  • Muốn thực hiện thao tác nhanh, không cần viết công thức hay macro.

1.2. Các Bước Thực Hiện

BướcMô tả
B1Chọn toàn bộ vùng dữ liệu bạn muốn làm sạch (hoặc nhấn Ctrl + A để chọn toàn bộ sheet).
B2Nhấn F5 (hoặc Ctrl + G) để mở hộp thoại Go To.
B3Click vào nút Special….
B4Chọn Blanks và nhấn OK. Excel sẽ tự động chọn tất cả các ô trống trong vùng đã chọn.
B5Nhấn Ctrl + - (phím trừ) để mở hộp thoại Delete.
B6Chọn Entire row và nhấn OK.

Sau khi thực hiện các bước trên, mọi dòng có ít nhất một ô trống sẽ bị xóa hoàn toàn.

1.3. Lưu Ý Khi Dùng Go To Special

  • Chỉ chọn vùng dữ liệu: Nếu bạn chọn toàn bộ sheet và có những cột không liên quan chứa dữ liệu, các dòng trống trong các cột này cũng sẽ bị xóa, gây mất mát dữ liệu.
  • Dòng trống hoàn toàn: Nếu một dòng chỉ có một vài ô trống (không phải toàn bộ), Go To Special sẽ không chọn dòng đó; chỉ các ô trống riêng lẻ được chọn. Do đó, nếu bạn muốn xóa các dòng có bất kỳ ô trống nào, cần dùng cách khác (ví dụ: bộ lọc hoặc công thức).

2. Xóa Dòng Trống Bằng Bộ Lọc (Filter)

2.1. Khi Nào Sử Dụng

  • Dữ liệu có nhiều cột và bạn muốn xóa các dòng trống hoàn toàn (tất cả các ô trong dòng đều rỗng) hoặc có ô trống ở cột quan trọng.
  • Muốn kiểm tra lại các dòng sẽ bị xóa trước khi thực hiện.

2.2. Các Bước Thực Hiện

2.2.1. Xóa Dòng Trống Hoàn Toàn

  1. Chọn toàn bộ dữ liệu (hoặc nhấn Ctrl + A).
  2. Vào Data → Filter (hoặc nhấn Ctrl + Shift + L) để bật bộ lọc.
  3. Nhấn vào mũi tên lọc ở cột đầu tiên (hoặc bất kỳ cột nào có dữ liệu đầy đủ).
  4. Chọn Blanks để lọc ra các ô trống trong cột đó.
  5. Khi các dòng trống hiện ra, chọn toàn bộ các dòng này (bằng cách click vào số dòng ở bên trái).
  6. Nhấn Ctrl + - → Entire row → OK.
  7. Tắt bộ lọc bằng cách nhấn lại Data → Filter.

2.2.2. Xóa Dòng Có Ô Trống Ở Cột Quan Trọng

Giả sử cột A là cột chứa mã sản phẩm, và bạn muốn xóa mọi dòng mà ô A trống:

  1. Bật Filter như trên.
  2. Ở cột A, mở menu lọc và chọn Blanks.
  3. Chọn các dòng hiển thị, xóa chúng bằng Ctrl + -.
  4. Tắt Filter.

2.3. Ưu Nhược Điểm

  • Ưu điểm: Dễ dàng xem trước dữ liệu sẽ bị xóa, phù hợp với người mới.
  • Nhược điểm: Khi dữ liệu quá lớn, việc lọc và xóa thủ công có thể chậm.

3. Dùng Công Thức Đánh Dấu Dòng Trống

3.1. Khi Nào Sử Dụng

  • Khi bạn muốn giữ lại dữ liệu gốc và chỉ tạo một bản sao sạch.
  • Khi muốn xác định các dòng có bao nhiêu ô trống, hoặc có ít nhất một ô trống.

3.2. Cách Thực Hiện

Giả sử dữ liệu nằm trong A2:E1000.

3.2.1. Đánh Dấu Dòng Trống Hoàn Toàn

Trong cột F2, nhập công thức:

=IF(COUNTA(A2:E2)=0, "Blank", "Data")
  • COUNTA đếm số ô không rỗng trong dải A2:E2.
  • Nếu kết quả bằng 0 → dòng trống → ghi “Blank”.

Kéo công thức xuống tới F1000. Sau đó, lọc cột F để chỉ hiển thị “Blank”, chọn các dòng và xóa như cách lọc thông thường.

3.2.2. Đánh Dấu Dòng Có Ít Hơn N Ô Trống

Nếu muốn xóa các dòng có ít hơn 2 ô dữ liệu (tức là có ≥3 ô trống):

=IF(COUNTA(A2:E2)<3, "Remove", "Keep")

Lọc “Remove”, xóa các dòng.

3.3. Lợi Ích

  • Linh hoạt: Bạn có thể tùy chỉnh mức độ “trống” (ví dụ: ít hơn 2 ô dữ liệu).
  • An toàn: Dữ liệu gốc không bị thay đổi; chỉ tạo cột phụ trợ.

4. Sử Dụng Power Query (Get & Transform)

4.1. Khi Nào Dùng

Clear Blank Rows In Excel
Clear Blank Rows In Excel
  • Dữ liệu lớn (hàng chục hoặc hàng trăm nghìn dòng).
  • Cần tự động hoá quá trình làm sạch dữ liệu.
  • Muốn lưu trữ các bước làm sạch để tái sử dụng cho các file mới.

4.2. Các Bước Thực Hiện

  1. Chọn dữ liệu → Data → From Table/Range (hoặc Ctrl + T để tạo Table, sau đó Data → From Table/Range). Nếu dữ liệu chưa ở dạng Table, Excel sẽ hỏi để tạo.
  2. Power Query Editor mở ra.
  3. Chọn cột (hoặc toàn bộ bảng) → Home → Remove Rows → Remove Blank Rows. Power Query sẽ tự động lọc và xóa các dòng mà tất cả các cột đều trống.
  4. Nếu muốn xóa các dòng có ô trống ở cột cụ thể, chọn cột đó → Home → Remove Rows → Remove Blank Rows (chỉ áp dụng cho cột đã chọn).
  5. Khi hoàn tất, nhấn Close & Load → Dữ liệu sạch sẽ được tải lại vào một sheet mới.

4.3. Ưu Điểm

  • Tốc độ: Xử lý nhanh ngay cả với dữ liệu lớn.
  • Lập lịch: Có thể lưu lại query và áp dụng cho các file mới.
  • Không làm thay đổi dữ liệu gốc: Tạo bản sao đã được làm sạch.

4.4. Nhược Điểm

  • Cần một chút thời gian để làm quen với giao diện Power Query.
  • Nếu dữ liệu thay đổi thường xuyên, bạn phải Refresh query để cập nhật.

5. Tự Động Hóa Với Macro VBA

5.1. Khi Nào Sử Dụng

  • Bạn thường xuyên phải xóa dòng trống trong nhiều file.
  • Cần tự động hoá một quy trình phức tạp (ví dụ: xóa dòng trống, sau đó sắp xếp, tính toán, v.v.).
  • Không muốn phụ thuộc vào Power Query.

5.2. Mã VBA Cơ Bản

Sub DeleteBlankRows() Dim ws As Worksheet Dim LastRow As Long Dim i As Long Set ws = ActiveSheet ' Hoặc đặt ws = ThisWorkbook.Sheets("TênSheet") LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' Tìm dòng cuối cùng dựa trên cột A Application.ScreenUpdating = False Application.Calculation = xlCalculationManual 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.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True MsgBox "Hoàn tất! Đã xóa các dòng trống.", vbInformation
End Sub

Giải Thích Mã

  • CountA đếm số ô không rỗng trong một dòng. Nếu kết quả bằng 0 → dòng trống.
  • Vòng lặp For i = LastRow To 1 Step -1 duyệt từ dưới lên, tránh lỗi khi xóa dòng trong khi lặp.
  • Tắt ScreenUpdating và Calculation để tăng tốc độ.

5.3. Mã VBA Xóa Dòng Có Ô Trống Ở Cột Xác Định

Nếu muốn xóa các dòng mà cột B trống:

Sub DeleteRowsIfColumnBBlank() Dim ws As Worksheet Dim LastRow As Long Dim i As Long Set ws = ActiveSheet LastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row Application.ScreenUpdating = False For i = LastRow To 2 Step -1 ' Giả sử hàng 1 là tiêu đề If Trim(ws.Cells(i, "B").Value) = "" Then ws.Rows(i).Delete End If Next i Application.ScreenUpdating = True MsgBox "Hoàn thành xóa các dòng có ô trống ở cột B.", vbInformation
End Sub

5.4. Cách Thêm Macro Vào Excel

  1. Nhấn Alt + F11 để mở Visual Basic for Applications (VBA) Editor.
  2. Vào Insert → Module.
  3. Dán mã vào cửa sổ module.
  4. Đóng VBA Editor và quay lại Excel.
  5. Nhấn Alt + F8, chọn macro và Run.

5.5. Lưu Ý Khi Dùng VBA

  • Sao lưu file trước khi chạy macro, tránh mất dữ liệu.
  • Nếu workbook được bảo vệ, cần mở bảo vệ hoặc chạy macro với quyền admin.
  • Đảm bảo các cột dữ liệu không có công thức phụ thuộc vào các dòng sẽ bị xóa, nếu không sẽ gây lỗi công thức.

6. Những Mẹo Thực Tế Khi Xử Lý Dòng Trống

6.1. Kiểm Tra Dữ Liệu Trước Khi Xóa

  • Sử dụng Conditional Formatting: Đánh dấu các ô trống bằng màu sắc để dễ quan sát.
  • Tạo cột phụ trợ: Như đã nói ở phần công thức, giúp bạn lọc chính xác.

6.2. Xử Lý Khi Dòng Trống Được Tạo Bởi Công Thức

Đôi khi ô trống không phải là “empty” thực sự mà là kết quả của công thức trả về "". Để xóa các dòng này:

  • Chuyển công thức sang giá trị: Chọn vùng → Copy → Paste Special → Values.
  • Sau đó dùng bất kỳ phương pháp nào trên để xóa.

6.3. Xóa Dòng Trống Khi Dữ Liệu Được Nhập Từ Nguồn Ngoài

  • Khi import CSV hoặc dữ liệu từ web, thường xuất hiện dòng trống ở cuối file.
  • Cách nhanh nhất: Ctrl + End để di chuyển tới ô cuối cùng được Excel nhận diện, sau đó xóa các dòng thừa.

6.4. Khi Dòng Trống Chỉ Ở Một Cột

Nếu chỉ một cột có giá trị rỗng (ví dụ: cột email chưa nhập), bạn có thể:

  • Sử dụng Data Validation để ngăn nhập trống trong tương lai.
  • Sắp xếp dữ liệu theo cột đó, các dòng trống sẽ tụ lại ở đầu hoặc cuối, dễ xóa.

7. So Sánh Các Phương Pháp

Phương phápĐộ phức tạpDữ liệu lớnTự động hoáKiểm soát chi tiết
Go To SpecialThấp✅ (đến 10k)❌✅
Bộ lọc (Filter)Thấp/Trung bình✅ (đến 50k)❌✅
Công thứcTrung bình✅ (đến 20k)✅ (kết hợp với macro)✅
Power QueryTrung bình✅ (hàng trăm nghìn)✅✅
VBA MacroCao✅ (mọi kích thước)✅ (tự động)✅ (lập trình)

8. Kết luận

Việc xóa dòng trống trong Excel không chỉ giúp bảng tính gọn gàng, dễ đọc mà còn nâng cao độ chính xác của các phân tích và báo cáo. Tùy thuộc vào kích thước dữ liệu, tần suất thực hiện và mức độ tự động hoá mà bạn có thể lựa chọn một trong các phương pháp sau:

  1. Go To Special – nhanh, đơn giản cho dữ liệu nhỏ.
  2. Bộ lọc – linh hoạt, cho phép kiểm tra trước khi xóa.
  3. Công thức – thích hợp khi cần đánh dấu và quyết định dựa trên tiêu chí “trống ít hơn/ hơn”.
  4. Power Query – mạnh mẽ cho dữ liệu lớn, lưu lại các bước làm sạch.
  5. VBA Macro – tối ưu cho việc lặp lại thường xuyên và tự động hoá toàn bộ quy trình.

Hãy thử áp dụng các kỹ thuật trên trong công việc hàng ngày của bạn. Khi đã thành thạo, bạn sẽ tiết kiệm được rất nhiều thời gian và giảm thiểu lỗi phát sinh do các dòng trống không mong muố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!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận