dimayakovlev.ru


Как удалить лишние пробелы из текста в LibreOffice Calc

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

Предлагаю рассмотреть три варианта борьбы с лишними пробелами в текстовых данных в таблице LibreOffice Calc:

  1. Лишние пробелы находятся в любых частях строки;
  2. Лишние пробелы находятся в начале строки;
  3. Лишние пробелы находятся в конце строки.

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

Эта задача стоит перед пользователем чаще всего. И её решение будет самым простым, потому что именно для таких случаев в LibreOffice Calc предусмотрена специальная функция TRIM.

=TRIM(A2)

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

Однако может быть так, что повторяющиеся пробелы для разделения слов в строке необходимо сохранить, а удалить надо только пробелы, обрамляющие строку. Здесь функция TRIM не решит проблему, а создаст новую. К сожалению, среди стандартных функций в LibreOffice Calc нет функций, удаляющих пробелы только в начале или только в конце строки. Поэтому придётся решать задачу при помощи формул, использующих доступные функции.

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

Удалить начальные пробелы из строки относительно просто. В варианте формулы, которую предлагаю я, используются четыре функции:

  1. REPLACE;
  2. FIND;
  3. LEFT;
  4. TRIM.
=REPLACE(A2;1;FIND(LEFT(TRIM(A2);2);A2)-1;"")

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

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

  1. LEFT;
  2. MAX;
  3. MID;
  4. REPT;
  5. ROW.
=LEFT(A2;MAX((MID(A2&REPT(" ";99);ROW(A2:A99);1)<>" ")*ROW(A2:A99)))

Результат применения рассмотренных формул на текстовых данных в таблице в LibreOffice Calc выглядит так.

Пример использования рассмотренных формул для удаления лишних пробелов из строк в LibreOffice Calc

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