Cần giúp đỡ về trim khoảng trắng, convert unicode (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

LuisNguyen

Thành viên mới
Tham gia
24/8/15
Bài viết
8
Được thích
0
mình có 1 file chứa danh mục thuốc được sử dụng trong 1 bệnh viện
vấn đề là ở chỗ dữ liệu này là người dùng đưa lên bằng nhiều cách khác nhau: copy paste, nhập tay, xuất ra từ phần mềm... nên sẽ có tình trạng 1 ô có chứa text dạng unicode tổ hợp, ô khác lại chứa text dạng unicode dựng sẵn. chưa kể còn 1 số trường hợp dữ liệu bị khoảng trắng ở giữa, đầu, cuối đoạn text, ký tự xuống dòng giữa đoạn text
vì thế khi dùng file excel này mà import vào phần mềm của mình thì sẽ bị loạn dữ liệu, so sánh 1 chuỗi với 1 chuỗi khác bị sai. vậy cho mình hỏi có cách nào để chuẩn hoá dữ liệu từng cell trong file đó không? đoạn nào có font unicode thì convert hết về unicode dựng sẵn, đoạn nào có ký tự trắng ở đầu, cuối, giữa, ký tự xuống dòng thì trim white space các kiểu đi để nó về dạng thường. không biết trong excel có hỗ trợ cái này không?
thanks
 
mình có 1 file chứa danh mục thuốc được sử dụng trong 1 bệnh viện
vấn đề là ở chỗ dữ liệu này là người dùng đưa lên bằng nhiều cách khác nhau: copy paste, nhập tay, xuất ra từ phần mềm... nên sẽ có tình trạng 1 ô có chứa text dạng unicode tổ hợp, ô khác lại chứa text dạng unicode dựng sẵn. chưa kể còn 1 số trường hợp dữ liệu bị khoảng trắng ở giữa, đầu, cuối đoạn text, ký tự xuống dòng giữa đoạn text
vì thế khi dùng file excel này mà import vào phần mềm của mình thì sẽ bị loạn dữ liệu, so sánh 1 chuỗi với 1 chuỗi khác bị sai. vậy cho mình hỏi có cách nào để chuẩn hoá dữ liệu từng cell trong file đó không? đoạn nào có font unicode thì convert hết về unicode dựng sẵn, đoạn nào có ký tự trắng ở đầu, cuối, giữa, ký tự xuống dòng thì trim white space các kiểu đi để nó về dạng thường. không biết trong excel có hỗ trợ cái này không?
thanks

Giả sử ô A1 có dữ liệu có
+ text dạng unicode tổ hợp
Bạn gõ Ctrl - Shift - F6 để hiện hộp thoại chuyển bảng mã. Chọn nguồn và đích đều là Unicode. Rồi bạn thao tác chuyển bảng mã (chọn vùng,
gõ Ctrl - C, gõ Ctrl - Shift - F9, chọn ô ngoài
bảng, ví dụ Z1, gõ Ctrl - V).

Chú ý là xử lý này giữ nguyên Unicode, chỉ chuyển Unicode tổ hợp

+ ký tự xuống dòng giữa đoạn text
Tại AA1=CLEAN(Z1)
+ dữ liệu bị khoảng trắng ở giữa, đầu, cuối đoạn text
Tại AA1= TRIM(Z1)
Dồn cả 2 công thức: AA1=TRIM(CLEAN(Z1))

Rồi bạn chép vùng AA1:AAn, copy và Paste speacial Value.
 
Lần chỉnh sửa cuối:
Upvote 0
không có cách nào viết đoạn script VB để bỏ khoảng trắng với convert unicode tổ hợp à
bước đầu tiên của bạn là dùng bộ gõ unikey để convert font. vậy với 1 file excel 1000 dòng x 3 cột thì cũng phải làm như thế 3.000 lần à (giả sử có 3 cột trong tổng số 10 cột là có chứa ký tự unicode, còn lại là toàn số với ngày tháng năm chẳng hạn)
 
Upvote 0
không có cách nào viết đoạn script VB để bỏ khoảng trắng với convert unicode tổ hợp à
bước đầu tiên của bạn là dùng bộ gõ unikey để convert font. vậy với 1 file excel 1000 dòng x 3 cột thì cũng phải làm như thế 3.000 lần à (giả sử có 3 cột trong tổng số 10 cột là có chứa ký tự unicode, còn lại là toàn số với ngày tháng năm chẳng hạn)
Làm gì có chuyện làm 3000 lần. Bạn bắt tay vào làm thử chưa vậy?**~****~****~**
 
Upvote 0
không có cách nào viết đoạn script VB để bỏ khoảng trắng với convert unicode tổ hợp à
Có. Nhưng thao tác thủ công cũng hay

bước đầu tiên của bạn là dùng bộ gõ unikey để convert font. vậy với 1 file excel 1000 dòng x 3 cột thì cũng phải làm như thế 3.000 lần à (giả sử có 3 cột trong tổng số 10 cột là có chứa ký tự unicode, còn lại là toàn số với ngày tháng năm chẳng hạn)

Tôi đã viết
... Rồi bạn thao tác chuyển bảng mã (chọn vùng,
gõ Ctrl - C, gõ Ctrl - Shift - F9, chọn ô ngoài
bảng, ví dụ Z1, gõ Ctrl - V).
trong đó chọn vùng 10000 hàng, 30 cột cũng được.

Nếu chưa quen thử xem: Chọn 1 vùng lớn lớn, copy, chọn ô đâu đó, Paste.

Còn Paste Value thì bạn đã biết chưa???
 
Upvote 0
Web KT

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

Back
Top Bottom