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

Файл примера

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


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

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

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

Примеры



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

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

=ПОДСТАВИТЬ(A6; "январь";"февраль")

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

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

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

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

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

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

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

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

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

Файл примера

© Copyright 2013 - 2020 Excel2.ru. All Rights Reserved