Apa rumus untuk menghapus spasi putih dari sel Excel saat trim tidak berfungsi?

10

Saya memiliki tabel data Excel yang saya salin dari tabel html di Internet Explorer. Kolom nilai tabel semua tampaknya memiliki ruang di ujungnya, tetapi Trimtidak akan menghapusnya. Ketika saya menempel-khusus nilai hasil dari Trimfungsi, itu masih memiliki spasi putih di ujungnya.

Mungkinkah itu semacam karakter spasi putih yang Trimtidak dihapus?

Sangat Tidak Teratur
sumber
1
Jika Anda melihatnya dalam mode di mana Anda dapat melihat karakter seperti apa yang ada, tipe karakter apa yang tidak dihapus?
soandos
jika Anda = LEN (CELL) lalu apa kembalinya?
kobaltz
1
Karena penasaran, berapakah nomor ASCII dari karakter terakhir? Gunakan =CODE(RIGHT(A1,1))(dengan asumsi A1ada teks yang bermasalah) untuk melihatnya. Spasi adalah 32, Tab adalah 9, dan karakter baris baru adalah 10 dan 13.
Hand-E-Food
1
@ Hand-E-Food, hasil dari fungsi itu adalah 160
Sangat Tidak Beraturan
@ kobaltz, = LEN (CELL) mengembalikan 9. Nilai sel adalah (tanpa tanda kutip ganda) "010-0000", tetapi trim tampaknya tidak menghapus karakter terakhir. Salin dan tempel untuk memberi nilai di sini mungkin dimodifikasi menjadi spasi oleh browser saya, atau cara lain ...
Sangat Tidak Beraturan

Jawaban:

17

Karakter 160 adalah ruang tanpa putus , karakter yang dirancang agar terlihat seperti ruang tetapi masih menjadi bagian dari kata, memaksa kata-kata yang berdekatan untuk tetap bersama. Anda dapat mengonversinya menjadi ruang biasa dan kemudian menggunakan trim.

Dengan asumsi teks dalam A1, gunakan:

=TRIM(SUBSTITUTE(A1, CHAR(160), " "))
Makanan Tangan
sumber
2
+1. Tautan ini adalah referensi yang bermanfaat . Cukup sering CLEAN, TRIMdan SUBSTITUTEsemuanya diperlukan untuk berurusan dengan string
brettdj
1

Jika hanya memiliki satu ruang dan mari kita asumsikan bahwa kolom tersebut adalah 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)
kobaltz
sumber
Jika memang seperti itu, maka trim akan bekerja ...
soandos
Dan dari apa yang ditunjukkan oleh komentar, ini akan berhasil juga.
kobaltz
1
Karena kamu beruntung. Bisa jadi ada lebih dari satu karakter di sana, dan Anda tidak akan pernah tahu. Selain itu, jawaban yang lain berhubungan dengan itu di mana pun di dalam sel itu terjadi, membuatnya menjadi jawaban umum yang jauh lebih baik dalam hal apa pun.
soandos
Kecuali jika ada sesuatu seperti ASCII 160 dan ASCII 161. Sedangkan, jika Anda tahu panjang setiap string dan Anda melihat bahwa itu salah satu dari yang diharapkan, secara pribadi saya tidak melihat masalah dengan ini. Saya terbuka untuk mencoba dan memahami pandangan Anda, tetapi kedua solusi memiliki keterbatasan di lingkungan yang berbeda.
kobaltz
Sepakat. Saya kira saya lebih suka jawaban yang lain karena dia mengidentifikasi masalah, dan kemudian menyelesaikannya. Anda memiliki solusi untuk sesuatu yang memecahkan masalah serupa. Saya mengerti maksud Anda, +1.
soandos
0

Saya menyarankan akan lebih mudah untuk memilih seluruh lembar kerja dan menggunakan Ganti (Ctrl + H) untuk mengganti setiap ruang tanpa-putus (NBSP) dengan spasi. Ini masih menyisakan ruang di ujung sel, tetapi hindari mengeluarkan NBSP dari tengah sel. Anda masih membutuhkan Trim tetapi itu lebih mudah daripada TRIM (SUBSTITUTE (...)).

Saya pikir saya bisa memasuki NBSP menggunakan Alt + 160 tetapi tidak berhasil untuk saya. Saya harus menggunakan Simbol Sisipkan untuk menempatkan NBSP ke dalam sel, menyalinnya dari sana dan menjatuhkannya ke bidang Temukan apa.

Dengan Simbol Sisipkan, NBSP adalah sel kosong di baris ketiga di bawah 4.

Jika ini merupakan masalah berulang, Anda bisa menggunakan perekam makro untuk menyimpan Ganti. Namun, mungkin lebih baik untuk menulis makro yang menggunakan FIND untuk menemukan NBSP di mana saja dalam string apa pun dan baik menggantinya dengan spasi atau menghapusnya sesuai dengan posisinya dalam string. Makro ini perlu diulang sampai FIND gagal.

Tony Dallimore
sumber
Anda bisa mengetik NBSP dengan Alt + 0160. Angka satu hingga tiga digit adalah ASCII, angka empat digit adalah unicode.
Hand-E-Food
Saya menyerah begitu itu tidak berhasil. Komentar Anda membujuk saya untuk mencoba lagi. Saya lupa itu hanya bekerja dengan tombol angka yang pada laptop di tengah keyboard. Saya akan mencoba mengingat waktu berikutnya saya harus memasukkan karakter dengan cara ini. Terima kasih untuk promptnya.
Tony Dallimore
0

Coba fungsi CLEAN (x) - ini menghilangkan semua masalah itu, terutama di mana Anda memiliki campuran 161, 160 dll.

Sarah
sumber
tidak, tidak. tidak bekerja dengan 160 pasti.
robotik