Dữ liệu trong file không thể chuyển từ text thành số

Liên hệ QC

lecongtoan86

Thành viên mới
Tham gia
3/4/09
Bài viết
41
Được thích
14
Mình dùng nhiều cách mà vẫn không chuyển dữ liệu text thành số trong file này được. Nhờ các bạn giúp với!
 

File đính kèm

File của bạn không chuyển được do dữ liệu có ký tự lạ với mã code 63 nằm trong các con số. Theo suy đoán là do bạn copy trên internet dữ liệu và paste vào excel nên xảy ra hiện tượng trên. Để khắc phục bạn hãy làm chính xác các bước sau nhé:

1/ Gọi hộp thoại thay thế: Ctrl + H
2/ Copy một số bất kỳ trong dữ liệu (số có 2 chữ số) và paste vào ô Find What
3/ Di chuyển phím mũi tên 1 lần sang bên trái
4/ Bấm phím Backspace 5 lần
5/ Bấm replace all
 
Mình dùng nhiều cách mà vẫn không chuyển dữ liệu text thành số trong file này được. Nhờ các bạn giúp với!
Các chuỗi số của bạn không phải chỉ có 2 chữ số mà còn chứa 2 ký tự ở đầu có mã 8237 và 2 ký tự cuối có mã 8236. Vì vậy, để chuyển thành số, bạn có thể thực hiện một số cách sau:
Cách 1: Sử dụng công thức cho C1 và fill cho đủ: =MID(A1,3,2)*1

Cách 2: Sử dụng công cụ Replace: Chọn vùng A1:B19, nhấn Ctrl+H --> chọn ô Find what, giữ phím Alt và nhấn lần lượt các số 8237 ở bàn phím số (phía bên phải bàn phím máy bàn) --> để trống ô Replace with và nhấn Replace All. Tương tự cho ký tự có mã 8236.

Cách 3: Sử dụng code sau để thay thế:
PHP:
Sub Test()
    With Sheets("Sheet1").[A1:B19]
        .Replace ChrW(8237), ""
        .Replace ChrW(8236), ""
    End With
End Sub
 
Cảm ơn các bạn đã giúp. Mình đã sửa lại theo cả comet297 và nghiaphuc đều được.
Các bạn cho mình hỏi thêm là làm thế nào mà các bạn biết được có thêm 2 ký tự ẩn nữa thế?
 
Chọn cell bất kỳ, bấm F2 rồi bấm nút xóa lùi (Back Space) tự nhiên sẽ biết

Vâng, như vậy thì sẽ biết là có 2 ký tự ở cuối. F2 rồi ấn Home, Delete thì biết có 2 ký tự ở đầu. Nhưng em muốn biết làm thế nào mà biết được nó là ký tự 8237 và 8236 như bác nghiaphuc nói ạ
 
Vâng, như vậy thì sẽ biết là có 2 ký tự ở cuối. F2 rồi ấn Home, Delete thì biết có 2 ký tự ở đầu. Nhưng em muốn biết làm thế nào mà biết được nó là ký tự 8237 và 8236 như bác nghiaphuc nói ạ

Với các ký tự có mã > 255 thì phải dùng code VBA thôi
 
Cảm ơn các bạn đã giúp. Mình đã sửa lại theo cả comet297 và nghiaphuc đều được.
Các bạn cho mình hỏi thêm là làm thế nào mà các bạn biết được có thêm 2 ký tự ẩn nữa thế?
Sử dụng hàm LEN sẽ thấy độ dài của mỗi chuỗi đó là 6, có nghĩa là ngoài 2 chữ số bạn nhìn thấy thì chuỗi còn chứa 4 ký tự ẩn khác nữa. Tiếp theo, sử dụng hàm MID(Chuỗi,i,1) (với i=1,...6) sẽ biết được các ký tự ẩn đó nằm ở đâu trong chuỗi.
Vâng, như vậy thì sẽ biết là có 2 ký tự ở cuối. F2 rồi ấn Home, Delete thì biết có 2 ký tự ở đầu. Nhưng em muốn biết làm thế nào mà biết được nó là ký tự 8237 và 8236 như bác nghiaphuc nói ạ
Tiếp theo của việc sử dụng hàm MID ở trên, bạn chọn ô chứa ký tự ẩn (kết quả của hàm MID) --> nhấn Alt+F11 để vào cửa sổ soạn thảo VBA --> nhấn Ctrl+G và gõ vào: Msgbox AscW(Selection) --> nhấn Enter sẽ biết được mã của nó.
 
Nếu bạn phải vào VBA thì làm như thế này nhanh hơn:

1. Chọn ô có chuõi cần biết.
2. Nhấn Alt+F11 để vào VBA
3. Nhấn Ctrl+G để vào Immediate Windows
4. Gõ dòng này
? selection.value: for i = 1 to len(selection.value) : ? ascw(mid(selection.value,i,1)); : next i: ?
5. Sẽ thấy hiện ra code của từng ký tự trong chuỗi.

Muốn đọc chuỗi khác thì chọn ô ấy rồi trở lại của sổ này, click vào bất cứ vị trí nào trên dòng code và nhấn Enter.
 
Rất cảm ơn các anh đã giải đáp nhiệt tình!
 
Web KT

Bài viết mới nhất

Back
Top Bottom