Как найти пробел в конце строки

  • Обычная составная формула
  • Формулы массива для поиска символа с конца строки
    • С помощью МАКС
    • С помощью ПОИСКПОЗ

Как найти первый символ с конца строки?

Поиск позиции последнего вхождения значения внутри ячейки Excel – довольно сложная задача.

Тем не менее, иногда ее необходимо решить, например, чтобы удалить или заменить это вхождение.

Так а в чем же проблема?

Все дело в том, что функции поиска позиции ПОИСК и НАЙТИ ищут только с начала ячейки, и у них нет параметра переключения на поиск с конца.

Процедура Найти и Заменить также не подойдет. Она ищет не с конца строки, а просто находит (и заменяет) все вхождения.

Ниже я покажу пару способов, как осуществить поиск с конца строки.

Обычная составная формула

Формула, похожая на ту, что ниже, рассматривается подробно в статье о том, как удалить последнее слово в ячейке Excel. Поиск пробела с конца строки как раз является необходимым в этом случае.

Формула ниже ищет пробел с конца ячейки A1:

=ПОИСК(ЮНИСИМВ(23456);ПОДСТАВИТЬ(A1;" ";ЮНИСИМВ(23456);ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;" ";""))))

Как она работает:

  • Фрагмент, обозначенный красным цветом, вычисляет количество пробелов в ячейке. Подробнее можно почитать в описании функции ПОДСТАВИТЬ.
  • Это количество является аргументом еще одной подстановки, где заменяется лишь последний пробел (выделено жирным)
  • Вместо пробела в его последнюю позицию вставляется достаточно редкий символ. В данном случае это иероглиф, который создается функцией СИМВОЛ. Но можно и прописать символ вручную. В формуле ниже это обратная косая черта:
=ПОИСК("";ПОДСТАВИТЬ(A1;" ";"";ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;" ";""))))
  • Функция ПОИСК находит позицию этого символа. Поскольку он встречается в строке всего один раз и стоит на месте последнего пробела, это и позволяет нам сказать, что поиск произведен справа налево.

Если вам необходимо найти с конца строки какой-то другой символ или текстовый фрагмент, замените пробелы в этой формуле на него.

поиск с конца строки - формула
Примеры использования составной формулы для поиска с конца строки

Формулы массива для поиска символа с конца строки

Поиск слева направо с помощью функции ПОДСТАВИТЬ, описанный выше, имеет пару недостатков.

Первый – регистрозависимость этой функции, но это легко учесть, обернув нужные фрагменты функциями изменения регистра.

А второй уже серьезнее – формула не очень универсальна, т.к. использует замену на символ, который может оказаться в строке, и тогда она выдаст неверное значение.

От обоих проблем избавят формулы массива. Они обе создают массивы значений, внутри которых функция выбирает последнее.

С помощью МАКС

Формула ниже находит позицию символа “а” в любом регистре.

={МАКС((ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)="а")*СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1))))}
ВАЖНО:
Это формула массива!
Она вводится без фигурных скобок.
Но не клавишей Enter а сочетанием: 
Ctrl+Shift+Enter
После этого фигурные скобки появятся сами.
Если ввести формулу обычным способом, она не сработает.

Механика ее работы пошагово:

  1. Функция ДЛСТР измеряет длину ячейки в символах
  2. ДВССЫЛ создает из текстового представления длины ссылку на диапазон строк с 1 по строку, равную этой длине
  3. Функция СТРОКА возвращает массив чисел, соответствующих этим длинам, соответственно, {1;2;3;…”длина строки”}
  4. Функция ПСТР, обрабатывая этот массив, возвращает для каждого числа символ, стоящий на этой позиции в строке
  5. Текстовое сравнение с символом “а” возвращает булевый массив (значения ИСТИНА или ЛОЖЬ)
  6. Этот массив умножается на повторно созданный массив чисел (пункты 1:3). ЛОЖЬ эквивалентна нулю, а ИСТИНА – единице, поэтому для всех символов, не равных “а”, в результирующем числовом массиве будут нули, а для равных – их позиции
  7. Функция МАКС возвращает наибольшее число в этом массиве.

С помощью ПОИСКПОЗ

Чуть более хитрая механика делает формулу короче, вместе с тем существенно быстрее, а задействует функцию ПОИСКПОЗ:

{=ПОИСКПОЗ(2;1/(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)="а");1)}
ВАЖНО:
Это формула массива!
Она вводится без фигурных скобок.
Но не клавишей Enter а сочетанием: 
Ctrl+Shift+Enter
После этого фигурные скобки появятся сами.
Если ввести формулу обычным способом, она не сработает.

Здесь алгоритм такой:

  1. Как и в предыдущем варианте, с помощью тех же функций ДЛСТР, СТРОКА, ДВССЫЛ, ПСТР и текстового сравнения создается булевый массив;
  2. Но на этом этапе единица делится на него. ЛОЖЬ эквивалентна нулю и выдается ошибка деления на ноль. ИСТИНА возвращает единицу.
  3. Функция ПОИСКПОЗ с последним параметром “1” при поиске 2 (на месте 2 может быть любое число больше 1) возвращает позицию последнего наибольшего числа, меньшее, чем 2. Т.е. последней единицы, которой и соответствует последний найденный в строке символ.

Смотрите также по теме:

Формулы массива в Excel

Удалить последнее слово в ячейке

Найти и заменить первую букву в ячейке на заглавную


Предыдущая статья о формулах массива:

Учимся формулам массива 3/4:

Извлечь текст до первой цифры в ячейке

Часто сталкиваетесь с этой или похожими задачами при работе в Excel?
Сотни инструментов надстройки для Excel !SEMTools помогут вам упростить их решение и сэкономят ваше время!

Чтобы определить положение последнего пробела в строке надо с помощью формулы массива (для старых версий, начиная с Excel 2007 , вводится через CTRL+SHIFT+ENTER, новые Excel, с 2019 этого не требуют) составить формулу содержащую индекс каждого пробела в строке или ноль для других символов, а затем выбрать элемент с наибольшим значением.

Чтобы выбрать наибольший элемент в массиве значений подходит функция

=НАИБОЛЬШИЙ(массив; номер элемента)

Для самого большого значения (последний пробел) номер элемента равен 1

Для наибольшего значения меньше самого большого (предпоследний пробел) номер элемента равен 2 и так далее.

Чтобы последовательно сделать перебор всех символов строки воспользуемся массивом строк и функцией

=СТРОКА(ссылка на массив строк)

Массив строк можно задать статически для строк, имеющих одинаковую длину (элементы с индексами от 1 до 255):

=СТРОКА($1:$255)

или динамически (если строка в ячейке A1, элементы с индексами от 1 до последнего):

=СТРОКА( ДВССЫЛ( “1:”&ДЛСТР( A1 ))

Получаем такие формулы определяющие индекс последнего пробела строки

Статическая (рассматривает 255 элементов массива)

=НАИБОЛЬШИЙ( ЕСЛИ( ПСТР(A1; СТРОКА( $1:$255); 1)=” “; СТРОКА( $1:$255); 0); 1)

Динамическая (рассматривает с первого до последнего символа строки)

=НАИБОЛЬШИЙ( ЕСЛИ( ПСТР(A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР(A1))); 1)=” “; СТРОКА(

ДВССЫЛ( “1:”&ДЛСТР(A1))); 0); 1)

Пример использования

Индекс предпоследнего пробела строки вычисляется формулами:

Статическая (рассматривает 255 элементов массива)

=НАИБОЛЬШИЙ( ЕСЛИ( ПСТР(A1; СТРОКА( $1:$255); 1)=” “; СТРОКА( $1:$255); 0); 2)

Динамическая (рассматривает с первого до последнего символа строки)

=НАИБОЛЬШИЙ( ЕСЛИ( ПСТР(A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР(A1))); 1)=” “; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР(A1))); 0); 2)

При копировании формул в свой проект адрес ячейки исходной строки (A1) надо заменить на адрес ячейки своего проекта.

I have a Resoure.resx file that I need to search to find strings ending with a whitespace. I have noticed that in Visual Web Developer I can search using both regex and wildcards but I can not figure out how to find only strings with whitespace in the end. I tried this regex but didn’t work:

s$

Can you give me an example? Thanks!

asked Dec 15, 2010 at 9:14

Martin's user avatar

4

I’d expect that to work, although since s includes n and r, perhaps it’s getting confused. Or I suppose it’s possible (but really unlikely) that the flavor of regular expressions that Visual Web Developer uses (I don’t have a copy) doesn’t have the s character class. Try this:

[ ftv]$

…which searches for a space, formfeed, tab, or vertical tab at the end of a line.

If you’re doing a search and replace and want to get rid of all of the whitespace at the end of the line, then as RageZ points out, you’ll want to include a greedy quantifier (+ meaning “one or more”) so that you grab as much as you can:

[ ftv]+$

Community's user avatar

answered Dec 15, 2010 at 10:16

T.J. Crowder's user avatar

T.J. CrowderT.J. Crowder

1.0m187 gold badges1904 silver badges1862 bronze badges

1

You were almost there. adding the + sign means 1 characters to infinite number of characters.

This would probably make it:

s+$

answered Dec 15, 2010 at 9:17

RageZ's user avatar

RageZRageZ

26.7k12 gold badges67 silver badges76 bronze badges

2

Perhaps this would work:

^.+s$

Using this you’ll be able to find nonempty lines that end with a whitespace character.

answered Dec 15, 2010 at 9:30

darioo's user avatar

darioodarioo

46.3k10 gold badges74 silver badges103 bronze badges

2

Как найти первый символ в конце строки?

Найти позицию последнего вхождения значения в ячейке Excel — довольно сложная задача.

Однако иногда это необходимо исправить, например, чтобы удалить или заменить это вхождение.

Так в чем проблема?

Дело в том, что функции поиска местоположения SEARCH и FIND выполняют поиск только с начала ячейки и не имеют возможности перейти к поиску с конца.

Процедура «Найти и заменить» также не будет работать. Он не ищет с конца строки, он просто находит (и заменяет) все вхождения.

Ниже я покажу вам несколько способов поиска с конца строки.

Обычная составная формула

Формула, аналогичная приведенной ниже, подробно описана в статье Как удалить последнее слово в ячейке Excel. В этом случае необходимо искать пробел с конца строки.

Следующая формула ищет пробел от конца ячейки A1:

= ПОИСК (UNISIMV (23456); ПОДСТАВИТЬ (A1; «»; UNISIMV (23456); DLSTR (A1) -LSTR (ПОДСТАВИТЬ (A1;» «;»»))))

Как это работает:

  • В разделе, выделенном красным, рассчитывается количество пробелов в ячейке. Более подробную информацию можно найти в описании функции ЗАМЕНИТЬ.
  • Этот номер является аргументом в пользу другой замены, где заменяется только последний пробел (выделенный жирным шрифтом)
  • Вместо пробела на его последней позиции вставляется довольно редкий символ. В данном случае это иероглиф, созданный функцией SYMBOL. Но вы также можете зарегистрировать символ вручную. В приведенной ниже формуле это обратная косая черта:

= ПОИСК («»; ПОДСТАВИТЬ (A1; «»; «»; DLSTR (A1) -LSTR (ПОДСТАВИТЬ (A1;» «;»»))))

  • Функция ПОИСК находит позицию этого символа. Поскольку он встречается только один раз в строке и находится на месте последнего пробела, это позволяет нам сказать, что поиск выполнялся справа налево.

Если вам нужно найти другие символы или фрагменты текста с конца строки, замените им пробелы в этой формуле.

поиск в конце строки - формула Примеры использования составной формулы для поиска с конца строки

Формулы массива для поиска символа с конца строки

Поиск слева направо с помощью описанной выше функции REPLACE имеет несколько недостатков.

Первый — это регистрозависимый регистр этой функции, но это легко учесть, заключив необходимые фрагменты в функции изменения регистра.

