Menu

Xử lý dữ liệu dạng Text có chứa dấu phẩy, dấu chấm và ký tự đặc biệt khác thành số chuẩn

Triệu Nhân Chí 08/06/2026 11:04 352 lượt xem 2 trả lời

Chào các bạn trong diễn đàn Sheet & Excel!

Dạo này mình hay phải làm việc với các file dữ liệu mà số liệu được nhập dưới dạng Text, lại còn lộn xộn đủ các kiểu dấu phẩy, dấu chấm, thậm chí là các ký tự đặc biệt khác. Ví dụ: 1.234,56, 1,234.56, hoặc 1 234,56, 1.234.56 USD...

Việc này gây khó khăn khi muốn thực hiện các phép tính toán học hoặc dùng các hàm như SUM, AVERAGE. Mình đã thử một vài cách nhưng thấy có một phương pháp khá hiệu quả và nhanh chóng mà muốn chia sẻ lại với mọi người.

Cách 1: Sử dụng chức năng Text to Columns

  • Chọn vùng dữ liệu cần chuyển đổi.
  • Vào tab Data -> Text to Columns.
  • Chọn Delimited hoặc Fixed width tùy theo cấu trúc dữ liệu của bạn.
  • Ở bước tiếp theo, nếu dữ liệu của bạn có các ký tự ngăn cách lộn xộn, bạn có thể chọn Other và nhập các ký tự đó vào (ví dụ: dấu phẩy, dấu chấm). Tuy nhiên, cách này đôi khi không xử lý hết các trường hợp đặc biệt.
  • Quan trọng là ở bước cuối cùng, trong phần Column data format, bạn chọn Date và chọn định dạng số (ví dụ: General hoặc Number). Excel sẽ cố gắng nhận diện và chuyển đổi.

Cách 2: Sử dụng hàm SUBSTITUTE kết hợp với Value

Đây là cách mình thấy linh hoạt và mạnh mẽ hơn, đặc biệt khi dữ liệu có nhiều định dạng khác nhau. Bạn có thể dùng công thức kết hợp:

=VALUE(SUBSTITUTE(SUBSTITUTE(A1,'.',''),',',''))

Giải thích:

  • Giả sử số liệu gốc ở ô A1.
  • SUBSTITUTE(A1,'.',''): Loại bỏ tất cả dấu chấm.
  • SUBSTITUTE(...,',',''): Loại bỏ tất cả dấu phẩy khỏi kết quả trên.
  • VALUE(...): Chuyển đổi chuỗi kết quả thành số.

Bạn có thể lồng thêm các hàm SUBSTITUTE khác nếu có ký tự đặc biệt hoặc các đơn vị tiền tệ đi kèm. Ví dụ, nếu có ' USD':

=VALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,' USD',''),'.',''),',',''))

Cách này giúp chuẩn hóa hoàn toàn dữ liệu về dạng số để có thể tính toán. Hy vọng mẹo nhỏ này hữu ích cho các bạn khi xử lý dữ liệu!

Có ai có cách nào hay hơn hoặc gặp trường hợp phức tạp hơn không, chia sẻ thêm cho mọi người cùng học hỏi nhé!

2

Chào bạn, mình cũng hay gặp tình trạng dữ liệu "nhảy múa" như bạn mô tả. Mình thường dùng kết hợp hàm SUBSTITUTE để loại bỏ các ký tự không mong muốn, sau đó mới ép kiểu về số. Ví dụ, nếu muốn chuyển "1.234,56 USD" thành số, mình có thể làm như sau:

  =VALUE(SUBSTITUTE(SUBSTITUTE(A1,".",""),",","."))
  

Cách này có vẻ khá tương đồng với phương pháp bạn đang dùng. Bạn có thể chia sẻ thêm chi tiết về cách bạn xử lý các trường hợp có nhiều ký tự đặc biệt khác không? Rất tò mò muốn học hỏi thêm!

4

Mình cũng hay gặp tình huống dở khóc dở cười với dữ liệu kiểu này. Cách bạn chia sẻ nghe có vẻ hay đó, mình cũng hay dùng SUBSTITUTE để dọn dẹp trước khi chuyển đổi.

Tiện đây, mình xin góp thêm một mẹo nhỏ nữa. Nếu dữ liệu có nhiều ký tự đặc biệt mà SUBSTITUTE lồng nhau hơi rối, mình có thể thử dùng kết hợp CLEANSUBSTITUTE để loại bỏ các ký tự không in được, sau đó mới xử lý dấu phẩy, dấu chấm. Đôi khi còn có thể dùng tính năng "Text to Columns" với dấu phân cách phù hợp nữa.

Bạn có thể chia sẻ kỹ hơn về các trường hợp "lạ" nhất mà bạn từng gặp và cách bạn xử lý chúng không? Rất muốn học hỏi thêm kinh nghiệm từ bạn!

3

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký