Как заменить буквы в формуле эксель
Функция ЗАМЕНИТЬ, входит в состав текстовых функций MS Excel и предназначена для замены конкретной области текстовой строки, в которой находится исходный текст на указанную строку текста (новый текст).
Как работает функция ЗАМЕНИТЬ в Excel?
С целью детального изучения работы данной функции рассмотрим один из простейших примеров. Предположим у нас имеется несколько слов в разных столбцах, необходимо получить новые слова используя исходные. Для данного примера помимо основной нашей функции ЗАМЕНИТЬ используем также функцию ПРАВСИМВ – данная функция служит для возврата определенного числа знаков от конца строки текста. То есть, например, у нас есть два слова: молоко и каток, в результате мы должны получить слово молоток.
Функция заменить в Excel и примеры ее использования
- Создадим на листе рабочей книги табличного процессора Excel табличку со словами, как показано на рисунке:
- Далее на листе рабочей книги подготовим область для размещения нашего результата – полученного слова "молоток", как показано ниже на рисунке. Установим курсор в ячейке А6 и вызовем функцию ЗАМЕНИТЬ:
- Заполняем функцию аргументами, которые изображены на рисунке:
Выбор данных параметров поясним так: в качестве старого текста выбрали ячейку А2, в качестве нач_поз установили число 5, так как именно с пятой позиции слова "Молоко" мы символы не берем для нашего итогового слова, число_знаков установили равным 2, так как именно это число не учитывается в новом слове, в качестве нового текста установили функцию ПРАВСИМВ с параметрами ячейки А3 и взятием последних двух символов "ок".
Далее нажимаем на кнопку "ОК" и получаем результат:
Как заменить часть текста в ячейке Excel?
Пример 2. Рассмотрим еще один небольшой пример. Предположим у нас в ячейках табличного процессора Excel имеются столбцы с мужскими фамилиями и именами сотрудников некоторой фирмы. Необходимо заменить их буквы в определенных местах так, чтобы преобразовать их в женские.
- Создадим на листе рабочей книги Excel табличку со фамилией и именем, как показано на рисунке:
- Далее на этом же листе рабочей книги подготовим область для размещения нашего результата – измененных фамилий и имен. Заполним ячейки двумя типами формул как показано на рисунке:
Обратите внимание! Во второй формуле мы используем оператор «&» для добавления символа «а» к мужской фамилии, чтобы преобразовать ее в женскую. Для решения данной задачи можно было бы использовать функцию =СЦЕПИТЬ(B3;"а") вместо формулы =B3&"а" – результат идентичный. Но сегодня настоятельно рекомендуется отказываться от данной функции так как она имеет свои ограничения и более требовательна к ресурсам в сравнении с простым и удобным оператором амперсанд.
Замена одного текста на другой внутри заданной текстовой строки - весьма частая ситуация при работе с данными в Excel. Реализовать подобное можно двумя функциями: ПОДСТАВИТЬ (SUBSTITUTE) и ЗАМЕНИТЬ (REPLACE) . Эти функции во многом похожи, но имеют и несколько принципиальных отличий и плюсов-минусов в разных ситуациях. Давайте подробно и на примерах разберем сначала первую из них.
Её синтаксис таков:
=ПОДСТАВИТЬ( Ячейка ; Старый_текст ; Новый_текст ; Номер_вхождения )
- Ячейка - ячейка с текстом, где производится замена
- Старый_текст - текст, который надо найти и заменить
- Новый_текст - текст, на который заменяем
- Номер_вхождения - необязательный аргумент, задающий номер вхождения старого текста на замену
Обратите внимание, что:
- Если не указывать последний аргумент Номер_вхождения, то будут заменены все вхождения старого текста (в ячейке С1 - обе "Маши" заменены на "Олю").
- Если нужно заменить только определенное вхождение, то его номер задается в последнем аргументе (в ячейке С2 только вторая "Маша" заменена на "Олю").
- Эта функция различает строчные и прописные буквы (в ячейке С3 замена не сработала, т.к. "маша" написана с маленькой буквы)
Давайте разберем пару примеров использования функции ПОДСТАВИТЬ для наглядности.
Замена или удаление неразрывных пробелов
При выгрузке данных из 1С, копировании информации с вебстраниц или из документов Word часто приходится иметь дело с неразрывным пробелом - спецсимволом, неотличимым от обычного пробела, но с другим внутренним кодом (160 вместо 32). Его не получается удалить стандартными средствами - заменой через диалоговое окно Ctrl + H или функцией удаления лишних пробелов СЖПРОБЕЛЫ (TRIM) . Поможет наша функция ПОДСТАВИТЬ, которой можно заменить неразрывный пробел на обычный или на пустую текстовую строку, т.е. удалить:
Подсчет количества слов в ячейке
Если нужно подсчитать количество слов в ячейке, то можно применить простую идею: слов на единицу больше, чем пробелов (при условии, что нет лишних пробелов). Соответственно, формула для расчета будет простой:
Если предполагается, что в ячейке могут находиться и лишние пробелы, то формула будет чуть посложнее, но идея - та же.
Извлечение первых двух слов
Если нужно вытащить из ячейки только первые два слова (например ФИ из ФИО), то можно применить формулу:
Программа Excel предлагает своим пользователям целых 3 функции для работы с большими и маленькими буквами в тексте (верхний и нижний регистр). Эти текстовые функции делают буквы большими и маленькими или же изменяют только первую букву в слове на большую.
Формулы с текстовыми функциями Excel
Сначала рассмотрим на примере 3 текстовых функции Excel:
- ПРОПИСН – данная текстовая функция изменяет все буквы в слове на прописные, большие.
- СТРОЧН – эта функция преобразует все символы текста в строчные, маленькие буквы.
- ПРОПНАЧ – функция изменяет только первую букву в каждом слове на заглавную, большую.
Как видно в примере на рисунке эти функции в своих аргументах не требуют ничего кроме исходных текстовых данных, которые следует преобразовать в соответствии с требованиями пользователя.
Не смотря на такой широкий выбор функций в Excel еще нужна функция, которая умеет заменить первую букву на заглавную только для первого слова в предложении, а не в каждом слове. Однако для решения данной задачи можно составить свою пользовательскую формулу используя те же и другие текстовые функции Excel:
Чтобы решить эту популярную задачу нужно в формуле использовать дополнительные текстовые функции Excel: ЛЕВСИМВ, ПРАВСИМВ и ДЛСТР.
Принцип действия формулы для замены первой буквы в предложении
В левой части формулы используется дополнительная функция ЛЕВСИМВ:
Задача этой части формулы изменить первую букву на большую в исходной текстовой строке ячейки A1. Благодаря функции ЛЕВСИМВ можно получать определенное количество символов начиная с левой стороны текста. Функция требует заполнить 2 аргумента:
- Текст – ссылка на ячейку с исходным текстом.
- Количесвто_знаков – число возвращаемых символов с левой стороны (с начала) исходного текста.
В данном примере необходимо получить только 1 первый символ из исходной текстовой строки в ячейке A1. Далее полученный символ преобразуется в прописную большую букву верхнего регистра.
Текстовая функция ПРАВСИМВ работает обратно пропорционально функции ЛЕВСИМВ. Так же требует запыления двух аргументов: исходный текст и количество знаков. Но возвращает она определенное число букв, полученных с правой стороны исходного текста. Однако в данном случаи мы в качестве второго аргумента не можем указать фиксированное значение. Ведь нам заранее неизвестно количество символов в исходном тексте. Кроме того, длина разных исходных текстовых строк может отличаться. Поэтому нам необходимо предварительно подсчитать длину строки текста и от полученного числового значения отнять -1, чтобы не изменять первую большую букву в строке. Ведь первая буква обрабатывается левой частью формулы и уже преобразована под требования пользователя. Поэтом на нее недолжна влиять ни одна функция из правой части формулы.
Для автоматического подсчета длины исходного текста используется текстовая функция Excel – ДЛСТР (расшифроваться как длина строки). Данная функция требует для заполнения всего лишь одного аргумента – ссылку на исходный текст. В результате вычисления она возвращает числовое значение, попетому после функции =ДЛСТР(A1) отнимаем -1. Что дает нам возможность не затрагивать первую большую букву правой частью формулы. В результате функция ПРАВСИМВ возвращает текстовую строку без одного первого символа для функции СТРОЧН, которая заменяет все символы текста в маленькие строчные буквы.
Функция ПОДСТАВИТЬ в Excel выполняет динамическую замену определенной части строки на указанное новое значение и возвращает новую строку, содержащую замененную часть текста. Благодаря этой функции можно подставлять значения из другой ячейки. Рассмотрим возможности функции на конкретных примерах в Excel.
Функция ПОДСТАВИТЬ при условии подставляет значение
Пример 1. В результате расчетов, произведенных в некотором приложении, были получены некоторые значения, записанные в таблицу Excel. Некоторые величины рассчитать не удалось, и вместо числового представления была сгенерирована ошибка “NaN”. Необходимо заменить все значения “NaN” на число 0 в соответствующих строках.
Для замены и подстановки используем рассматриваемую формулу в качестве массива. Вначале выделим диапазон ячеек C2:C9, затем введем формулу через комбинацию Ctrl+Shift+Enter:
Функция ЧЗНАЧ выполняет преобразование полученных текстовых строк к числовым значениям. Описание аргументов функции ПОДСТАВИТЬ:
- B2:B9 – диапазон ячеек, в которых требуется выполнить замену части строки;
- “NaN” – фрагмент текста, который будет заменен;
- 0 – фрагмент, который будет вставлен на место заменяемого фрагмента.
Для подстановки значений во всех ячейках необходимо нажать Ctrl+Shift+Enter, чтобы функция была выполнена в массиве. Результат вычислений:
Таким же образом функция подставляет значения и другой таблицы при определенном условии.
Автозамена значения в текстовых ячейках с помощью функции ПОДСТАВИТЬ
Пример 2. Провайдер домашнего интернета хранит данные о своих абонентах в таблице Excel. Предположим, улица Садовая была переименована в Никольскую. Необходимо быстро произвести замену названия улицы в строке данных об адресе проживания каждого клиента.
Для выполнения заданного условия используем формулу:
Примечание: в данном примере ПОДСТАВИТЬ также используется в массиве Ctrl+Shift+Enter.
В результате получим:
Формула с макросом регулярного выражения и функция ПОДСТАВИТЬ
В данном случае для поиска числовых значений номера дома воспользоваться встроенными функциями не удастся. Рациональнее всего использовать регулярные выражения. По умолчанию, в Excel отсутствует функция для работы с регулярными выражениями, однако ее можно добавить следующим способом:
- Открыть редактор макросов (Ctrl+F11).
- Вставить исходный код функции (приведен ниже).
- Выполнить данный макрос и закрыть редактор кода.
Public Function RegExpExtract(Text As String , Pattern As String , Optional Item As Integer = 1) As String
On Error GoTo ErrHandl
Set regex = CreateObject( "VBScript.RegExp" )
regex.Pattern = Pattern
regex. Global = True
If regex.Test(Text) Then
Set matches = regex.Execute(Text)
RegExpExtract = matches.Item(Item - 1)
Exit Function
End If
ErrHandl:
RegExpExtract = CVErr(xlErrValue)
End Function
Для того, чтобы воспользоваться этой формулой, в любой ячейке необходимо ввести следующее:
Регулярные выражения могут быть различными. Например, для выделения любого символа из текстовой строки в качестве второго аргумента необходимо передать значение «\w», а цифры – «\d».
Для решения задачи данного Примера 3 используем следующую запись:
Данный способ может показаться громоздким, однако он весьма удобен для работы с таблицами, содержащими большое количество данных.
Читайте также: