Công Thức Bỏ Dấu Gạch Ngang Trong Excel: Hướng Dẫn Chi Tiết Và Ứng Dụng Thực Tiễn

Trong cuộc sống hiện đại, việc xử lý dữ liệu trong Microsoft Excel là một kỹ năng thiết yếu, đặc biệt khi bạn làm việc với các bảng tính lớn, danh sách khách hàng, mã sốراک, hoặc dữ liệu từ các nguồn khác nhau. Một trong những vấn đề thường gặp khi nhập dữ liệu là có những ký tự đặc biệt không mong muốn, trong đó/Error “dấu gạch ngang” (hoặc hyphen) thường xuất hiện trong các trường như số điện thoại, mã hóa, hoặc địa chỉ. Nếu không loại bỏ, những dấu này có thể gây ra lỗi khi thực hiện tính toán, so sánh dữ liệu, hoặc khi xuất dữ liệu sang các hệ thống khác.

Bài viết này sẽ cung cấp hướng dẫn chi tiết về cách sử dụng công thức và các phương pháp khác nhau trong Excel để loại bỏ dấu gạch ngang. Bạn sẽ học được cách áp dụng công thức SUBSTITUTE, TEXTJOIN, TRIM, công thức mới REGEXREPLACE (đối với Office 365), cách dùng VBA trong trường hợp cần tự động hoá, và thậm chí cách qua Power Query. Hơn nữa, chúng ta sẽ đi sâu vào những tình huống thực tế, ví dụ với dữ liệu số điện thoại, mã vạch, và chuỗi ký tự thô, để bạn có thể ngay lập tức áp dụng vào công việc hàng ngày.

1. Tại sao cần loại bỏ dấu gạch ngang?

1.1. Tác động tới tính toán và lọc dữ liệu

  • Khi dùng hàm SUM, AVERAGE, hoặc các hàm phức tạp khác, Excel sẽ xem chuỗi chứa dấu gạch ngang là một chuỗi ký tự, không thể chuyển thành số. Kết quả tính toán sẽ bị sai lệch hoặc trả về lỗi.
  • Khi lọc dữ liệu (Filter), các tiêu chí tìm kiếm không nhận reservas dấu gạch ngang, dẫn tới không tìm thấy dữ liệu mong muốn.

icione.

1.2. Tác động tới kết nối với cơ sở dữ liệu

  • Nhiều hệ thống quản lý dữ liệu (ví dụ: MySQL, Oracle) yêu cầu chuỗi khóa chính không chứa dấu gạch ngang. Nếu không loại bỏ, khi nhập dữ liệu vào DB sẽ bị lỗi hoặc dữ liệu bị gãy.

1.3. Tác động tới xuất dữ liệu

  • Khi xuất ra CSV hoặc Excel, dấu gạch ngang có thể làm thay đổi định dạng, ví dụ chuỗi số có dấu gạch ngang sẽ được Excel xem là chuỗi đặc biệt và không định dạng số.

2. Các công thức cơ bản trong Excel để loại bỏ dấu gạch ngang

2.1. Công thức SUBSTITUTE previously

Hàm SUBSTITUTE là công cụ đơn giản và mạnh mẽ nhấtUNTIME.

Cú pháp:

SUBSTITUTE(text, old_text, new_text, instance_num)
  • text: Chuỗi mà bạn muốn chỉnh sửa.
  • old_text: Chuỗi ký tự muốn thay thế (ở đây là dấu gạch ngang -).
  • new_text: Chuỗi thay thế (ở đây là chuỗi rỗng "").
  • instance_num: Tùy chọn, chỉ định số lần thay thế. Nếu bỏ qua, sẽ thay thế tất cả.

Ví dụ:
Giả sử ô A1 chứa 123-456-7890. Để bỏ tất cả dấu gạch ngang, bạn có thể sử dụng:

=SUBSTITUTE(A1, "-", "")

Kết quả sẽ là 1234567890.

2.1.1. Thay thế nhiều ký tự

Nếu bạn muốn loại bỏ nhiều ký tự khác nhau (ví dụ: -, José). Bạn có thể lồng các công thức:

