Cách Xóa Khoảng Trống Thừa Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

Mục lục bài viết

Lời mở đầu

Trong công việc văn phòng, việc xử lý dữ liệu trong Excel là một phần không thể thiếu. Tuy nhiên, một trong những vấn đề phổ biến nhất mà người dùng gặp phải là khoảng trống (space) thừa trong các ô dữ liệu. Những khoảng trống này có thể xuất hiện ở đầu, cuối, hoặc giữa các từ, gây ra lỗi khi thực hiện các phép tính, lọc dữ liệu, hoặc khi so sánh chuỗi. Nếu không được xử lý đúng cách, chúng sẽ làm giảm hiệu suất làm việc và gây nhầm lẫn trong báo cáo.

Bài viết này sẽ cung cấp cho bạn hướng dẫn chi tiết, đầy đủ và thực tiễn về cách xóa khoảng trống thừa trong Excel, từ các phương pháp đơn giản sử dụng chức năng tích hợp sẵn cho tới các kỹ thuật nâng cao với công thức, Power Query và VBA. Bạn sẽ học được:

  • Cách sử dụng TRIM (HOẶC LÀ LỌC) để loại bỏ khoảng trống đầu và cuối.
  • Cách dùng SUBSTITUTE để xóa hoặc thay thế các khoảng trống giữa các từ.
  • Cách áp dụng POWER QUERY để làm sạch dữ liệu hàng loạt.
  • Viết macro VBA tự động xử lý toàn bộ bảng tính.
  • Các mẹo nhanh (shortcut) và lưu ý khi làm việc với dữ liệu chứa khoảng trống.

Hãy cùng khám phá từng bước chi tiết dưới đây để trở thành “bậc thầy” trong việc làm sạch dữ liệu Excel nhé!

1. Hiểu rõ vấn đề: Khoảng trống thừa xuất hiện ở đâu?

Trước khi đưa ra giải pháp, chúng ta cần nắm rõ các loại khoảng trống mà người dùng thường gặp:

Loại khoảng trốngMô tảVí dụHậu quả khi không xử lý
Khoảng trống đầu (leading spaces)Các ký tự space nằm ở đầu chuỗi" Hà Nội"Khi so sánh " Hà Nội" với "Hà Nội" sẽ trả về FALSE.
Khoảng trống cuối (trailing spaces)Các ký tự space nằm ở cuối chuỗi"Hà Nội "Khi dùng hàm VLOOKUP hoặc MATCH sẽ không tìm thấy giá trị.
Khoảng trống dư thừa giữa các từNhiều space liên tiếp giữa các từ"Hà Nội"Khi tính độ dài chuỗi hoặc xuất dữ liệu, gây sai lệch.
Khoảng trống không phải ký tự space (non‑breaking space, tab, newline)Các ký tự đặc biệt như CHAR(160), CHAR(9), CHAR(10)"Hà Nội" (non‑breaking space)Không được nhận diện bởi hàm TRIM thông thường.
Khoảng trống ẩn trong công thứcKhi copy‑paste dữ liệu từ web, có thể mang theo ký tự không hiển thị"Hà Nội" (có ký tự Unicode 0x00A0)Khi dùng LEN sẽ trả về giá trị không mong muốn.

Lưu ý: Khi làm việc với dữ liệu nhập từ các nguồn khác nhau (web, PDF, hệ thống ERP…), khả năng xuất hiện các ký tự đặc biệt rất cao. Vì vậy, việc xác định loại khoảng trống là bước đầu tiên quan trọng.

2. Phương pháp nhanh: Sử dụng hàm TRIM (HOẶC LÀ LỌC)

2.1. Hàm TRIM chuẩn (Excel bản tiếng Anh)

Cú pháp: =TRIM(text)

  • Chức năng: Loại bỏ mọi khoảng trống ở đầu và cuối chuỗi, đồng thời thay thế các khoảng trống liền nhau ở giữa bằng một khoảng trống duy nhất.
  • Giới hạn: Không loại bỏ ký tự CHAR(160) (non‑breaking space) và các ký tự tab (CHAR(9)) hay newline (CHAR(10)).

Ví dụ thực tế:

A (Dữ liệu gốc)Công thứcKết quả
" Hà Nội "=TRIM(A2)"Hà Nội"
"Hà Nội" (có CHAR(160))=TRIM(A3)"Hà Nội" (không thay đổi)

2.2. Hàm CLEAN + TRIM (xử lý ký tự ẩn)

Nếu dữ liệu chứa các ký tự không hiển thị (carriage return, line feed, tab), bạn có thể kết hợp CLEAN và TRIM:

=TRIM(CLEAN(A2))
  • CLEAN: Loại bỏ các ký tự không in được (ASCII từ 0 đến 31).
  • TRIM: Sau khi các ký tự ẩn đã bị loại bỏ, TRIM sẽ xử lý khoảng trống còn lại.

2.3. Xử lý CHAR(160) (non‑breaking space)

Đây là loại khoảng trống phổ biến khi copy dữ liệu từ web. Để loại bỏ, bạn có thể dùng SUBSTITUTE:

=TRIM(SUBSTITUTE(A2, CHAR(160), ""))
  • Giải thích: SUBSTITUTE thay thế CHAR(160) bằng chuỗi rỗng, sau đó TRIM xóa các khoảng trống còn lại.

2.4. Áp dụng hàm TRIM cho toàn bộ cột

  1. Thêm cột phụ: Giả sử dữ liệu nằm ở cột A, chèn cột B bên cạnh.
  2. Nhập công thức =TRIM(CLEAN(SUBSTITUTE(A2, CHAR(160), ""))) vào B2.
  3. Kéo công thức xuống cho toàn bộ dữ liệu.
  4. Sao chép giá trị của cột B (Copy → Paste Special → Values) và dán lại lên cột A (hoặc xóa cột A cũ).

2.5. Shortcut nhanh: Ctrl + H (Find & Replace)

Nếu chỉ có một số ô cần xóa khoảng trống cuối hoặc đầu, bạn có thể:

  • Xóa khoảng trống đầu:
  • Mở Find & Replace (Ctrl + H).
  • Trong “Find what” nhập một dấu cách, sau đó bấm vào “Options” → “Match entire cell contents” để chỉ tìm ô bắt đầu bằng dấu cách.
  • Để trống “Replace with” và nhấn “Replace All”.

  • Xóa khoảng trống cuối:

  • Tương tự, nhưng trong “Find what” nhập (dấu cách ở cuối) và “Replace with” nhập (dấu hoa thị không cần thiết, chỉ để Excel nhận diện).

Lưu ý: Phương pháp này không an toàn cho dữ liệu lớn, vì nó có thể xóa nhầm các khoảng trống hợp lệ. Hãy luôn sao lưu dữ liệu trước khi thực hiện.

3. Xóa khoảng trống dư thừa giữa các từ bằng công thức

Khi cần loại bỏ toàn bộ khoảng trống (kể cả giữa các từ) hoặc giảm số lượng khoảng trống giữa các từ, chúng ta sẽ dùng hàm SUBSTITUTE kết hợp với TRIM.

3.1. Loại bỏ tất cả khoảng trống

=SUBSTITUTE(A2, " ", "")
  • Kết quả: "HàNội" (không có khoảng trống nào).
  • Lưu ý: Nếu dữ liệu có ký tự CHAR(160), hãy thay thế bằng SUBSTITUTE(A2, CHAR(160), "") trước.

3.2. Giảm khoảng trống giữa các từ xuống còn một

Nếu muốn giữ một khoảng trống duy nhất giữa các từ (trong trường hợp có nhiều space liền nhau), công thức sau là lựa chọn tốt:

=TRIM(SUBSTITUTE(A2, " ", " "))
  • Cách hoạt động: SUBSTITUTE thay thế hai dấu cách liên tiếp bằng một dấu cách, lặp lại cho tới khi không còn cặp nào. TRIM cuối cùng sẽ xóa khoảng trống đầu/cuối nếu còn.

Lưu ý: Đối với dữ liệu có nhiều hơn 2 dấu cách liên tiếp, bạn có thể lặp lại công thức hoặc dùng hàm lặp REPLACE trong VBA (sẽ được đề cập trong phần VBA).

3.3. Công thức tổng hợp (xử lý đa dạng)

Đây là một công thức “đa năng” có thể xử lý:

  • Khoảng trống đầu/cuối
  • Khoảng trống dư thừa giữa các từ
  • CHAR(160) (non‑breaking space)
  • Các ký tự ẩn (tab, newline)
=TRIM(CLEAN(SUBSTITUTE(SUBSTITUTE(A2, CHAR(160), " "), CHAR(9), " ")))

Giải thích:

  1. SUBSTITUTE(A2, CHAR(160), " ") → thay CHAR(160) bằng space thông thường.
  2. SUBSTITUTE(..., CHAR(9), " ") → thay tab (CHAR(9)) bằng space.
  3. CLEAN → loại bỏ các ký tự không in được.
  4. TRIM → xóa khoảng trống đầu/cuối, giảm các khoảng trống liền nhau thành một.

4. Xử lý hàng loạt bằng Power Query (Get & Transform Data)

Power Query là công cụ mạnh mẽ tích hợp trong Excel (từ phiên bản 2026 trở lên) cho phép làm sạch dữ liệu mà không cần viết công thức phức tạp. Dưới đây là quy trình chi tiết:

4.1. Nhập dữ liệu vào Power Query

  1. Chọn bảng dữ liệu → Data → From Table/Range.
  2. Nếu dữ liệu chưa ở dạng bảng, Excel sẽ tự động tạo bảng (bạn có thể xác nhận phạm vi).

4.2. Sử dụng chức năng “Trim” và “Clean”

Trong Power Query Editor:

  1. Chọn cột cần làm sạch (hoặc Ctrl + Click để chọn nhiều cột).
  2. Nhấp chuột phải → Transform → Trim (loại bỏ khoảng trống đầu/cuối).
  3. Nhấp chuột phải → Transform → Clean (loại bỏ ký tự không hiển thị).

4.3. Thay thế ký tự CHAR(160)

How To Delete Extra Space In Excel
How To Delete Extra Space In Excel
  1. Với cột đã chọn, vào Home → Replace Values.
  2. Trong “Value To Find” nhập Alt+0160 (đây là cách nhập CHAR(160) trong Power Query) hoặc dán ký tự không‑breaking space trực tiếp.
  3. “Replace With” để trống hoặc nhập một space thông thường.

4.4. Giảm khoảng trống giữa các từ

Power Query không có hàm TRIM nội bộ cho giữa các từ, nhưng bạn có thể:

  1. Add Column → Custom Column và nhập công thức M:
= Text.Trim(Text.Replace(Text.Replace(ColumnName, " ", " "), Char.FromNumber(160), " "))
  • Text.Replace(ColumnName, " ", " ") sẽ thay thế hai space bằng một.
  • Bạn có thể lặp lại hàm Text.Replace nếu cần giảm nhiều hơn hai space.

4.5. Áp dụng và tải dữ liệu trở lại Excel

Sau khi hoàn tất, nhấn Close & Load → dữ liệu sẽ được tải vào một sheet mới hoặc vào cùng sheet dưới dạng Table. Bạn có thể gộp lại (append) hoặc gán lại cho bảng gốc.

Ưu điểm của Power Query:

  • Không phá vỡ cấu trúc bảng gốc.
  • Lưu lịch sử các bước làm sạch, dễ dàng chỉnh sửa lại.
  • Xử lý dữ liệu lớn nhanh hơn so với công thức mảng.

5. Tự động hóa với VBA: Macro xóa khoảng trống toàn bộ workbook

Khi phải xử lý hàng ngàn ô trong nhiều sheet, viết công thức hoặc dùng Power Query có thể mất thời gian. VBA cho phép tạo một macro một lần và chạy trên toàn bộ workbook.

5.1. Macro cơ bản: Xóa khoảng trống đầu/cuối & thay CHAR(160)

Sub CleanSpaces() Dim ws As Worksheet Dim rng As Range Dim cell As Range ' Lặp qua từng sheet trong workbook For Each ws In ThisWorkbook.Worksheets ' Xác định vùng dữ liệu (cột A đến Z, dòng 1 đến 1000 - tùy chỉnh) Set rng = ws.UsedRange Application.ScreenUpdating = False For Each cell In rng If Not IsError(cell) Then ' Thay CHAR(160) bằng space thường cell.Value = Replace(cell.Value, Chr(160), " ") ' Loại bỏ khoảng trống đầu/cuối cell.Value = Trim(cell.Value) ' Loại bỏ tab và newline cell.Value = Application.WorksheetFunction.Clean(cell.Value) ' Giảm nhiều space liền nhau thành một Do While InStr(cell.Value, " ") > 0 cell.Value = Replace(cell.Value, " ", " ") Loop End If Next cell Application.ScreenUpdating = True Next ws MsgBox "Đã xóa khoảng trống thừa trong toàn bộ workbook!", vbInformation
End Sub

Giải thích:

  • UsedRange tự động lấy toàn bộ vùng dữ liệu đang có trong sheet.
  • Vòng lặp Do While InStr(cell.Value, " ") > 0 lặp lại cho tới khi không còn cặp space nào.
  • Application.WorksheetFunction.Clean loại bỏ ký tự ẩn.

5.2. Macro nâng cao: Lựa chọn cột & tùy chọn xóa tất cả khoảng trống

Nếu bạn muốn chỉ áp dụng cho một cột (ví dụ cột A) và có tùy chọn xóa toàn bộ khoảng trống, hãy dùng:

Sub CleanSpecificColumn() Dim ws As Worksheet Dim rng As Range Dim cell As Range Dim col As String Dim deleteAllSpaces As Boolean col = InputBox("Nhập tên cột (ví dụ: A):", "Chọn cột") If col = "" Then Exit Sub deleteAllSpaces = MsgBox("Bạn có muốn xóa tất cả khoảng trống trong ô không?" & vbCrLf & _ "(Nếu có, sẽ xóa cả space giữa các từ)", vbYesNo + vbQuestion) = vbYes For Each ws In ThisWorkbook.Worksheets Set rng = ws.Columns(col).SpecialCells(xlCellTypeConstants) Application.ScreenUpdating = False For Each cell In rng If Not IsError(cell) Then cell.Value = Replace(cell.Value, Chr(160), " ") cell.Value = Application.WorksheetFunction.Clean(cell.Value) If deleteAllSpaces Then cell.Value = Replace(cell.Value, " ", "") Else cell.Value = Trim(cell.Value) Do While InStr(cell.Value, " ") > 0 cell.Value = Replace(cell.Value, " ", " ") Loop End If End If Next cell Application.ScreenUpdating = True Next ws MsgBox "Hoàn thành làm sạch cột " & col, vbInformation
End Sub

Cách sử dụng:

  1. Nhấn Alt + F11 → Insert → Module → dán code.
  2. Đóng VBA Editor → Alt + F8 → chọn CleanSpecificColumn → Run.
  3. Nhập tên cột và chọn có xóa hết khoảng trống hay không.

5.3. Tối ưu hiệu suất cho dữ liệu lớn

  • Sử dụng biến mảng: Đọc toàn bộ vùng vào một mảng, xử lý trong bộ nhớ, sau đó ghi lại. Điều này giảm thời gian thao tác vào/ra ô.
Sub CleanUsingArray() Dim ws As Worksheet Dim arr As Variant Dim i As Long, j As Long Set ws = ThisWorkbook.Worksheets("Sheet1") arr = ws.UsedRange.Value ' Đọc toàn bộ vùng vào mảng For i = 1 To UBound(arr, 1) For j = 1 To UBound(arr, 2) If Not IsError(arr(i, j)) Then Dim txt As String txt = CStr(arr(i, j)) txt = Replace(txt, Chr(160), " ") txt = Application.WorksheetFunction.Clean(txt) txt = Trim(txt) Do While InStr(txt, " ") > 0 txt = Replace(txt, " ", " ") Loop arr(i, j) = txt End If Next j Next i ws.UsedRange.Value = arr ' Ghi lại mảng đã được làm sạch MsgBox "Xóa khoảng trống bằng mảng hoàn thành!", vbInformation
End Sub

Lợi ích: Tốc độ nhanh gấp 10‑20 lần so với việc duyệt từng ô.

6. Kiểm tra và xác nhận dữ liệu đã sạch

Sau khi thực hiện các bước trên, bạn nên kiểm tra lại để chắc chắn không còn khoảng trống thừa.

6.1. Công thức kiểm tra độ dài (LEN)

  • Công thức: =LEN(A2) → Độ dài chuỗi.
  • So sánh: Nếu LEN(TRIM(A2)) khác LEN(A2), có khoảng trống đầu/cuối.

6.2. Đánh dấu ô có khoảng trống

Bạn có thể dùng Conditional Formatting để tô màu các ô còn chứa khoảng trống:

  1. Chọn vùng dữ liệu.
  2. Home → Conditional Formatting → New Rule → Use a formula.
  3. Nhập công thức: =LEN(A2)<>LEN(TRIM(A2)).
  4. Đặt màu nền (ví dụ: đỏ nhạt) → OK.

Các ô màu sẽ là những ô chưa được làm sạch.

6.3. Sử dụng hàm COUNTIF để đếm ô có khoảng trống

=COUNTIF(A:A, " ") ' Đếm ô có ít nhất một space ở bất kỳ vị trí nào

Nếu kết quả là 0 → không còn khoảng trống.

7. Các trường hợp đặc biệt và giải pháp

7.1. Dữ liệu dạng số nhưng có space

Khi một ô chứa số nhưng có space (ví dụ " 123 "), Excel sẽ hiểu nó là văn bản. Để chuyển lại thành số:

=VALUE(TRIM(A2))

Hoặc trong VBA:

cell.Value = CDbl(Trim(cell.Value))

7.2. Dữ liệu dạng ngày tháng có space

Nếu ngày tháng được nhập dưới dạng " 01/01/2026 ":

=DATEVALUE(TRIM(A2))

Hoặc dùng Text to Columns → Data → Text to Columns → chọn Date để chuyển nhanh.

7.3. Xóa khoảng trống trong công thức (formula text)

Nếu bạn có công thức lưu dưới dạng chuỗi (ví dụ trong cột chứa công thức dạng text), bạn vẫn có thể dùng SUBSTITUTE:

=SUBSTITUTE(A2, " ", "")

Nhưng lưu ý: không dùng TRIM vì nó sẽ giữ lại một khoảng trống giữa các phần của công thức, gây lỗi khi công thức được chuyển lại thành thực.

7.4. Khi dữ liệu chứa ký tự Unicode (ví dụ: dấu cách tiếng Việt)

Trong một số trường hợp, dấu cách được mã hoá bằng Unicode U+00A0 (non‑breaking space). Bạn có thể dùng:

=TRIM(SUBSTITUTE(A2, UNICHAR(160), ""))

Hoặc trong VBA:

cell.Value = Replace(cell.Value, ChrW(160), " ")

8. Tổng hợp nhanh: Checklist làm sạch khoảng trống trong Excel

BướcCông cụMô tảKhi nào dùng
1TRIMXóa space đầu/cuối, giảm space giữa thành 1Dữ liệu chuẩn, không có ký tự đặc biệt
2CLEANLoại bỏ ký tự không hiển thị (tab, newline)Dữ liệu nhập từ web, file txt
3SUBSTITUTE + CHAR(160)Thay non‑breaking space bằng space thông thườngKhi copy từ web, PDF
4Find & Replace (Ctrl+H)Xóa nhanh space đầu/cuối trong một vùng nhỏKhi cần sửa nhanh, không muốn tạo cột phụ
5Power QueryLàm sạch hàng loạt, lưu lại lịch sử bướcDữ liệu lớn, nhiều sheet, cần tái sử dụng
6VBA MacroTự động hoá toàn bộ workbook, tốc độ caoDự án định kỳ, dữ liệu hàng nghìn‑tỷ
7Conditional FormattingKiểm tra nhanh các ô còn lỗiSau khi làm sạch, để xác nhận
8LEN + TRIMKiểm tra độ dài chuỗiKhi muốn chắc chắn không còn space

9. Kết luận

Xử lý khoảng trống thừa trong Excel không chỉ là một công việc “thông thường” mà còn là bước quan trọng trong quy trình làm sạch dữ liệu (data cleaning). Khi dữ liệu sạch, mọi công việc tiếp theo – tính toán, phân tích, báo cáo – sẽ diễn ra trơn tru, chính xác hơn.

Trong bài viết, chúng ta đã:

  1. Hiểu rõ các loại khoảng trống và hậu quả của chúng.
  2. Áp dụng các hàm tích hợp như TRIM, CLEAN, SUBSTITUTE để xử lý nhanh.
  3. Sử dụng Power Query để làm sạch dữ liệu hàng loạt, bảo toàn lịch sử thao tác.
  4. Viết macro VBA cho các tác vụ tự động, đặc biệt hữu ích với dữ liệu lớn.
  5. Kiểm tra và xác nhận kết quả bằng công cụ Excel sẵn có.

Bạn có thể kết hợp các phương pháp trên tùy theo độ phức tạp và khối lượng dữ liệu. Đừng quên luôn sao lưu file gốc trước khi thực hiện các thao tác thay đổi hàng loạt, và đánh giá lại kết quả sau mỗi bước để tránh mất mát thông tin quan trọng.

Hy vọng bài viết đã cung cấp cho bạn toàn bộ kiến thức cần thiết để xóa khoảng trống thừa trong Excel một cách hiệu quả, nhanh chóng và chuyên nghiệp. Chúc bạn thành công trong công việc và luôn có những bảng tính sạch sẽ, chuẩn xác!

⚠️
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