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

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

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

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

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

Примеры

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

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

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

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

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

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

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

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

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

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

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

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

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

Связанные статьи

Похожие задачи
Прочитайте другие статьи, решающие похожие задачи в MS Excel. Это позволит Вам решать широкий класс подобных задач.
Средняя: 3.7 (3 оценок)