Функция подставить в экселе

Функция подставить в экселе

Синтаксис функции

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

Исходный_текст — текст или ссылка на ячейку, содержащую текст, в котором заменяется часть строки. Старый_текст — заменяемый текст. Новый_текст — текст, на который заменяется старый_текст . Номер_вхождения — определяет, какое вхождение фрагмента Старый_текст нужно заменить фрагментом. Если этот аргумент определен, то заменяется только заданное вхождение фрагмента Старый_текст . В противном случае все вхождения фрагмента Старый_текст в текстовой строке заменяются фрагментом Новый_текст .

Примеры

Пусть в ячейке А6 введена строка Продажи (январь) , прибыль (январь) .

Чтобы заменить оба слова январь , на февраль , запишем формулу (см. файл примера внизу статьи ):

Функция ПОДСТАВИТЬ() может заменить только первое, только второе и т.д. вхождение слова "январь". Записав формулу =ПОДСТАВИТЬ(A2; "январь";"февраль";2) получим строку Продажи (январь), прибыль (февраль) .

Кроме того, функция ПОДСТАВИТЬ() чувствительна к РЕгиСТру . Записав =ПОДСТАВИТЬ(A2; "ЯНВАРЬ";"февраль") получим строку без изменений Продажи (январь), прибыль (январь) , т.к. для функции ПОДСТАВИТЬ() "ЯНВАРЬ" не тоже самое, что "январь".

Если строка содержит слова в разных регистрах, например, Продажи (январь), прибыль (ЯНВАРЬ) , то для замены слова январь на февраль можно порекомендовать формулу =ПОДСТАВИТЬ(СТРОЧН(A2); "январь";"февраль") В результате получим продажи ( февраль ), прибыль ( февраль ) .

Функция ПОДСТАВИТЬ() vs ЗАМЕНИТЬ()

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

=ЗАМЕНИТЬ(A2;10;6;"февраль") =ПОДСТАВИТЬ(A2; "январь";"февраль")

т.е. для функции ЗАМЕНИТЬ() потребовалось вычислить начальную позицию слова январь (10) и его длину (6). Это не удобно, функция ПОДСТАВИТЬ() справляется с задачей гораздо проще.

Кроме того, функция ЗАМЕНИТЬ() заменяет по понятным причинам только одно вхождение строки, функция ПОДСТАВИТЬ() может заменить все вхождения или только первое, только второе и т.д. Поясним на примере. Пусть в ячейке А2 введена строка Продажи (январь), прибыль (январь) . Запишем формулы: =ЗАМЕНИТЬ(A2;10;6;"февраль") =ПОДСТАВИТЬ(A2; "январь";"февраль") получим в первом случае строку Продажи (февраль), прибыль (январь) , во втором — Продажи (февраль), прибыль (февраль) . Записав формулу =ПОДСТАВИТЬ(A2; "январь";"февраль";2) получим строку Продажи (январь), прибыль (февраль) .

Кроме того, функция ПОДСТАВИТЬ() может работает с учетом регистра, а ЗАМЕНИТЬ() по понятным причинам не может.

Читайте также:  Не скачивается скайп загрузка прервана

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

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

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

Дело в том, что текстовая функция ПРОПНАЧ работает по принципу замены всех первых символов на большую букву, которые находятся после символов, которые не соответствуют буквам: . -,’,*,/, и т.д. Поэтому если внутри слова находится символы, которые не являются буквами работа функции ПРОПНАЧ будет искажена.

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

В основе выше указанной формулы лежит функция ПОДСТАВИТЬ, которая требует заполнения 3-х обязательных из 4-х аргументов:

  1. Текст – исходный текст или ссылка на ячейку с исходным текстом в котором следует выполнить замену символов.
  2. Стар_текст – старый заменяемый текст.
  3. Нов_текст – новый текст на который следует заменить старый.
  4. Номер_вхождения – опциональный необязательный аргумент. Если строка содержит несколько одинаковых старых заменяемых текстов, то с помощью этого аргумента можно указать какой именно по очереди заменить старый текст. Если этот аргумент опущен, тогда заменяются все найденные одинаковые старые заменяемые тексты в исходной строке.

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

Читайте также:  Html картинка по центру экрана

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

Вторая часть формулы охватывает первую часть и работает с тем, что первая формула возвратила ей в результате, а именно ту же исходную строку, но с временным текстом «zzz» вместо апострофа «’». Далее в работу вступает пострадавшая функция ПРОПНАЧ, которая заменяет во всех словах первые буквы на большие. В результате получим текстовую строку следующего вида:

Полезный совет! Вместо ввода символа одинарной кавычки апострофа (‘) более читабельно в формуле будет выглядеть функция СИМВОЛ(39), которая возвращает тот же символ по коду таблицы Unicode. О чем свидетельствует код 39 в аргументе функции СИМВОЛ. То есть следующая более читабельная формула возвращает тот же результат:

А после осталось лишь функции ПОДСТАВИТЬ обратно заменить временный текст «zzz» на апостроф «’». Чтобы слова приобрели свой оригинальный вид по наличию тех же символов.

Иногда приходиться находить собственные альтернативные решения в Excel если нет стандартных предусмотренных инструментов.

Функция ПОДСТАВИТЬ (SUBSTITUTE) в Excel используется для замены определенного текста в текстовой строке.

Что возвращает функция

Она возвращает текстовую строку, где старый текст заменен на новый.

Синтаксис

=SUBSTITUTE(text, old_text, new_text, [instance_num]) – английская версия

=ПОДСТАВИТЬ(текст;стар_текст;нов_текст;[номер_вхождения]) – русская версия

Ссылка на основную публикацию
Adblock detector