А второе уже посерьезнее: формула не очень универсальна, т.к использует подстановку символа, который может появиться в строке и, таким образом, вернет неверное значение.

Формулы массива избавляют от обеих этих проблем. Оба создают массивы значений, в которых функция выбирает последнее.

С помощью МАКС

В любом случае следующая формула находит положение символа «а.

= {MAX ((MID (A1; LINE (INDIRECT («1:» & DLSTR (A1)))); 1) = «a») * LINE (INDIRECT («1:» & DLSTR (A1)))))) ВАЖНО: Это формула массива! Вы входите без фигурных скобок. Но не клавишей Enter, а комбинацией: Ctrl + Shift + Enter После этого фигурные скобки появятся сами собой. Если вы введете формулу обычным способом, она не сработает.

Механика его работы пошаговая:

  1. Функция DLSTR измеряет длину ячейки в символах
  2. INDIRECT создает из текстового представления длины ссылку на диапазон строк от 1 до строки, равной этой длине
  3. Функция СТРОКА возвращает массив чисел, соответствующих этим длинам, соответственно, {1; 2; 3;… «длина строки»}
  4. Функция MID, обрабатывая этот массив, возвращает символ в этой позиции в строке для каждого числа
  5. Текстовое сравнение с символом «a» возвращает логический массив (значения TRUE или FALSE)
  6. Эта матрица умножается на воссозданную матрицу чисел (точки 1: 3). FALSE эквивалентно нулю, а TRUE эквивалентно единице, поэтому для всех символов, которые не равны «a», результирующий числовой массив будет содержать нули, а для равных — их позиции
  7. Функция MAX возвращает наибольшее число в этом массиве.

С помощью ПОИСКПОЗ

Чуть более умный механизм делает формулу короче, но в то же время намного быстрее и использует функцию СРАВНЕНИЕ:

{= SEARCH (2; 1 / (MID (A1; LINE (INDIRECT («1:» & DLSTR (A1)))); 1) = «a»); 1)} ВАЖНО: это формула массива! Вы входите без фигурных скобок. Но не клавишей Enter, а комбинацией: Ctrl + Shift + Enter После этого фигурные скобки появятся сами собой. Если вы введете формулу обычным способом, она не сработает.

Вот алгоритм:

  1. Как и в предыдущей версии, с использованием тех же функций DLSTR, STRING, INDIRECT, MID и сравнения текста создается логический массив;
  2. Но на данном этапе на него делится единство. FALSE эквивалентно нулю, и выводится ошибка деления на ноль. ИСТИНА возвращает единицу.
  3. Функция ПОИСКПОЗ с последним параметром «1» при поиске 2 (на месте 2 может быть любое число больше 1) возвращает позицию последнего наибольшего числа меньше 2) То есть последнюю единицу, которая соответствует последней в строке найден символ.

Иногда у пользователя Excel появляется проблема: в начале и конце ячейки показываются ненужные пробелы или появляются непонятные расстояния между словами. Их основная проблема в том, что они нередко незаметны для человека. Поэтому часто он ничего не подозревает, особенно если глаз достаточно замыленный большими объемами данных. Проблема еще в том, что не существует метода обнаружить визуально наличие лишних пробелов, находящихся в конце ячеек при режиме отображения «часть текста». Сегодня мы детально разберемся в том, что можно сделать для того, чтобы убрать все пробелы.

Содержание

  1. Как убрать все пробелы в конце ячеек при помощи «Найти и заменить»
  2. Удаление двойных интервалов
  3. Удаление всех пробелов в тексте
  4. Как удалить пробелы в ячейках при помощи формулы СЖПРОБЕЛЫ
  5. Как удалить пробелы в начале и в конце ячейки формулами
  6. Как удалить разрыв строки и непечатаемые символы
  7. Удаление неразрывных пробелов
  8. Как найти и удалить непечатаемый символ
  9. Преобразование цифр с пробелами в число
  10. Как посчитать пробелы при помощи формул

Как убрать все пробелы в конце ячеек при помощи «Найти и заменить»