=SUBSTITUTE(SUBSTITUTE(A1, "-", ""), " ", "")

Điều này sẽ loại bỏ cả dấu gạch ngang và dấu cách.

2.2. Công thức TRIM và CLEAN

TRIM loại bỏ khoảng trắng thừa ở đầu/ cuối chuỗi, không ảnh hưởng tới dấu gạch ngang. CLEAN loại bỏ ký tự điều khiển. Vì vậy, chúng không giúp loại bỏ dấu gạch ngang, nhưng bạn có thể kết hợp với SUBSTITUTE.

2.3. Công thức TEXTJOIN (Excel 2026+)

Nếu bạn muốn loại bỏ dấu gạch ngang trong nhiều ô đồng thời, bạn có thể sử dụng TEXTJOIN kèm SUBSTITUTE:

=TEXTJOIN("", TRUE, SUBSTITUTE(A1:A10, "-", ""))

Như vậy, bạn có thể kết hợp từng ô trong dải A1:A10 thành một chuỗi duy nhất sau khi đã loại bỏ dấu gạch ngang.

3. Công thức mới: REGEXREPLACE (Office 365)

3.1. Giới thiệu

Trong các phiên bản mới của Excel (Office 365), Microsoft đã giới thiệu hàm REGEXREPLACE, cho phép bạn áp dụng biểu thức chính quy để thay thế chuỗi. Đây là phương pháp mạnh mẽ hơn khi bạn cần xử lý dữ liệu phức tạp.

3.2. Cú pháp

REGEXREPLACE(text, regular_expression, replace_text)
  • text: Chuỗi gốc.
  • regular_expression: Biểu thức chính quy mô tả mẫu cần thay thế.
  • replace_text: Chuỗi thay thế.

3.3. Ví dụ: Loại bỏ dấu gạch ngang

=REGEXREPLACE(A1, "-", "")

Kết quả giống SUBSTITUTE. Tuy nhiên, REGEXREPLACE cho phép bạn loại bỏ nhiều ký tự cùng lúc:

=REGEXREPLACE(A1, "- ", "")

Mẫu - sẽ loại bỏ cả dấu gạch ngang và dấu cách.

3.4. Sử dụng trong dải ô

=ARRAYFORMULA(REGEXREPLACE(A1:A10, "- ", ""))

Trong Excel, ARRAYFORMULA không tồn tại, nhưng bạn có thể nhập công thức này trong Google Sheets. Trong Excel, bạn có thể dùng Ctrl+Shift+Enter để biến công thức thành mảng.

4. K xử lý dữ liệu tá dải: cách sử dụng VBA

Nếu bạn cần tự động hoá hoặc thực hiện rộng rúệt, VBA (Visual Basic Applications) là công cụ tuyệt vời.

Công Thức Bỏ Dấu Gạch Ngang Trong Excel
Công Thức Bỏ Dấu Gạch Ngang Trong Excel

