Công thức để loại bỏ khoảng trắng khỏi một ô Excel khi trim không hoạt động là gì?


10

Tôi có một bảng dữ liệu Excel mà tôi đã sao chép từ một bảng html trong Internet Explorer. Tất cả các cột của các giá trị bảng dường như có một khoảng trắng ở cuối chúng, nhưng Trimsẽ không xóa nó. Khi tôi dán đặc biệt giá trị của kết quả của Trimhàm, nó vẫn có khoảng trắng ở cuối.

Nó có thể là một số loại ký tự khoảng trắng khác Trimkhông loại bỏ?


1
Nếu bạn nhìn vào nó trong chế độ mà bạn có thể thấy loại nhân vật nào ở đó, loại nhân vật nào không bị loại bỏ?
soandos

nếu bạn làm = LEN (CELL) thì nó trả về cái gì?
kobaltz

1
Vì tò mò, số ASCII của nhân vật cuối cùng là gì? Sử dụng =CODE(RIGHT(A1,1))(giả sử A1contians văn bản có vấn đề) để xem nó. Không gian là 32, Tab là 9 và các ký tự dòng mới là 10 và 13.
Hand-E-Food

1
@ Hand-E-Food, kết quả của chức năng đó là 160
Rất bất thường

@kobaltz, = LEN (CELL) trả về 9. Giá trị ô là (không có dấu ngoặc kép) "010-0000", nhưng trim dường như không xóa ký tự cuối cùng. Bản sao và dán để đặt giá trị ở đây cũng có thể được sửa đổi thành khoảng trắng bởi trình duyệt của tôi hoặc một số phương tiện khác ...
Rất bất thường

Câu trả lời:


17

Ký tự 160 là một không gian không phá vỡ , một ký tự được thiết kế trông giống như một khoảng trắng nhưng vẫn là một phần của từ, buộc các từ liền kề phải ở cùng nhau. Bạn có thể chuyển đổi chúng thành không gian thông thường và sau đó sử dụng trim.

Giả sử văn bản đang ở A1, sử dụng:

=TRIM(SUBSTITUTE(A1, CHAR(160), " "))

2
+1. Liên kết này là một tài liệu tham khảo hữu ích . Rất thường xuyên CLEAN, TRIMSUBSTITUTEtất cả đều cần thiết để xử lý chuỗi
brettdj

1

Nếu nó chỉ có một khoảng trắng và giả sử rằng cột là A.

A1= "CELL A1 "
A2= "CELL A2 "

Then B1 would be =LEFT(A1, LEN(A1)-1)
Then B2 would be =LEFT(A2, LEN(A2)-1)

Nếu đó là như vậy, thì trim sẽ hoạt động ...
soandos

Và từ những gì các ý kiến ​​chỉ ra, điều này cũng sẽ làm việc tốt.
kobaltz

1
Bởi vì bạn đã gặp may mắn. Có thể có nhiều hơn một nhân vật ở đó, và bạn sẽ không bao giờ biết được. Ngoài ra, câu trả lời khác liên quan đến nó bất kể nó xảy ra ở đâu trong tế bào, làm cho nó trở thành một câu trả lời chung tốt hơn nhiều trong mọi trường hợp.
soandos

Trừ khi nó có cái gì đó giống như ASCII 160 và ASCII 161. Trong trường hợp, nếu bạn biết độ dài của mỗi chuỗi và bạn thấy rằng đó là một trong những gì được mong đợi, cá nhân tôi không thấy vấn đề này. Tôi sẵn sàng thử và hiểu quan điểm của bạn, nhưng cả hai giải pháp đều có những hạn chế trong các môi trường khác nhau.
kobaltz

Đã đồng ý. Tôi đoán tôi thích câu trả lời khác hơn vì anh ấy đã xác định được vấn đề, và sau đó giải quyết nó. Bạn có một giải pháp cho một cái gì đó giải quyết các vấn đề tương tự. Tôi thấy quan điểm của bạn, +1.
soandos

0

Tôi đề nghị sẽ dễ dàng hơn khi chọn toàn bộ bảng tính và sử dụng Thay thế (Ctrl + H) để thay thế mọi không gian không ngắt (NBSP) bằng một khoảng trắng. Điều này vẫn để lại khoảng trống ở cuối các ô nhưng tránh loại bỏ NBSP khỏi giữa các ô. Bạn vẫn cần Trim nhưng điều đó dễ hơn TRIM (SUBSTITUTE (...)).

Tôi nghĩ rằng tôi sẽ có thể nhập NBSP bằng Alt + 160 nhưng nó không hoạt động với tôi. Tôi đã phải sử dụng Chèn Biểu tượng để đặt NBSP vào một ô, sao chép nó ra khỏi đó và thả nó vào trường Tìm gì.

Với Chèn Biểu tượng, NBSP là ô trống trên dòng thứ ba dưới 4.

Nếu đây là sự cố lặp lại, bạn có thể sử dụng trình ghi macro để lưu Thay thế. Tuy nhiên, tốt hơn là viết một macro sử dụng TÌM để định vị NBSP ở bất kỳ đâu trong bất kỳ chuỗi nào và thay thế nó bằng khoảng trắng hoặc xóa nó theo vị trí của nó trong chuỗi. Macro này sẽ cần phải lặp cho đến khi TÌM thất bại.


Bạn có thể nhập NBSP bằng Alt + 0160. Các số từ một đến ba chữ số là ASCII, các số có bốn chữ số là unicode.
Thực phẩm điện tử

Tôi đã từ bỏ ngay khi nó không hoạt động. Nhận xét của bạn đã thuyết phục tôi thử lại. Tôi đã quên nó chỉ hoạt động với bàn phím số trên máy tính xách tay ở giữa bàn phím. Tôi sẽ cố nhớ lần sau khi tôi cần nhập một nhân vật theo cách này. Cảm ơn đã nhắc nhở.
Tony Dall Morph

0

Hãy thử chức năng SẠCH (x) - nó sẽ loại bỏ tất cả các guff đó, đặc biệt là khi bạn có kết hợp 161, 160, v.v.


không nó không. đã không làm việc với 160 chắc chắn.
robotik
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.