Страницы: 1 2 След.
RSS
Как убрать пробелы только в конце текстовой строки?
 
Как можно формулой убрать пробелы в текстовой ячейке только в конце (далее примеры в кавычках - в реальных значениях кавычек нет)
"ул. Михайловская, 23/2 дом.1 "
"пл. Победы, д.152 "
"ул. Сомова, строение 4б "

нужно убрать формулой пробелы только в конце, т.е. вот так получается:
"ул. Михайловская, 23/2 дом.1"
"пл. Победы, д.152"
"ул. Сомова, строение 4б"
Изменено: Zhukov_K - 16.04.2013 13:02:32
 
сжпробелы()?
 
когда создавал первое сообщение в этой теме - там после текста было несколько пробелов, а после отсылки сообщения, видать внутренняя система форума их "порезала"
 
СЖПРОБЕЛЫ() сжимает, ну то есть удаляет все пробелы в текстовой ячейке, а все удалять не нужно (по разным причинам), нужно удалить только те пробелы, которые в конце, то есть только конечные пробелы
 
Функция удаляет не все пробелы. Одинарные в тексте остаются.

В конце один лишний пробел или несколько? Во всех ячейках одинаково?
Покажите пример в файле.
 
Я предлагаю так.
 
jakim, кавычки в примере только для форума))
 
Извините,но я не понял вопроса и не понимаю,как должно быть.
 
В ячейках только текст (без кавычек). Требуется убрать пробел после последнего символа.
 
вот то же самое в файле
 
Почти в тему еще раз всем настоятельно рекомендую БЕСПЛАТНУЮ надстройку Trim Spaces for Excel
Скачайте ее в интернете, она помимо всего прочего и непечатные "кракозябры" удаляет.
 
с помощью UDF
должна быть подключена билиотека
Tools\References\Microsoft VBScript Regular Expressions 5.5  ;)
 
Супер!!!! Работает! Спасибо!
 
Может так?
 
jakim, во второй строке неправильно. Найдите сами ошибку :)
 
за надстройку спасибо, но по причине того, что обрабатывать нужно значения в облсти сводной (а как известно, она не дает править внутри себя ячейки) я не могу ее использовать
нужно именно формулой, которая во вспомогательной строке будет обрабатывать текстовое значение из сводной
 
Обрабатывайте UDF в чем проблема?
 
Формула массива:
=ЛЕВСИМВ(A1;ДЛСТР(A1)-ПОИСКПОЗ(1=0;ПСТР(A1;ДЛСТР(A1)-СТРОКА($1:$100);1)=" ";0))
Редко но метко ...
 
Код
=ЛЕВСИМВ(A1;ПОИСК(ПРАВСИМВ(СЖПРОБЕЛЫ(A1);5);A1)+5)
удаляет все пробелы в конце строки.
 
GIG_ant, работает как надо, спасибо! )

Михаил С., практически то что надо! единственный "-" в том, что формула оставляет в конце текста один пробел
но есть вопрос к формуле: почему именно пять? тут ;5 и тут +5 ?
Изменено: Zhukov_K - 16.04.2013 16:59:00
 
UDF может быть очень простой:
Код
Function S(txt)
  S = RTrim(txt)
End Function

Использование: =S(A2)
Изменено: ZVI - 16.04.2013 17:12:44
 
Zhukov_K с маленьким дополнением к формуле Михаила, удаляет последний пробел)) =ЛЕВСИМВ(RC[-1];ПОИСК(ПРАВСИМВ(СЖПРОБЕЛЫ(RC[-1]);5);RC[-1])+4)
Изменено: moestrokir - 14.08.2015 12:50:52
 
Как то странно эта формула удаляет пробел
=ЛЕВСИМВ(RC[-1];ПОИСК(ПРАВСИМВ(СЖПРОБЕЛЫ(RC[-1]);5);RC[-1])+4)
Немного преобразовал ее в другой формат
=ЛЕВСИМВ(I2;ПОИСК(ПРАВСИМВ(СЖПРОБЕЛЫ(I2);5);I2)+4)
Если в тексте есть дублирующиеся или однокоренные слова, то формула обрезает текст
Например фраза "бассейн красивый бассейн " превращается во фразу "бассейн"
Можно это как то исправить?
 
Как просите, так и работает.
СЖПРОБЕЛЫ удаляет пробел  в конце строки
ПРАВСИМВ(СЖПРОБЕЛЫ(I2);5) = "ссейн"
ПОИСК("ссейн";I2)+4 = 3+4 = 7
=ЛЕВСИМВ(I2;7) что Вам покажет?

Зачем весь этот огород. если нужно удалить пробел в конце строки?
 
=ЛЕВСИМВ(I2;7) показывает "бассейн"

А каким способом еще удалить пробелы на конце?
Формула {=ЛЕВСИМВ(A1;ДЛСТР(A1)-ПОИСКПОЗ(1=0;ПСТР(A1;ДЛСТР(A1)-СТРОКА($1:$100);1)=" ";0))} из поста GIG_ant тоже не работает
Она я так понял просто убирает последний символ и если в строчке не было пробела на конце, то удаляется последняя буква
"бассейн красивый бассейн" превращается во фразу "бассейн красивый бассей"

С этой формулой еще один вопрос. В каком формате она записана в файле Последние_пробелы_ненужны (1).xls ?
При попытке править эту формулу боковые фигурные скобки пропадают и выдается ошибка #Н/Д
Использую Excel 2016
 
Цитата
fjeka написал: =ЛЕВСИМВ(I2;7) показывает "бассейн"
А Вы что хотели получить от функции, которая берет из текста 7 левых символов?

Цитата
fjeka написал: А каким способом еще удалить пробелы на конце?
СЖПРОБЕЛЫ удаляет пробелы слева, справа и  множественный пробел в тексте превращает в один пробел. Это подходит?
Цитата
vikttur написал: Функция удаляет не все пробелы. Одинарные в тексте остаются.

Цитата
боковые фигурные скобки
это признак того, что формула введена как формула массива. Поищите по форуму, как вводится формула массива.
 
vikttur, Большое спасибо!
Все оказалось так просто)))
Действительно мне подошла функция СЖПРОБЕЛЫ
Спасибо!
 
Цитата
fjeka написал:
Действительно мне подошла функция СЖПРОБЕЛЫ
вам её в первом же ответе предложили
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Добрый день. А можете подсказать формулу, которая удаляет пробелы в конце строки, но при этом не удаляет дублирующиеся пробелы. В 1С номенклатура часто встречается с дублирующимися пробелами и чтобы ее списком сравнить с чем-то еще, мне нужно их сохранять, но при этом удить ", " или просто "," в конце строки, там по разному бывает.
 
А вы можете прочитать тему, и взять нужную формулу?
Страницы: 1 2 След.
Наверх