4.1. Vi(router script

Mã:

Sub RemoveHyphens() Dim rng As Range Dim cell As Range Dim arr() As Variant Set rng = Range("A1:A10") 'Chứa dâ' 'k' arr = rng.Value For Each cell In arr cell.Value = Replace(cell.Value, "-", "", vbTextCompare Next cell Range("B1:B10").Value = arr
End Sub
  • Mã này lặp qua dải ô A1:A10, loại bỏ dấu gạch ngang và ghi kết quả vào B1:B10.

4.2. Tạo Macro nhanh

Bạn có thể ghi macro khi thực hiện thủ công SUBSTITUTE. Sau đó, chỉ cần chạy macro để tự động thực hiện trên dải ô bất kỳ.

5. Bước 5: Xử lý dữ liệu qua Power Query

Power Query cung cấp giao diện kéo thả, rất phù hợp với việc làm sạch dữ liệu.

5.1. Thêm cột mới với biểu thức

  1. Chọn dữ liệu > Truyền dữ liệu > Dải ô > Từ dải ô.
  2. Trong Power Query Editor, thêm cột mới: Add Column > Custom Column.
  3. Nhập công thức:
    Text.Replace(Column1, "-", "")
  4. Nhấn OK, sau đó Close & Load để tải dữ liệu vào Excel.

5.2. Thay đổi cột gốc

Nếu bạn muốn thay thế nội dung cột gốc, bạn có thể sử dụng Transform > Replace Values > nhập - -> "".

6. Ứng dụng thực tế: Loại bỏ dấu gạch ngang trong các trường dữ liệu phổ biến

6.1. Dữ liệu số điện thoại

  • Vấn đề: Số điện thoại thường được nhập như +84-123-456-789 hoặc 0123-456-789.
  • Giải pháp: Sử dụng SUBSTITUTE hoặc REGEXREPLACE đểાર્ખ.

Công thức:

=SUBSTITUTE(SUBSTITUTE(A1, "-", ""), " ", "")

Kết quả: Hosted.

6.2. Mã vạch sản phẩmತ್

  • Vấn đề: Mã vạch có thể chứa - để phân chia nhóm mã.
  • Giải pháp: Loại bỏ để tạo chuỗi liên tục.

Công thức:

=TEXTJOIN("", TRUE, IFERROR(1SUBSTITUTE(A1, "-", ""), SUBSTITUTE(A1, "-", "")))

Điều này chuyển chuỗi chữ thành số nếu có thể.

6.3. Địa chỉ tệp tin

  • Vấn đề: Đường dẫn tệp tin có thể chứa - như C:\Users\John-Doe\Documents.
  • Giải pháp: Dùng SUBSTITUTE để loại bỏ, nếu cần.

Công thức:

=SUBSTITUTE(A1お, "-", "_")

mellan.

7. Kỹ thuật nâng cao: Bỏ dấu gạch ngang theo điều kiện

Bạn có thể tạo công thức trả về giá trị gốc nếu không có dấu gạch ngang, tránh thay đổi dữ liệu không cần thiết.

Công thức:

=IFERROR(IF(FIND("-", A1) > 0, SUBSTITUTE(A1, "-", ""), A1), A1)
  • FIND kiểm tra vị trí của dấu gạch ngang. Nếu có, SUBSTITUTE loại bỏ; nếu không, giữ nguyên.

8. Mẹo tối ưu khi làm việc với dữ liệu lớn

8.1. Sử dụng công thức mảng tối ưu

  • Khi làm việc với hàng nghìn dòng, tránh lồng nhiều SUBSTITUTE. Thay vào đó, dùng REGEXREPLACE (nếu có) vì nó nhanh hơn.

8.2. S schip

  • Sử dụng Text trong Power Query vì nó nhanh hơn Excel formulas khi làm sạch dữ liệu lớn.

8.3. Tự động hoá với VBA

  • Tạo macro chạy tự động khi mở workbook.
  • Khởi tạo macro với Auto_Open.

9. Những lưu ý khi làm sạch dữ liệu

  • Kiểm tra dữ liệu: Luôn kiểm tra kết quả sau khi áp dụng công thức, vì có thể có dữ liệu không hợp lệ.
  • Sao lưu dữ liệu gốc: Tránh ghi đè dữ liệu gốc ngay khi thực hiện. Tạo cột mới hoặc sao lưu trước.
  • Kiểm tra định dạng: Sau khi loại bỏ dấu gạch ngang, Excel có thể vẫn giữ định dạng chuỗi. Đặt định dạng số nếu cần.

10. Kết luận

Loại bỏ dấu gạch ngang trong Excel là một thao tác phổ biến nhưng quan trọng trong quá trình làm sạch dữ liệu. Dù bạn sử dụng công thức SUBSTITUTE, REGEXREPLACE, VBA, hay Power Query, quan trọng là chọn phương pháp phù hợp với quy mô và tính chất dữ liệu của bạn. Khi đã nắm vững các công thức và công cụ, bạn sẽ làm việc nhanh hơn, tránh lỗi khi tính toán và nhập dữ liệu vào hệ thống khác.

Hãy thử ngay những công thức trên với dữ liệu thực tế của mình, và chia sẻ kinh nghiệm của bạn trong phần bình luận dưới bài viết này. Chúc bạn thành công trong việc làm sạch dữ liệu và tận dụng hết sức mạnh của Excel!

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