Chào các bạn, mình là thành viên mới của diễn đàn. Dạo gần đây mình có làm việc với nhiều file Excel từ các nguồn khác nhau, chủ yếu là dữ liệu từ nước ngoài. Vấn đề mình gặp phải là định dạng số thập phân (dấu chấm hay dấu phẩy) đôi khi không khớp với cài đặt vùng (locale) của máy tính mình, dẫn đến việc các hàm tính toán bị lỗi hoặc hiển thị sai.
Ví dụ, ở Việt Nam mình quen dùng dấu phẩy làm dấu thập phân (ví dụ: 1,23) và dấu chấm làm dấu phân tách hàng nghìn (ví dụ: 1.234,56). Tuy nhiên, nhiều file quốc tế lại dùng dấu chấm cho thập phân (ví dụ: 1.23) và dấu phẩy cho hàng nghìn (ví dụ: 1,234.56).
Thay đổi cài đặt vùng của Windows hoặc Excel thì bất tiện lắm, vì nó ảnh hưởng đến toàn bộ hệ thống. Mình đã tìm tòi và phát hiện ra một cách khá hay để xử lý vấn đề này mà không cần thay đổi cài đặt hệ thống, đó là sử dụng kết hợp hàm SUBSTITUTE và VALUE (hoặc NUMBERVALUE).
Giả sử bạn có một dãy số dạng văn bản trong ô A1, ví dụ "1,234.56" (theo định dạng của Mỹ) và bạn muốn Excel hiểu nó như một số theo định dạng của Việt Nam.
Bạn có thể dùng công thức sau:
=VALUE(SUBSTITUTE(A1,",","."))Hoặc để an toàn hơn với các số nguyên và xử lý cả dấu phân tách hàng nghìn:
=NUMBERVALUE(SUBSTITUTE(A1,".",""), ",", ".")Giải thích:
SUBSTITUTE(A1,".",""): Loại bỏ dấu chấm phân tách hàng nghìn.SUBSTITUTE(..., ",", "."): Thay dấu phẩy (hàng nghìn trong văn bản gốc) bằng dấu chấm (hàng nghìn theo chuẩn VN). *Lưu ý: Tuỳ thuộc vào dữ liệu gốc bạn cần điều chỉnh tham số thứ 2 và 3 của SUBSTITUTE cho phù hợp.*VALUE(...)hoặcNUMBERVALUE(..., ",", "."): Chuyển đổi chuỗi văn bản đã được chuẩn hóa về đúng định dạng số thập phân của Excel (theo cài đặt máy).
Cách này rất hữu ích khi bạn cần xử lý dữ liệu nhập từ nhiều nguồn khác nhau mà không muốn đụng vào cài đặt hệ thống. Hy vọng chia sẻ này giúp ích được cho các bạn!