Как заменить символ в excel в ячейке

Обновлено: 04.07.2024

Зачастую текст, который достается нам для работы в ячейках листа Microsoft Excel далек от совершенства. Если он был введен другими пользователями (или выгружен из какой-нибудь корпоративной БД или ERP-системы) не совсем корректно, то он легко может содержать:

  • лишние пробелы перед, после или между словами (для красоты!)
  • ненужные символы ("г." перед названием города)
  • невидимые непечатаемые символы (неразрывный пробел, оставшийся после копирования из Word или "кривой" выгрузки из 1С, переносы строк, табуляция)
  • апострофы (текстовый префикс – спецсимвол, задающий текстовый формат у ячейки)

Давайте рассмотрим способы избавления от такого "мусора".

Замена

"Старый, но не устаревший" трюк. Выделяем зачищаемый диапазон ячеек и используем инструмент Заменить с вкладки Главная – Найти и выделить (Home – Find & Select – Replace) или жмем сочетание клавиш Ctrl+H.

Изначально это окно было задумано для оптовой замены одного текста на другой по принципу "найди Маша – замени на Петя", но мы его, в данном случае, можем использовать его и для удаления лишнего текста. Например, в первую строку вводим "г." (без кавычек!), а во вторую не вводим ничего и жмем кнопку Заменить все (Replace All). Excel удалит все символы "г." перед названиями городов:

clean-text1.jpg

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

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

Если из текста нужно удалить вообще все пробелы (например они стоят как тысячные разделители внутри больших чисел), то можно использовать ту же замену: нажать Ctrl+H, в первую строку ввести пробел, во вторую ничего не вводить и нажать кнопку Заменить все (Replace All).

Однако, часто возникает ситуация, когда удалить надо не все подряд пробелы, а только лишние – иначе все слова слипнутся друг с другом. В арсенале Excel есть специальная функция для этого – СЖПРОБЕЛЫ (TRIM) из категории Текстовые. Она удаляет из текста все пробелы, кроме одиночных пробелов между словами, т.е. мы получим на выходе как раз то, что нужно:

clean-text2.jpg

Удаление непечатаемых символов

В некоторых случаях, однако, функция СЖПРОБЕЛЫ (TRIM) может не помочь. Иногда то, что выглядит как пробел – на самом деле пробелом не является, а представляет собой невидимый спецсимвол (неразрывный пробел, перенос строки, табуляцию и т.д.). У таких символов внутренний символьный код отличается от кода пробела (32), поэтому функция СЖПРОБЕЛЫ не может их "зачистить".

Вариантов решения два:

  • Аккуратно выделить мышью эти спецсимволы в тексте, скопировать их (Ctrl+C) и вставить (Ctrl+V) в первую строку в окне замены (Ctrl+H). Затем нажать кнопку Заменить все (Replace All) для удаления.
  • Использовать функцию ПЕЧСИМВ (CLEAN) . Эта функция работает аналогично функции СЖПРОБЕЛЫ, но удаляет из текста не пробелы, а непечатаемые знаки. К сожалению, она тоже способна справится не со всеми спецсимволами, но большинство из них с ее помощью можно убрать.

Функция ПОДСТАВИТЬ

Замену одних символов на другие можно реализовать и с помощью формул. Для этого в категории Текстовые в Excel есть функция ПОДСТАВИТЬ (SUBSTITUTE) . У нее три обязательных аргумента:

  • Текст в котором производим замену
  • Старый текст – тот, который заменяем
  • Новый текст – тот, на который заменяем

С ее помощью можно легко избавиться от ошибок (замена "а" на "о"), лишних пробелов (замена их на пустую строку ""), убрать из чисел лишние разделители (не забудьте умножить потом результат на 1, чтобы текст стал числом):

clean-text3.jpg

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

