Công Thức Excel Để Xóa Khoảng Trắng: Hướng Dẫn Chi Tiết Và Thực Hành Từ Cơ Bản Đến Nâng Cao

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

Giới thiệu chung về vấn đề khoảng trắng trong Excel

Trong quá trình làm việc với dữ liệu trên Excel, việc gặp phải các ký tự khoảng trắng (space) không mong muốn là điều rất phổ biến. Những ký tự này có thể xuất hiện ở đầu, cuối, hoặc giữa các từ và thường gây ra những rắc rối như:

  • Sai lệch dữ liệu khi thực hiện so sánh, lọc hay tra cứu.
  • Lỗi công thức do Excel không nhận dạng đúng giá trị văn bản.
  • Khó khăn trong việc chuẩn hoá dữ liệu trước khi đưa vào các hệ thống phân tích khác.

Vì vậy, việc nắm vững các công thức (formula) để xóa khoảng trắng trong Excel là một kỹ năng thiết yếu đối với mọi người dùng, dù bạn là người mới bắt đầu hay một chuyên gia dữ liệu. Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ những hàm cơ bản như TRIM (hoặc LỌC.KHOẢNG.TRẮNG trong phiên bản tiếng Việt) đến các giải pháp phức tạp hơn dùng kết hợp SUBSTITUTE, REPLACE, TEXTJOIN, và thậm chí là các công thức mảng (array formulas) để xử lý các trường hợp đặc biệt.

1. Hiểu rõ các loại khoảng trắng

Trước khi đi vào các công thức, chúng ta cần phân biệt ba loại khoảng trắng thường gặp trong Excel:

Loại khoảng trắngMô tảVí dụ trong ô
Khoảng trắng đơnDấu cách tiêu chuẩn (ASCII 32)."Hello World"
Khoảng trắng không phá vỡ (non‑breaking space)Dấu cách không cho phép ngắt dòng (ASCII 160). Thường xuất hiện khi sao chép dữ liệu từ web."Hello World" (với ký tự 160)
Khoảng trắng đa dạngBao gồm tab (CHAR(9)), xuống dòng (CHAR(10)), ký tự đặc biệt (CHAR(13))…"Hello\tWorld" hoặc "Hello\nWorld"

Mỗi loại khoảng trắng cần cách xử lý khác nhau, vì vậy công thức chuẩn sẽ phải có khả năng nhận diện và loại bỏ chúng một cách hiệu quả.

2. Hàm TRIM (LỌC.KHOẢNG.TRẮNG) – Giải pháp nhanh nhất cho khoảng trắng đơn

2.1. Cú pháp và cách hoạt động

  • Tiếng Anh: TRIM(text)
  • Tiếng Việt (Excel 365/2026): LỌC.KHOẢNG.TRẮNG(văn_bản)

Hàm này thực hiện ba công việc:

  1. Loại bỏ tất cả khoảng trắng ở đầu và cuối chuỗi.
  2. Rút gọn các khoảng trắng liên tiếp ở giữa thành một khoảng trắng duy nhất.
  3. Bảo toàn các ký tự khác (số, ký tự đặc biệt).

Lưu ý: TRIM chỉ xóa khoảng trắng ASCII 32. Các ký tự không phá vỡ (ASCII 160) hay ký tự tab sẽ không bị loại bỏ.

2.2. Ví dụ thực tế

Giả sử ô A2 chứa dữ liệu: " Excel Formula " (có 3 khoảng trắng ở đầu và cuối, và 3 khoảng trắng liên tiếp giữa các từ). Công thức:

=TRIM(A2)

Kết quả trả về: "Excel Formula" (đã loại bỏ khoảng trắng đầu/cuối và giảm các khoảng trắng liền nhau thành một).

2.3. Khi nào TRIM không đủ?

Nếu dữ liệu chứa:

  • Ký tự không phá vỡ (CHAR(160)) – ví dụ "Hello World" (được sao chép từ một trang web).
  • Tab (CHAR(9)) hoặc xuống dòng (CHAR(10)) – ví dụ "Hello World" với tab giữa.

Trong trường hợp này, TRIM sẽ không xóa được các ký tự trên, và chúng ta cần tới các hàm khác.

3. Thay thế ký tự không phá vỡ và các ký tự đặc biệt bằng SUBSTITUTE

3.1. Hàm SUBSTITUTE (THAY.THẾ)

  • Tiếng Anh: SUBSTITUTE(text, old_text, new_text, instance_num)
  • Tiếng Việt: THAY.THẾ(văn_bản, văn_bản_cũ, văn_bản_mới, số_lần)

Hàm này cho phép thay thế một chuỗi ký tự bằng một chuỗi khác. Khi kết hợp với CHAR() để chỉ định mã ký tự, chúng ta có thể xóa hoặc thay thế các khoảng trắng đặc biệt.

3.2. Xóa ký tự không phá vỡ (non‑breaking space)

Ký tự không phá vỡ có mã ASCII là 160. Công thức:

=SUBSTITUTE(A2, CHAR(160), "")

Nếu muốn đồng thời loại bỏ khoảng trắng đầu/cuối bằng TRIM:

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

3.3. Xóa tab, xuống dòng và các ký tự điều khiển

Ký tựMã ASCIICông thức thay thế
TabCHAR(9)=SUBSTITUTE(A2, CHAR(9), "")
Dòng mới (LF)CHAR(10)=SUBSTITUTE(A2, CHAR(10), "")
Carriage Return (CR)CHAR(13)=SUBSTITUTE(A2, CHAR(13), "")

Bạn có thể nối nhiều hàm SUBSTITUTE lại để xóa đồng thời nhiều ký tự:

=TRIM( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE(A2, CHAR(160), ""), CHAR(9), ""), CHAR(10), "")
)

3.4. Khi cần thay thế các khoảng trắng liền nhau thành một khoảng trắng duy nhất

Nếu chuỗi có nhiều dấu cách liên tiếp (ví dụ "Hello World" với 4 dấu cách), TRIM sẽ giảm chúng còn một dấu cách, nhưng nếu bạn muốn xóa hoàn toàn các dấu cách thừa, có thể dùng công thức mảng (array) hoặc hàm TEXTJOIN kết hợp FILTERXML. Tuy nhiên, trong hầu hết các trường hợp, TRIM đã đáp ứng đủ.

4. Công thức mảng (Array Formula) để xóa tất cả các khoảng trắng (kể cả trong giữa)

4.1. Tại sao cần công thức mảng?

Khi muốn loại bỏ mọi khoảng trắng trong chuỗi, bao gồm cả các khoảng trắng ở giữa (không chỉ rút gọn thành một), hàm TRIM không đủ. Chúng ta cần một công thức có khả năng lặp lại việc loại bỏ ký tự " " cho tới khi không còn ký tự nào.

4.2. Sử dụng SUBSTITUTE lồng nhau với REPT

Một cách đơn giản (không cần công thức mảng) là lặp lại SUBSTITUTE một số lần đủ lớn để chắc chắn rằng mọi dấu cách đã bị xóa:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, " ", ""), CHAR(160), ""), CHAR(9), "")

Tuy nhiên, nếu có hàng trăm khoảng trắng liên tiếp, cách trên sẽ không thực hiện hết. Vì thế, một giải pháp mạnh mẽ hơn là dùng công thức mảng kết hợp MID và ROW.

4.3. Công thức mảng truyền thống (Excel 2026 và trước)

=TEXTJOIN("", TRUE, IF(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) <> " ", MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1), "")
)
  • Giải thích:
  • ROW(INDIRECT("1:"&LEN(A2))) tạo một mảng các số từ 1 tới độ dài của chuỗi.
  • MID(A2, …, 1) lấy từng ký tự một.
  • IF(... <> " ", …, "") giữ lại ký tự nếu không phải là dấu cách.
  • TEXTJOIN("", TRUE, …) nối lại các ký tự đã lọc thành chuỗi mới.

Cách nhập: Đối với Excel 2026 và các phiên bản trước, bạn phải nhấn Ctrl + Shift + Enter (đánh dấu công thức là mảng). Excel sẽ tự thêm dấu {} bao quanh công thức.

4.4. Công thức mảng đơn giản trong Excel 365 / Excel 2026 (Dynamic Arrays)

Excel Formula To Remove Spaces
Excel Formula To Remove Spaces

Trong các phiên bản hỗ trợ Dynamic Array, công thức trên không cần Ctrl+Shift+Enter. Bạn chỉ cần nhập:

=TEXTJOIN("", TRUE, FILTER(MID(A2, SEQUENCE(LEN(A2)), 1), MID(A2, SEQUENCE(LEN(A2)), 1) <> " ")
)
  • SEQUENCE(LEN(A2)) tạo một mảng số 1‑n.
  • FILTER giữ lại các ký tự không phải dấu cách.
  • TEXTJOIN nối lại.

Kết quả: Chuỗi đã loại bỏ hoàn toàn mọi khoảng trắng, kể cả trong giữa.

4.5. Xử lý đồng thời các ký tự không phá vỡ và tab

Bạn có thể mở rộng công thức bằng cách sử dụng LET (Excel 365) để tránh lặp lại:

=LET( txt, A2, chars, MID(txt, SEQUENCE(LEN(txt)), 1), clean, FILTER(chars, (chars <> " ") (chars <> CHAR(160)) (chars <> CHAR(9))), TEXTJOIN("", TRUE, clean)
)

Ở đây, hoạt động như AND trong mảng logic, loại bỏ các ký tự " ", CHAR(160), và CHAR(9).

5. Xóa khoảng trắng trong nhiều cột cùng một lúc với Power Query

Khi làm việc với bảng dữ liệu lớn, việc áp dụng công thức cho từng ô sẽ rất mất thời gian. Power Query (tên khác là Get & Transform) là công cụ mạnh mẽ tích hợp trong Excel, cho phép bạn:

  • Nhập dữ liệu từ nhiều nguồn (CSV, SQL, web…).
  • Biến đổi dữ liệu (xóa khoảng trắng, thay thế ký tự…) một cách tự động.
  • Lưu kết quả trở lại bảng tính.

5.1. Các bước thực hiện

  1. Chọn bảng dữ liệu → Data → From Table/Range.
  2. Khi Power Query Editor mở ra, chọn các cột cần làm sạch.
  3. Vào Transform → Format → Trim (đối với khoảng trắng đầu/cuối) và/hoặc Clean (loại bỏ ký tự không in được).
  4. Để xóa mọi khoảng trắng, vào Add Column → Custom Column và nhập công thức M:

m = Text.Remove(ColumnName, {" ", Character.FromNumber(160), Character.FromNumber(9)})

  1. Nhấn Close & Load để đưa dữ liệu đã xử lý trở lại Excel.

5.2. Ưu điểm của Power Query

  • Xử lý hàng nghìn, hàng triệu bản ghi nhanh chóng.
  • Tự động cập nhật khi nguồn dữ liệu thay đổi (Refresh).
  • Không làm thay đổi dữ liệu gốc, giúp duy trì tính nguyên vẹn.

6. Các trường hợp thực tiễn và giải pháp tối ưu

6.1. Dữ liệu nhập từ web có ký tự không phá vỡ

  • Triệu chứng: Khi lọc hoặc so sánh, Excel trả về “#N/A” hoặc “FALSE” dù nội dung trông giống nhau.
  • Giải pháp: Dùng công thức kết hợp TRIM + SUBSTITUTE:

excel =TRIM(SUBSTITUTE(A2, CHAR(160), ""))

Hoặc trong Power Query, dùng Text.Replace:

m = Table.TransformColumns(Source, {{"Column1", each Text.Replace(_, Character.FromNumber(160), ""), type text}})

6.2. Mã số hoặc ID có khoảng trắng không mong muốn

Ví dụ: Mã sản phẩm "AB 123 " (có khoảng trắng ở cuối). Khi dùng VLOOKUP với giá trị không có khoảng trắng, kết quả trả về lỗi.

  • Công thức nhanh:

excel =TRIM(A2)

  • Nếu có ký tự tab:

excel =TRIM(SUBSTITUTE(A2, CHAR(9), ""))

6.3. Xóa khoảng trắng trong địa chỉ email (đảm bảo không có ký tự thừa)

=LOWER(TRIM(SUBSTITUTE(A2, " ", "")))
  • LOWER chuyển về chữ thường, tránh lỗi so sánh không phân biệt chữ hoa/thường.

6.4. Xử lý dòng mới trong ô (khi nhập dữ liệu từ CSV)

Nếu ô có ký tự xuống dòng (CHAR(10)), có thể gây lỗi khi xuất ra file CSV.

=TRIM(SUBSTITUTE(SUBSTITUTE(A2, CHAR(10), ""), CHAR(13), ""))

Hoặc dùng CLEAN (Excel 365) để loại bỏ tất cả ký tự không hiển thị:

=CLEAN(A2)

CLEAN chỉ loại bỏ các ký tự ASCII 0‑31, không bao gồm CHAR(160) nên vẫn cần SUBSTITUTE nếu muốn xóa ký tự không phá vỡ.

7. So sánh tốc độ và hiệu suất giữa các phương pháp

Phương phápĐộ phức tạpTốc độ (trên 100,000 dòng)Khi nào dùng
TRIMRất đơn giảnRất nhanhChỉ cần xóa khoảng trắng đầu/cuối, giảm nhiều khoảng trắng thành một
SUBSTITUTE (đơn)Trung bìnhNhanhXóa ký tự đặc biệt (CHAR(160), CHAR(9),…)
TRIM + SUBSTITUTE (nối)Trung bìnhNhanh‑trung bìnhKết hợp cả hai loại ký tự
Công thức mảng TEXTJOIN + FILTERCaoTrung bình‑chậm (do tính toán mảng)Xóa tất cả khoảng trắng, bao gồm trong giữa
Power QueryCao (cần học)Rất nhanh (được tối ưu cho dữ liệu lớn)Xử lý bảng dữ liệu lớn, nhiều cột, hoặc khi muốn tự động hoá quy trình

Lưu ý: Khi dữ liệu lên tới hàng triệu bản ghi, việc dùng công thức mảng trong ô sẽ làm workbook chậm. Trong trường hợp này, Power Query hoặc VBA là lựa chọn tốt hơn.

8. Tự động hoá bằng VBA: Macro xóa khoảng trắng toàn bộ sheet

Đối với người dùng muốn một nút “Clean Spaces” hoạt động trên toàn bộ sheet, VBA cung cấp giải pháp nhanh chóng.

8.1. Mã VBA mẫu

Sub RemoveAllSpaces() Dim rng As Range Dim cell As Range ' Chọn toàn bộ vùng dữ liệu đã sử dụng Set rng = ActiveSheet.UsedRange Application.ScreenUpdating = False For Each cell In rng If Not IsError(cell) Then With cell ' Xóa khoảng trắng đầu/cuối .Value = Application.WorksheetFunction.Trim(.Value) ' Thay thế ký tự không phá vỡ và tab .Value = Replace(.Value, Chr(160), "") .Value = Replace(.Value, Chr(9), "") .Value = Replace(.Value, Chr(10), "") .Value = Replace(.Value, Chr(13), "") End With End If Next cell Application.ScreenUpdating = True MsgBox "Đã xóa khoảng trắng trong toàn bộ sheet!", vbInformation
End Sub

8.2. Hướng dẫn sử dụng

  1. Nhấn Alt + F11 → Insert → Module → dán mã trên.
  2. Đóng VBA editor, vào Developer → Macros, chọn RemoveAllSpaces → Run.
  3. Hoặc gán macro này vào một Button trên sheet để người dùng cuối chỉ cần click.

8.3. Khi nào nên dùng VBA?

  • Khi cần chạy một thao tác trên nhiều sheet cùng lúc.
  • Khi muốn tự động hoá quy trình (ví dụ: mỗi khi nhập dữ liệu mới, macro sẽ chạy ngay).
  • Khi dữ liệu quá lớn để công thức mảng hoạt động mượt mà.

9. Kiểm tra và xác nhận kết quả đã xóa khoảng trắng

Sau khi áp dụng các công thức hoặc macro, việc kiểm tra là rất quan trọng để chắc chắn không còn ký tự ẩn. Dưới đây là một số cách:

9.1. Sử dụng hàm LEN và LEN(TRIM)

Nếu LEN(A2) = LEN(TRIM(A2)), thì không có khoảng trắng đầu/cuối. Đối với toàn cột:

=SUMPRODUCT(--(LEN(A2:A1000) <> LEN(TRIM(A2:A1000))))

Kết quả > 0 nghĩa là còn ô nào đó có khoảng trắng đầu/cuối.

9.2. Kiểm tra ký tự không phá vỡ

=SUMPRODUCT(--(LEN(A2:A1000) - LEN(SUBSTITUTE(A2:A1000, CHAR(160), "")) > 0))

Nếu trả về số > 0, có ký tự CHAR(160) tồn tại.

9.3. Kiểm tra toàn bộ ký tự trắng bằng công thức mảng

=LET( txt, A2, spaces, LEN(txt) - LEN(SUBSTITUTE(txt, " ", "")), nbsp, LEN(txt) - LEN(SUBSTITUTE(txt, CHAR(160), "")), tabs, LEN(txt) - LEN(SUBSTITUTE(txt, CHAR(9), "")), spaces + nbsp + tabs
)

Nếu kết quả > 0, vẫn còn khoảng trắng.

10. Tổng kết và lời khuyên thực tiễn

  1. Bắt đầu với TRIM – đây là công cụ nhanh nhất để làm sạch dữ liệu cơ bản.
  2. Kết hợp SUBSTITUTE khi gặp ký tự không phá vỡ, tab, hoặc xuống dòng.
  3. Sử dụng công thức mảng (TEXTJOIN + FILTER) nếu muốn loại bỏ mọi khoảng trắng trong chuỗi, kể cả ở giữa.
  4. Power Query là giải pháp tối ưu cho dữ liệu lớn hoặc khi cần áp dụng cùng một quy tắc lên nhiều cột.
  5. VBA giúp tự động hoá quy trình và xử lý toàn bộ sheet nhanh chóng.
  6. Luôn kiểm tra bằng các hàm LEN, SUBSTITUTE, hoặc công cụ “Find & Replace” để đảm bảo không còn ký tự ẩn.

Tip cuối cùng: Khi làm việc với dữ liệu nhập từ nguồn bên ngoài (web, hệ thống ERP, file CSV), luôn kiểm tra xem có ký tự không hiển thị (non‑breaking space, tab) hay không. Việc này sẽ tiết kiệm rất nhiều thời gian trong các bước xử lý tiếp theo như VLOOKUP, XLOOKUP, MATCH hay tạo PivotTable.

Hy vọng bài viết này đã cung cấp cho bạn một bộ công cụ toàn diện để xóa khoảng trắng trong Excel, từ những công thức đơn giản cho tới các giải pháp nâng cao. Hãy áp dụng và tùy biến cho phù hợp với nhu cầu thực tế của mình. Chúc bạn làm việc hiệu quả và dữ liệu luôn sạch sẽ!

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