Этот метод можно использовать в некоторых ситуациях, потому что для него характерна особая быстрота и простота.

Удаление двойных интервалов

Если в начале или конце ячейки стоит пробел, не рекомендуется пользоваться этим способом. Все потому, что один из них все равно будет. Тем не менее, рассмотрим, как пользоваться этим методом для того, чтобы убрать двойные пробелы:

  1. Сделайте клик по ячейке, в которой нужно убрать ненужные пробелы. Также можно выделить целый диапазон значений.
  2. Откройте главное меню. Там есть группа инструментов «Редактирование» и там нужно нажать на кнопку «Найти и выделить». После этого появится небольшая менюшка, в которой нужно выбрать «Заменить». Также возможно использование комбинации горячих клавиш CTRL+H.
  3. В появившемся окне нужно ввести в поле «Найти» двойной пробел и заменить его на одинарный.

После того, как мы введем все необходимые данные, нужно просто нажать на кнопку «Заменить все». А вот нажимать на кнопку «Заменить» не рекомендуется, потому что она заменяет только одну ошибку, и ее нужно нажимать много раз для исправления.

Как убрать пробел в конце ячейки в таблице Excel

Бывают и более сложные ситуации. Например, у пользователя в ячейке три интервала, поэтому при выполнении в точности всех описанных выше действий останется два, поскольку описанный ранее метод убирает лишь один пропуск. Поэтому рекомендуется выполнить эту операцию несколько раз, чтобы оставшиеся пробелы были убраны.

Вы можете сами понять недостатки этого метода. Перед некоторыми словами начальный пробел остается. Точно так же некоторые конечные пробелы остались видны, просто их нельзя увидеть на глаз. Поэтому если выражение текстовое в ячейке, использовать этот способ нежелательно.

Удаление всех пробелов в тексте

Может понадобиться и удаление всех пробелов. Если это надо сделать, то нужно выполнить такие шаги:

  1. Выделить ячейки, с которыми мы будем выполнять эту операцию.
  2. Открываем вкладку «Главная», и там нажимаем на кнопку «Заменить» так, как мы это делали в предыдущем примере. Сочетание клавиш то же самое.
  3. В окне вводим следующие данные:
    1. Найти: одинарный пробел.
    2. Поле «Заменить» не заполняем.
  4. После этого нажимаем на «Заменить все».

Этот способ позволяет удалить все пробелы, которые есть в ячейке. Недостаток также понятен. С помощью данного метода можно удалить и нужные пробелы, которые ставятся между словами. Поэтому перед тем, как его использовать, нужно удостовериться, что все ячейки в диапазоне содержат не больше одного слова. По этой причине данный метод лучше всего подходит для числовых операций. 

Как убрать пробел в конце ячейки в таблице Excel

В ряде случаев могут возникать ненужные пробелы между разрядами. Очень часто это происходит, когда пользователь пытается импортировать информацию из другой программы. Также ячейка может быть в текстовом формате. На данном этапе это не является проблемой, а потом мы разберемся, что делать для того, чтобы изменить формат на числовой.

Как удалить пробелы в ячейках при помощи формулы СЖПРОБЕЛЫ

Также есть специальная функция, предназначенная для того, чтобы убрать ненужные пробелы. Называется она СЖПРОБЕЛЫ. Она дает возможность убрать их за раз как начальные, так и ведущие. Также она способна подставить под нож промежуточные. После нее только один интервал остается, поэтому нужно быть в определенной степени осторожным. Синтаксис этой функции следующий: =СЖПРОБЕЛЫ(A2).

В скобках надо указать ячейку, из какой мы будем удалять пробелы. Так, как видно на следующей картинке, этот оператор смог легко удалить все пробелы в начале и конце строки, записанной в ячейке, а также – ненужные интервалы внутри строки.

Как убрать пробел в конце ячейки в таблице Excel

Далее необходимо совершить замену тех значений, которые содержатся в первоначальной колонке, на обновленные. Самый простой метод, как сделать это – «Специальная вставка». Там нужно выбрать пункт «Значения».

Как удалить пробелы в начале и в конце ячейки формулами

Что касается исключительно пробелов, стоящих в начале и конце, то есть специальные формулы, с использованием которых можно их удалить. На этом скриншоте отчетливо видно формулу, с использованием которой мы достигли этой цели.

Как убрать пробел в конце ячейки в таблице Excel

Так как вы поняли из описанного ранее, функция СЖПРОБЕЛЫ не подходит для удаления пробелов лишь в начале и конце строки. Чтобы оставить нетронутыми срединные пробелы, формула будет значительно сложнее и включает в себя сразу несколько операторов, как мы видим из скриншота выше.

Работает оно следующим образом: оно определяет, в каком месте находится первый символ текстовой строки. После этого данное число принимается в качестве аргумента функцией ПСТР, которая затем передает строку полностью, начиная с первой позиции.

В свою очередь, оператор ДЛСТР определяет то, насколько большой является определенная строка. После того, как мы ввели эту формулу, проверяем результат. Если пробелы исчезли, то мы все сделали правильно. Только в качестве финального этапа необходимо заменить первоначальный текст на те значения, которые мы получили выше.

Если же нам необходимо только конечные пробелы убрать, то нам надо использовать еще более сложную формулу: =ЛЕВСИМВ(A2;МАКС((ПСТР(A2&ПОВТОР(» «;99);СТРОКА(A2:A100);1)<>» «)*СТРОКА(A2:A100))).

Как убрать пробел в конце ячейки в таблице Excel

Важно: эта формула должна вводиться в качестве формулы массива. То есть, необходимо использовать комбинацию клавиш Ctrl + Shift + Enter. У нас не очень хорошо удалось выровнять по правому краю значение, находящееся в первой колонке, потому что количество пробелов в конце каждой строки было различным. Во втором столбце мы видим, что у нас получилось решить эту проблему и текст был красиво расположен.

Как удалить разрыв строки и непечатаемые символы

В ходе переноса информации с других программ нередко появляются непечатаемые символы, которые выглядят, как пробел или же немного по-другому, но они занимают место в ячейке. Это разнообразные возвраты каретки, переводы строк, табуляция и так далее.

Описанная ранее функция СЖПРОБЕЛЫ прекрасно справляется с тем, чтобы убрать из ячейки пробелы, но она не подходит для очистки ее от непечатаемых символов. Фактически она нужна только для того, чтобы убирать символ с кодом 32 в ASCII таблице 7-битного разряда. Именно так кодируется этот символ. Но есть и значения с другими кодами, для которых нужно использовать функцию ПЕЧСИМВ. В английской локализации программы она называется CLEAN. Как мы можем понять из названия, с помощью этого оператора можно очистить ячейку от всевозможного хлама и удалять первые 32 непечатаемые символы.

Допустим, нам нужно убрать и пробелы, и непечатаемые символы в ячейке A2. В этом случае наша задача – использовать сначала формулу ПЕЧСИМВ для того, чтобы убрать непечатные знаки, после чего передать эту строку функции СЖПРОБЕЛЫ, которая убирает оставшиеся пробелы. Результат использования этой комбинации экселевских операторов мы видим на скриншоте.

Как убрать пробел в конце ячейки в таблице Excel

По сути, каждый раз, когда с использованием описанного выше метода вы убираете разрывы строки, слова, разделенные ими, склеиваются. Как же исправить эту ситуацию?

  1. Открываем диалоговое окно «Найти и заменить» методом, описанным выше. В поле «Найти» указываем символ возврата каретки. Для этого вводим комбинацию клавиш Ctrl + J. В свою очередь, в поле «Заменить» используем символ пробела. Когда мы нажимаем кнопку «Заменить все» все разрывы автоматически заменяются на пробелы.
  2. Также можно заменять возврат каретки на пробелы с помощью этой формулы: =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2; СИМВОЛ(13);» «); СИМВОЛ(10); » «)) . Естественно, надо адрес ячейки в функции ПОДСТАВИТЬ заменить на тот, который нужен конкретно в вашей ситуации.

Как видим, теперь проблема с почтовым адресом оказалась успешно решенной.

Удаление неразрывных пробелов

Очень часто пользователь, который использует функцию СЖПРОБЕЛЫ или ПЕЧСИМВ обнаруживает, что они не срабатывают. Все потому, что есть еще один непечатаемый символ, который обозначает неразрывные пробелы. Очень часто такие символы появляются, когда пользователь пытается вставить информацию из интернета сразу в таблицу Excel.

Для этого необходимо заменить символ неразрывного пробела (он имеет код 160) на пробел с помощью функции ПОДСТАВИТЬ. После этого пробел убирается таким же образом, как и раньше. Если оказывается, что рабочий лист еще и содержит непечатаемые символы, то также необходимо использовать такую формулу: =СЖПРОБЕЛЫ(ПЕЧСИМВ((ПОДСТАВИТЬ(A2;СИМВОЛ(160);» «)))).

Как найти и удалить непечатаемый символ

А что делать, если мы уже знаем, какой конкретной непечатаемый символ нам мешает? Или же тот символ, который нам надо удалить, не находится в пределах первых 32 в таблице ASCII? В этом случае нужно использовать функцию ПОДСТАВИТЬ, чтобы заменить его на пробел.

Если же мы не знаем код непечатаемого символа, который нам необходимо убрать, то нужно воспользоваться функцией КОДСИМВ, который позволяет его получить. Причем нам не нужно использовать функции КОДСИМВ и ПОДСТАВИТЬ по отдельности, их можно сразу использовать в одной формуле, чтобы компьютер сначала определил код мешающего символа, а потом записал его в качестве аргумента ПОДСТАВИТЬ.

Сама структура использования функции в нашем случае довольно сложная. Для того, чтобы получить тот символ, который нам нужен, нам необходимо использовать операторы ЛЕВСИМВ, ПРАВСИМВ или ПСТР. Давайте более детально раскроем, что и в каких случаях нужно использовать:

  1. Если непонятный непечатаемый символ, который нам нужно удалить, находится в самом начале, необходимо использовать такую формулу: =КОДСИМВ(ЛЕВСИМВ(A2;1))
  2. Если же он располагается в конце строки, формула аналогичная, но используется другой оператор: = КОДСИМВ(ПРАВСИМВ(A2;1))
  3. Если же он находится в середине строки, то нам необходимо использовать функцию ПСТР, где в качестве значения n выступает номер знака, где находится проблемный символ.

Комбинации могут быть самыми причудливыми. Например, с помощью этой формулы пользователь может определить нужные коды символов, заменить их на пробелы и сразу же их уничтожить. И все это в одной формуле: =СЖПРОБЕЛЫ(ПЕЧСИМВ((ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2;СИМВОЛ(127);» «);СИМВОЛ(160);» «)))).

Преобразование цифр с пробелами в число

Иногда может понадобиться удалить даже те пробелы, которые используются для разделения разрядов чисел. Конечно, они позволяют значительно упростить чтение больших чисел, но при этом они не дают формулам правильно работать. Поэтому нельзя использовать пробелы в качестве разделителей, нужно применять средства форматирования для этого. Для этого нужно воспользоваться меню «Формат ячейки», которое вызывается с помощью контекстного меню.

Как посчитать пробелы при помощи формул

Иногда же пользователю необходимо определить общее количество пробелов в формуле. Для этого нужно выполнить следующую формулу: =ДЛСТР(A3) — ДЛСТР(ПОДСТАВИТЬ(A3;» «;»»)). Если же нам нужно определить, сколько всего ненужных символов в ячейке, необходимо воспользоваться такой формулой: =ДЛСТР(A3)-ДЛСТР(СЖПРОБЕЛЫ(A3)).

Как видим, вовсе несложно удалить ненужные пробелы из таблицы, даже если они скрыты или находятся на нестандартной позиции. Что касается удаления одного или нескольких пробелов, которые находятся в начале или конце строчки, так это и вовсе тривиальная задача.

Оцените качество статьи. Нам важно ваше мнение:

Добавить комментарий