Апостроф (') в начале ячейки на листе Microsoft Excel – это специальный символ, официально называемый текстовым префиксом. Он нужен для того, чтобы дать понять Excel, что все последующее содержимое ячейки нужно воспринимать как текст, а не как число. По сути, он служит удобной альтернативой предварительной установке текстового формата для ячейки (Главная – Число – Текстовый) и для ввода длинных последовательностей цифр (номеров банковских счетов, кредитных карт, инвентарных номеров и т.д.) он просто незаменим. Но иногда он оказывается в ячейках против нашей воли (после выгрузок из корпоративных баз данных, например) и начинает мешать расчетам. Чтобы его удалить, придется использовать небольшой макрос. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert - Module) и введите туда его текст:

Теперь, если выделить на листе диапазон и запустить наш макрос (Alt+F8 или вкладка Разработчик – кнопка Макросы), то апострофы перед содержимым выделенных ячеек исчезнут.

Английские буквы вместо русских

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

Можно, конечно, вручную заменять символы латинцы на соответствующую им кириллицу, но гораздо быстрее будет сделать это с помощью макроса. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert - Module) и введите туда его текст:

Теперь, если выделить на листе диапазон и запустить наш макрос (Alt+F8 или вкладка Разработчик – кнопка Макросы), то все английские буквы, найденные в выделенных ячейках, будут заменены на равноценные им русские. Только будьте осторожны, чтобы не заменить случайно нужную вам латиницу :)

Замена запятой на точку в Microsoft Excel

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

Процедура замены

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

Способ 1: инструмент «Найти и заменить»

Наиболее простой способ выполнение трансформации запятой на точку – это применение инструмента «Найти и заменить». Но, сразу нужно отметить, что для вычислений такой способ не подойдет, так как содержимое ячеек будет преобразовано в текстовый формат.

  1. Производим выделение области на листе, где нужно трансформировать запятые в точки. Выполняем щелчок правой кнопкой мышки. В запустившемся контекстном меню отмечаем пункт «Формат ячеек…». Те пользователи, которые предпочитают пользоваться альтернативными вариантами с применением «горячих клавиш», после выделения могут набрать комбинацию клавиш Ctrl+1.

Переход к форматированию ячеек в Microsoft Excel

Переформатирование в текстовый формат в Microsoft Excel

Переход к замене содержимого ячеек в Microsoft Excel

Окно Найти и заменить в Microsoft Excel

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

Запятые заменены на точку в Microsoft Excel

Способ 2: применение функции

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

    Выделяем пустую ячейку напротив первой ячейки диапазона с данными, в котором запятые следует трансформировать в точки. Щелкаем по пиктограмме «Вставить функцию», размещенную слева от строки формул.

Переход в Мастер функций в Microsoft Excel

Переход к функции ПОДСТАВИТЬ в Microsoft Excel

Аргументы функции ПОДСТАВИТЬ в Microsoft Excel

Маркер заполнения в Microsoft Excel

Копирование в Microsoft Excel

Вставка в Microsoft Excel

Очистка содержимого в Microsoft Excel

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

Способ 3: Использование макроса

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

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

    Перемещаемся во вкладку «Разработчик» и щелкаем по кнопке «Visual Basic», которая размещена в блоке инструментов «Код» на ленте.

Переход в Visual Basic в Microsoft Excel

Sub Макрос_трансформации_запятых_в_точки()
Selection.Replace What:=",", Replacement:="."
End Sub

Редактор макросов в Microsoft Excel

Переход к макросам в Microsoft Excel

Окно макроса в Microsoft Excel

Выполняется преобразование. Запятые будут трансформированы в точки.

Способ 4: настройки Эксель

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

    Находясь во вкладке «Файл», щелкаем по наименованию блока «Параметры».

Переход в параметры в Microsoft Excel

Смена разделителей в Microsoft Excel

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

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

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Замена одного текста на другой внутри заданной текстовой строки - весьма частая ситуация при работе с данными в Excel. Реализовать подобное можно двумя функциями: ПОДСТАВИТЬ (SUBSTITUTE) и ЗАМЕНИТЬ (REPLACE) . Эти функции во многом похожи, но имеют и несколько принципиальных отличий и плюсов-минусов в разных ситуациях. Давайте подробно и на примерах разберем сначала первую из них.

Её синтаксис таков:

=ПОДСТАВИТЬ( Ячейка ; Старый_текст ; Новый_текст ; Номер_вхождения )

  • Ячейка - ячейка с текстом, где производится замена
  • Старый_текст - текст, который надо найти и заменить
  • Новый_текст - текст, на который заменяем
  • Номер_вхождения - необязательный аргумент, задающий номер вхождения старого текста на замену

Замена текста функцией ПОДСТАВИТЬ (SUBSTITUTE)

Обратите внимание, что:

  • Если не указывать последний аргумент Номер_вхождения, то будут заменены все вхождения старого текста (в ячейке С1 - обе "Маши" заменены на "Олю").
  • Если нужно заменить только определенное вхождение, то его номер задается в последнем аргументе (в ячейке С2 только вторая "Маша" заменена на "Олю").
  • Эта функция различает строчные и прописные буквы (в ячейке С3 замена не сработала, т.к. "маша" написана с маленькой буквы)

Давайте разберем пару примеров использования функции ПОДСТАВИТЬ для наглядности.

Замена или удаление неразрывных пробелов

При выгрузке данных из 1С, копировании информации с вебстраниц или из документов Word часто приходится иметь дело с неразрывным пробелом - спецсимволом, неотличимым от обычного пробела, но с другим внутренним кодом (160 вместо 32). Его не получается удалить стандартными средствами - заменой через диалоговое окно Ctrl + H или функцией удаления лишних пробелов СЖПРОБЕЛЫ (TRIM) . Поможет наша функция ПОДСТАВИТЬ, которой можно заменить неразрывный пробел на обычный или на пустую текстовую строку, т.е. удалить:

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

Подсчет количества слов в ячейке

Если нужно подсчитать количество слов в ячейке, то можно применить простую идею: слов на единицу больше, чем пробелов (при условии, что нет лишних пробелов). Соответственно, формула для расчета будет простой:

Количество слов

Если предполагается, что в ячейке могут находиться и лишние пробелы, то формула будет чуть посложнее, но идея - та же.

Извлечение первых двух слов

Если нужно вытащить из ячейки только первые два слова (например ФИ из ФИО), то можно применить формулу:

Замена одного текста на другой внутри заданной текстовой строки - весьма частая ситуация при работе с данными в Excel. Реализовать подобное можно двумя функциями: ПОДСТАВИТЬ (SUBSTITUTE) и ЗАМЕНИТЬ (REPLACE) . Эти функции во многом похожи, но имеют и несколько принципиальных отличий и плюсов-минусов в разных ситуациях. Давайте подробно и на примерах разберем сначала первую из них.

Её синтаксис таков:

=ПОДСТАВИТЬ( Ячейка ; Старый_текст ; Новый_текст ; Номер_вхождения )

  • Ячейка - ячейка с текстом, где производится замена
  • Старый_текст - текст, который надо найти и заменить
  • Новый_текст - текст, на который заменяем
  • Номер_вхождения - необязательный аргумент, задающий номер вхождения старого текста на замену

Замена текста функцией ПОДСТАВИТЬ (SUBSTITUTE)

Обратите внимание, что:

  • Если не указывать последний аргумент Номер_вхождения, то будут заменены все вхождения старого текста (в ячейке С1 - обе "Маши" заменены на "Олю").
  • Если нужно заменить только определенное вхождение, то его номер задается в последнем аргументе (в ячейке С2 только вторая "Маша" заменена на "Олю").
  • Эта функция различает строчные и прописные буквы (в ячейке С3 замена не сработала, т.к. "маша" написана с маленькой буквы)

Давайте разберем пару примеров использования функции ПОДСТАВИТЬ для наглядности.

Замена или удаление неразрывных пробелов

При выгрузке данных из 1С, копировании информации с вебстраниц или из документов Word часто приходится иметь дело с неразрывным пробелом - спецсимволом, неотличимым от обычного пробела, но с другим внутренним кодом (160 вместо 32). Его не получается удалить стандартными средствами - заменой через диалоговое окно Ctrl + H или функцией удаления лишних пробелов СЖПРОБЕЛЫ (TRIM) . Поможет наша функция ПОДСТАВИТЬ, которой можно заменить неразрывный пробел на обычный или на пустую текстовую строку, т.е. удалить:

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

Подсчет количества слов в ячейке

Если нужно подсчитать количество слов в ячейке, то можно применить простую идею: слов на единицу больше, чем пробелов (при условии, что нет лишних пробелов). Соответственно, формула для расчета будет простой:

Количество слов

Если предполагается, что в ячейке могут находиться и лишние пробелы, то формула будет чуть посложнее, но идея - та же.

Извлечение первых двух слов

Если нужно вытащить из ячейки только первые два слова (например ФИ из ФИО), то можно применить формулу:

Читайте также: