PDA

View Full Version : Xóa Khoảng Trắng



heocon
21-12-07, 06:17 PM
Em có 1 file dữ liệu được xuất ra từ 1 ứng dụng, làm sao để có thể xóa khoảng trắng trong Cell được. Em đã dùng hàm Trim() rồi nhưng ko có tác dụng.
Anh chị nào biết cách xin chỉ dùm.

Thanks

Thân!

kongcom
21-12-07, 06:34 PM
Của bạn đây .

Data ----> Text to columns----->fix...

anhtuan1066
21-12-07, 07:25 PM
File này tôi thấy cũng thật kỳ lạ... tại sao hàm TRIM ko có tác dụng gì nhỉ? Khoảng trắng ko hề bị xóa đi, trong khi nếu ta tự gõ vào 1 chuổi nào đó có khoảng trắng 2 đầu thì hàm TRIM làm việc OK... Quả thật là lạ
Có ai biết vụ này là thế nào ko? Ngay cả bạn kingcom hướng dẫn tôi cũng chả làm dc... Hic...

anhtuan1066
21-12-07, 07:35 PM
Tôi phát hiện ra 1 chuyện... lý ra thì khoảng trắng có mã là 32 (khi dùng hàm CODE), nhưng khoảng trắng ở đầu chuổi trong file này lại có mã là 160 ???
Dùng hàm gì đễ hũy bỏ ký tự có mã 160 này nhỉ?
Ai dza!
ANH TUẤN

anhtuan1066
21-12-07, 07:41 PM
Ai cha cha... sau 1 hồi vò đầu bức tai, tôi đã tìm ra 1 công thức cho bạn đây:

=TRIM(SUBSTITUTE(B2,CHAR(160),""))
He... he... hồi đó giờ mới thấy vụ này đấy!
ANH TUẤN

tigertiger
21-12-07, 08:38 PM
Nếu đã phát hiện thế thì thế này cho ngắn gọn atuan ah (thêm TRIM làm gì?)


=SUBSTITUTE(B2,CHAR(160),"")


.

heocon
21-12-07, 09:22 PM
Chào các anh! hihi bài này buồn cười quá phải ko? Em tìmđủ mọi cách ko ra.
Cách làm của Kongcom mình ko làm được, nhưng cũn rất cám ơn bạn đã quan tâm.

Trích Anh Tuấn


Tôi phát hiện ra 1 chuyện... lý ra thì khoảng trắng có mã là 32 (khi dùng hàm CODE), nhưng khoảng trắng ở đầu chuổi trong file này lại có mã là 160 ???

Dựa vào đâu để biết mã 32 hay 160 vậy anh. hàm Code() nghĩa là j vậy anh?

Oh em làm được rồi, cám ơn Anh Tuấn và Anh Tiger nhiều lắm.
2 anh có thể giải thích cấu trúc Hàm SUBSTITUTE() và hàm Char() cho em rõ thêm được ko?

Thanks!
Thân!

BNTT
21-12-07, 09:28 PM
Hàm CHAR (http://www.giaiphapexcel.com/forum/showpost.php?p=46650&postcount=3)()
Hàm SUBSTITUDE (http://www.giaiphapexcel.com/forum/showpost.php?p=47133&postcount=21)()

DOSNET
21-12-07, 10:23 PM
Dùng Text to columns theo hướng dẫn của Kongcom rất hay, chú ý một chút là làm được. Quy trình để loại bỏ khoàng trắng như sau: Bôi đen cột cần sửa và Data\text to columns:
Step1 :Chọn Fixed Width
Step2 : Trong vùng Data preview, click chuột vào ký tự đầu tiên (sẽ xuất hiện mũi tên hướng lên trên) đó chính là vị trí căn lề trái, vậy để loại bỏ khoảng trắng cần chọn mũi tên sát lề bên trái ký tự đầu tiên.
Step3 : bấm next
Step 4: Finish.
Ta được một cột dữ liệu như ý không có khoảng trắng đầu dòng
---------------------------------------------------------------
P/s : Cám ơn Kongcom chia sẻ kinh nghiệm này.

ptm0412
21-12-07, 11:14 PM
Bôi đen cột cần sửa và Data\text to columns:
Step1 :Chọn Fixed Width
Step2 : Trong vùng Data preview, click chuột vào ký tự đầu tiên (sẽ xuất hiện mũi tên hướng lên trên) đó chính là vị trí căn lề trái, vậy để loại bỏ khoảng trắng cần chọn mũi tên sát lề bên trái ký tự đầu tiên.
Step3 : bấm next
Step 4: Finish.
Ta được một cột dữ liệu như ý không có khoảng trắng đầu dòng

Vẫn còn khoảng trắng cuối dòng. Giải quyết khoảng trắng cuối dòng sẽ không triệt để vì các cell có độ dài chuỗi có nghĩa không bằng nhau ( dù độ dài kể cả khoảng trắng là bằng nhau, bằng độ rộng trường dữ liệu quy định bởi phần mềm):
- Nếu tạo mũi tên sau ký tự có nghĩa cuối của 1 cell có độ dài chuỗi có nghĩa lớn nhất, các cell còn lại sẽ còn 1 vài khoảng trắng.
- Nếu tạo mũi tên sau ký tự có nghĩa của cell khác, cell có độ dài lớn hơn bị tách ra 2 cell nằm ở 2 cột.
- Các ký tự trắng cuối chuỗi và đầu chuỗi cũng không mất đi: Các ký tự đầu chuỗi nằm tại chỗ, chuỗi có nghĩa bị đẩy sang cột 2, các ký tự trắng cuối chuỗi bị đẩy sang cột 3. như vậy áp dụng PP này coi chừng bị mất dữ liệu 2 cột sau.
Vậy làm theo anhtuan1066 là đúng nhất.

Mình có xem lại code 160: ký tự có code 160 Font loại nào cũng có, đó là ký tự No - Break Space. Không biết nó dùng để làm gì nữa. Nhưng mình có thể đoán ông Programmer cho 1 lệnh lấp mọi chỗ trống trong trường dữ liệu kiểu Text bằng ký tự này. Để làm gì thì cũng không biết luôn.
Nói thêm: Một số ngôn ngữ lập trình mặc định sẽ làm vậy với trường kiểu text, nhưng với ký tự code 32.

kongcom
21-12-07, 11:47 PM
ký tự No - Break Space có lẽ giống trong tin nhắn điện thoại . Mình để ý khi soạn tin nhắn nhân số 1 có kí tự rỗng không phãi là khoảng cách như khi nhấn phím 0 .

anhtuan1066
22-12-07, 07:18 AM
Nếu đã phát hiện thế thì thế này cho ngắn gọn atuan ah (thêm TRIM làm gì?)

Ê... phải TRIM chứ đồng chí... ko có nó làm sao loại bỏ khoảng trắng có mã 32 dc đây... bạn mở file ra thì biết liền... cuối chuổi vẫn còn khoảng trắng đấy
Với Heocon: Sở dĩ tôi biết dc khoảng trắng đầu có mã là 160 là do khi tôi dùng hàm TRIM ko dc tôi nghĩ ngay cái khoảng trắng đầu này có gì đó rất kỳ lạ... thế là tôi copy khoảng trắng đầu dòng ấy rồi paste vào 1 cell khác, dùng hàm CODE với cell này cho ra kết quả 160, trong khi loại khoảng trắng bình thường do ta gõ phím Space bar lại cho mã 32
-Hàm CODE và CHAR thường đi 1 cặp, đại khái 1 cái đỗi ký tự thành mã số, cái kia đỗi mã số thành ký tự... bạn tham khảo thêm bài viết của BNTT nhé!
Mến
ANH TUẤN

QuocPhong
24-12-07, 10:12 AM
Mình nghĩ là bạn heocon muốn đố các bạn thôi.
Các khoảng trắng đó được tạo ra bằng cách gõ tổ hợp phím Alt+255

tigertiger
24-12-07, 11:21 AM
Mình nghĩ là bạn heocon muốn đố các bạn thôi.
Các khoảng trắng đó được tạo ra bằng cách gõ tổ hợp phím Alt+255


oh chính xác là Alt+0160 bạn ah
Chắc là không vui đâu, có nx CT người viết để ký tự đó vào trang trí

salam
24-12-07, 11:40 AM
Khoảng trắng ở đây chắc là insert symbol rồi => không dùng Trim được.

nguyentuhp
29-12-07, 12:23 AM
Em có 1 file dữ liệu được xuất ra từ 1 ứng dụng, làm sao để có thể xóa khoảng trắng trong Cell được. Em đã dùng hàm Trim() rồi nhưng ko có tác dụng.
Anh chị nào biết cách xin chỉ dùm.

Thanks

Thân!

Tốt nhất bạn chạy Code VBA, bạn thử dùng cái này đảm bảo thực hiện 100%! (RemoveSpaceText)
}}}}}

thuanle2309
06-03-15, 10:48 AM
Em cũng có file dùng TRIM để bỏ khoảng trắng dư cuối cùng cũng không được.
Các thánh giúp em với!!!

comet_1701
06-03-15, 10:55 AM
Em cũng có file dùng TRIM để bỏ khoảng trắng dư cuối cùng cũng không được.
Các thánh giúp em với!!!

=TRIM(SUBSTITUTE(C2,CHAR(160),CHAR(32)))
Bạn dùng công thức này sẽ hết

kbw1
06-03-15, 10:57 AM
Ai cha cha... sau 1 hồi vò đầu bức tai, tôi đã tìm ra 1 công thức cho bạn đây:

=TRIM(SUBSTITUTE(B2,CHAR(160),""))
He... he... hồi đó giờ mới thấy vụ này đấy!
ANH TUẤN
Bạn đỉnh thật.
Mình cũng đang gặp vụ này. Ko biết xử lý sao.
Bạn giải thích công thức của bạn cho mình được ko.

Ba Tê
06-03-15, 11:04 AM
Em cũng có file dùng TRIM để bỏ khoảng trắng dư cuối cùng cũng không được.
Các thánh giúp em với!!!
Sao lại nhờ các "thánh"? Người phàm sao dám giúp? Nếu giúp thì tự nhận mình là thánh sao?
Những bài "nhờ cao nhân", "nhờ cao thủ",.... đều "dị ứng" tương tự.
Thấy bạn mới post bài lần đầu nên nhắc vậy thôi. Lần sau chắc không ai giúp đâu.
Dấu cách cuối trong file của bạn (nếu có) không phải là Char(32) nên hàm Trim() không xử lý, vì nó là Char(160).
Bạn thay công thức cho ô E2

=SUBSTITUTE(C2;CHAR(160);"")

kbw1
06-03-15, 11:09 AM
Vấn đề này mình nghĩ ko phải tự nhiên ng ta tạo ra.
Vì mình dùng 1 phần mềm khi kết xuất ra cũng gặp điều tương tự. Mình rất khó chịu về nó.

thuanle2309
06-03-15, 11:09 AM
Thanks bác nhiều nhé.
Giờ em đã hiểu cũng bị dính char(160) nên (Tờ rim) nó không hiểu.
Cám ơn bác 1 lần nữa.--=0--=0--=0


Sao lại nhờ các "thánh"? Người phàm sao dám giúp? Nếu giúp thì tự nhận mình là thánh sao?
Những bài "nhờ cao nhân", "nhờ cao thủ",.... đều "dị ứng" tương tự.
Thấy bạn mới post bài lần đầu nên nhắc vậy thôi. Lần sau chắc không ai giúp đâu.
Dấu cách cuối trong file của bạn (nếu có) không phải là Char(32) nên hàm Trim() không xử lý, vì nó là Char(160).
Bạn thay công thức cho ô E2

=SUBSTITUTE(C2;CHAR(160);"")

kbw1
06-03-15, 11:10 AM
Sao lại nhờ các "thánh"? Người phàm sao dám giúp? Nếu giúp thì tự nhận mình là thánh sao?
Những bài "nhờ cao nhân", "nhờ cao thủ",.... đều "dị ứng" tương tự.
Thấy bạn mới post bài lần đầu nên nhắc vậy thôi. Lần sau chắc không ai giúp đâu.
Dấu cách cuối trong file của bạn (nếu có) không phải là Char(32) nên hàm Trim() không xử lý, vì nó là Char(160).
Bạn thay công thức cho ô E2

=SUBSTITUTE(C2;CHAR(160);"")
Vs người thường thì vấn đề đấy quá khó.
Nói thánh thực ra ko phải mê tín dị đoan. Chỉ là sự ngưỡng mộ vượt ngoài sức tưởng tượng thôi.

comet_1701
06-03-15, 11:12 AM
Thanks bác nhiều nhé.
Giờ em đã hiểu cũng bị dính char(160) nên (Tờ rim) nó không hiểu.
Cám ơn bác 1 lần nữa.--=0--=0--=0
http://www.anhgolden.com/2012/10/excel-ham-trim-loai-bo-khoang-trang.html
Bạn xem link này sẽ rõ hơn

thuanle2309
06-03-15, 11:18 AM
Bác nói đúng. Chí lý.
Chỉ đơn giản là ngưỡng mộ thôi.
Hihihi


Vs người thường thì vấn đề đấy quá khó.
Nói thánh thực ra ko phải mê tín dị đoan. Chỉ là sự ngưỡng mộ vượt ngoài sức tưởng tượng thôi.

Ba Tê
06-03-15, 11:27 AM
Bác nói đúng. Chí lý.
Chỉ đơn giản là ngưỡng mộ thôi.
Hihihi

Vs người thường thì vấn đề đấy quá khó.
Nói thánh thực ra ko phải mê tín dị đoan. Chỉ là sự ngưỡng mộ vượt ngoài sức tưởng tượng thôi.

Như tôi đã viết ở bài trên, chỉ là nhắc nhở vì bạn là thành viên mới.
Tôi nhận thấy, Các thành viên GPE (đa số) rất dị ứng với kiểu viết, giao tiếp, mà nhiều người nghĩ rằng nó hiện đại như chêm tiếng nước ngoài trong câu văn (pro, thank, vs, help me,...), viết tắt bằng ký hiệu chát chít (bít, mng,...), ... xưng hô "khách sáo như trong phim cổ trang" (đại ca, đại tỷ, sư huynh đệ...), ... trong khi mình chưa biết họ là ai, làm gì, lớn nhỏ....
Tất cả đơn giản xưng hô nhau là "bạn, tôi" chẳng ai phiền trách. Trừ khi mình đã biết rõ và đã gặp gỡ người đó.

Còn chuyện rút kinh nghiệm khi muốn viết bài trên GPE hay không là tùy người.

kbw1
06-03-15, 11:43 AM
Như tôi đã viết ở bài trên, chỉ là nhắc nhở vì bạn là thành viên mới.
Tôi nhận thấy, Các thành viên GPE (đa số) rất dị ứng với kiểu viết, giao tiếp, mà nhiều người nghĩ rằng nó hiện đại như chêm tiếng nước ngoài trong câu văn (pro, thank, vs, help me,...), viết tắt bằng ký hiệu chát chít (bít, mng,...), ... xưng hô "khách sáo như trong phim cổ trang" (đại ca, đại tỷ, sư huynh đệ...), ... trong khi mình chưa biết họ là ai, làm gì, lớn nhỏ....
Tất cả đơn giản xưng hô nhau là "bạn, tôi" chẳng ai phiền trách. Trừ khi mình đã biết rõ và đã gặp gỡ người đó.

Còn chuyện rút kinh nghiệm khi muốn viết bài trên GPE hay không là tùy người.
Cần có ko khí tươi mới bạn ạ.
Bạn có thể trả lời câu hỏi mình đã hỏi ko.

VetMini
06-03-15, 12:04 PM
Cần có ko khí tươi mới bạn ạ.
Bạn có thể trả lời câu hỏi mình đã hỏi ko.

Đối với bạn là không khí tươi mới. Đối với người yêu tiếng Việt như tôi là một sự bực bội.


Vấn đề này mình nghĩ ko phải tự nhiên ng ta tạo ra.
Vì mình dùng 1 phần mềm khi kết xuất ra cũng gặp điều tương tự. Mình rất khó chịu về nó.

Đọc một câu hỏi rõ ràng, hiểu được đã là một điều khó. Điọc một câu hỏi viết tắt tùm lum cái khó tăng gấp đôi.
Bạn là người hỏi thì phải chịu khó học cách làm cho người ta cảm thấy thích trả lời chứ.