Яка формула для видалення пробілів з комірки Excel, коли обробка не працює?


10

У мене є таблиця даних Excel, яку я скопіював із таблиці html в Internet Explorer. У всіх стовпцях значень таблиці є пробіл у кінці, але Trimїх не буде видалено. Коли я вставляю-спеціальне значення результату Trimфункції, воно все ще має пробіл на кінці.

Чи може це бути якийсь інший символ пробілу, Trimякий не видаляється?


1
Якщо ви подивитесь на це в режимі, де ви можете бачити, які там символи, який тип символів не видаляється?
soandos

якщо ви робите = LEN (CELL), що це повертає?
кобальц

1
З цікавості, що таке номер ASCII останнього символу? Використовуйте =CODE(RIGHT(A1,1))(припускаючи, що A1континіє проблемний текст), щоб побачити його. Простір - 32, вкладка - 9, а нові символи рядків - 10 і 13.
Hand-E-Food

1
@ Hand-E-Food, результат цієї функції 160
сильно неправильний

@kobaltz, = LEN (CELL) повертає 9. Значення комірки є (без подвійних лапок) "010-0000", але обробка не видаляє останнього символу. Копіювати та вставляти сюди значення, можливо, може бути змінено, щоб це було пробілом у моєму браузері, або якимось іншим способом ...
Сильно нерегулярний

Відповіді:


17

Символ 160 - це нерозривний пробіл , символ, призначений виглядати як пробіл, але все-таки бути частиною слова, змушує сусідні слова залишатися разом. Ви можете конвертувати їх у звичайні пробіли, а потім використовувати обрізки.

Якщо припустити, що текст увімкнено A1, використовуйте:

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

2
+1. Це посилання є корисною посиланням . Досить часто CLEAN, TRIMі SUBSTITUTEвсе необхідні для роботи з рядками
brettdj

1

Якщо у нього просто один пробіл, і припустимо, що стовпець - це А.

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

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

Якби це було, то обробка спрацювала б ...
soandos

І з того, що свідчать коментарі, це спрацювало б так само добре.
кобальц

1
Тому що вам пощастило. Там могло бути більше одного персонажа, і ти ніколи б не знав. Крім того, інша відповідь стосується цього, незалежно від того, де в клітині він знаходиться, що робить його набагато кращою загальною відповіддю в будь-якому випадку.
soandos

Якщо тільки в ньому було щось на кшталт ASCII 160 та ASCII 161. Де як, якщо ви знаєте довжину кожного рядка і бачите, що це одне від очікуваного, особисто я не бачу проблеми з цим. Я готовий спробувати зрозуміти вашу думку, але обидва рішення мають свої обмеження в різних умовах.
кобальц

Домовились. Напевно, мені подобається інша відповідь більше, тому що він визначив проблему, а потім вирішив її. У вас є рішення чогось, що вирішує подібні проблеми. Я бачу вашу думку, хоч +1.
soandos

0

Я вважаю, що буде легше вибрати весь робочий аркуш і використовувати Замінити (Ctrl + H) для заміни кожного простору без розриву (NBSP) на пробіл. Це все ще залишає пробіли в кінці комірок, але уникайте видалення NBSP з середини комірок. Ви все одно потребуєте Trim, але це простіше, ніж TRIM (SUBSTITUTE (...)).

Я думав, що зможу ввести NBSP за допомогою Alt + 160, але це не спрацювало для мене. Мені довелося скористатись Insert Symbol, щоб помістити NBSP у клітинку, скопіювати її звідти та випустити у поле Find what.

З символом Вставка, NBSP - це порожня клітинка в третьому рядку під 4.

Якщо це проблема, що повторюється, ви можете скористатися макрореєстратором, щоб зберегти Замінити. Однак, може бути краще написати макрос, який використовує FIND для пошуку NBSP в будь-якій точці будь-якого рядка і або замінити його пробілом, або видалити відповідно до його положення в рядку. Цей макрос потребує циклу, доки FIND не завершиться.


Ви можете ввести NBSP за допомогою Alt + 0160. Одно- та трицифрові числа - це ASCII, чотирицифрові числа - однокодування.
Hand-E-Food

Я здався, як тільки це не спрацювало. Ваш коментар переконав мене спробувати ще раз. Я забув, що він працював лише з цифровою панеллю, що знаходиться на ноутбуці посередині клавіатури. Я спробую пригадати наступного разу, коли мені потрібно ввести персонажа таким чином. Дякуємо за підказку.
Тоні Даллімор

0

Спробуйте функцію CLEAN (x) - вона позбавиться від усіх цих гуфів, особливо там, де у вас є суміш 161, 160 і т.д.


ні, це не так. точно не працювали зі 160.
robotik
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.