Функции и формулы
Функция ПОДСТАВИТЬ в Excel: как поменять фрагмент строки и не испортить данные
ПОДСТАВИТЬ в Excel — это функция замены одного фрагмента строки другим для тех, кто чистит выгрузки: меняет точку на запятую, убирает дефисы, правит префиксы. Без четвёртого аргумента функция заменяет каждое вхождение старого текста, так сказано в справке Microsoft[1]. Ниже — синтаксис, примеры на данных, отличие от ЗАМЕНИТЬ и окно Ctrl+H.
Выгрузка из банка или учётной программы редко бывает чистой: суммы приходят с точкой вместо запятой, артикулы — с дефисами, названия — с лишним «ООО». Справка Microsoft описывает два инструмента для таких правок: ПОДСТАВИТЬ заменяет определённый текст в любом месте строки, а ЗАМЕНИТЬ — знаки начиная с заданной позиции[1]. Править сотню ячеек вручную долго, и при следующей выгрузке работа повторится.
Формула решает задачу один раз. Порядок такой: найти фрагмент, который нужно заменить, ввести формулу ПОДСТАВИТЬ в соседнем столбце, проверить результат и его тип, исправить ошибку регистра или номера вхождения и протянуть формулу на свои данные. Подвох — в типе: после замены цифр результат остаётся текстом, и сумма по такому столбцу его не видит. Вторая ловушка — регистр: «ооо» и «ООО» для формулы разные строки.
Ключевые факты: ПОДСТАВИТЬ в Excel
- ПОДСТАВИТЬ заменяет заданный фрагмент текста новым и пишет результат в ячейку с формулой, исходная строка остаётся прежней.
- Функция принимает 4 аргумента, и только номер вхождения необязателен[1].
- Без номера вхождения ПОДСТАВИТЬ меняет каждое вхождение старого текста[1].
- ЗАМЕНИТЬ отличается от ПОДСТАВИТЬ тем, что меняет знаки начиная с заданной позиции, а не по содержимому[3].
- Справка Microsoft открывает окно замены сочетанием Ctrl+H, а поиск — сочетанием Ctrl+F[4].
Как работает ПОДСТАВИТЬ в Excel: четыре аргумента
ПОДСТАВИТЬ в Excel находит заданный фрагмент строки и меняет его на новый текст, не трогая остальную строку. Синтаксис по справке Microsoft — ПОДСТАВИТЬ(текст;стар_текст;нов_текст;[номер_вхождения])[1]. В английской версии функция называется SUBSTITUTE.
| Аргумент | Что указать | Пример |
|---|---|---|
| текст | ячейка или строка, где идёт замена | A2 |
| стар_текст | что заменить | "-" |
| нов_текст | на что заменить; пустые кавычки удаляют фрагмент | "/" |
| номер_вхождения | какое по счёту вхождение менять; без него — все | 3 |
Простой пример из справки: для строки «Сведения о продажах» формула =ПОДСТАВИТЬ(A2;"продажах";"ценах") вернёт «Сведения о ценах». Исходная ячейка не меняется, результат появляется там, где стоит формула. ПОДСТАВИТЬ в Excel принимает и числа, но возвращает всегда строку: замена цифры в 2026 даст текст, а не число.
Четвёртый аргумент нужен, когда менять надо одно вхождение. В строке «Квартал 1, 2011 г.» единица встречается трижды, и справка исправляет год формулой с номером 3: результат — «Квартал 1, 2012 г.». ПОДСТАВИТЬ без номера вхождения портит год: «Квартал 1, 2011 г.» превращается в «Квартал 2, 2022 г.»[2].
ПОДСТАВИТЬ в Excel удобно вкладывать в другие формулы: в ВПР — чтобы искать артикул без дефисов, в ЕСЛИ — чтобы проверить, был ли фрагмент в строке. Если результат ПОДСТАВИТЬ отличается от исходной строки, фрагмент нашёлся. Число вхождений символа считает разность ДЛСТР до и после удаления символа: для строки «чай, кофе, сахар» формула =ДЛСТР(A8)-ДЛСТР(ПОДСТАВИТЬ(A8;",";"")) вернёт 2[2].
Разобравшись с аргументами, переходим к примерам на данных — на них видно, где замена ломает результат.
Примеры замены: точка, дефис, префикс и телефон
ПОДСТАВИТЬ с пустыми кавычками удаляет символ из строки целиком, а с новым текстом — меняет его на нужный. Все примеры пересчитаны в движке тренажёра на таком листе[2]:
| A | |
|---|---|
| 4 | 1234.56 |
| 5 | Арт-001-А |
| 6 | ООО Ромашка |
| 7 | 8 (912) 345-67-89 |
| Задача | Формула | Результат |
|---|---|---|
| точка на запятую и число | =ЗНАЧЕН(ПОДСТАВИТЬ(A4;".";",")) | 1234,56 |
| удалить все дефисы | =ПОДСТАВИТЬ(A5;"-";"") | Арт001А |
| заменить второй дефис | =ПОДСТАВИТЬ(A5;"-";"/";2) | Арт-001/А |
| убрать префикс | =ПОДСТАВИТЬ(A6;"ООО ";"") | Ромашка |
| оставить в телефоне цифры | четыре вложенные ПОДСТАВИТЬ | 89123456789 |
- Введите в B4
=ПОДСТАВИТЬ(A4;".";",")и нажмите Enter. - Проверьте тип:
=ЕЧИСЛО(B4)вернёт ЛОЖЬ, потому что результат — строка. - Оберните формулу в ЗНАЧЕН и протяните её на весь столбец сумм.
Телефон приводят к цифрам вложенными функциями: =ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A7;" ";"");"-";"");"(";"");")";""). Формула читается изнутри наружу: сначала уходят пробелы, потом дефисы, потом скобки.
Суммы из банковских выгрузок часто содержат неразрывный пробел с кодом 160, который СЖПРОБЕЛЫ не удаляет[6]. Помогает ПОДСТАВИТЬ с функцией СИМВОЛ: =ЗНАЧЕН(ПОДСТАВИТЬ(A12;СИМВОЛ(160);"")) превращает строку «1 250 300,50» в число 1250300,5[2].
ПОДСТАВИТЬ не отличает дату от числа в строке: замена точки в «05.11.2026» даёт «05,11,2026». Применяйте формулу только к столбцу с суммами. Если после замены в строке остались буквы или знак валюты, ЗНАЧЕН вернёт #ЗНАЧ![7] — сначала уберите лишние знаки ещё одной ПОДСТАВИТЬ.
Однако замена по номеру позиции устроена иначе — для неё в Excel есть вторая функция.
Чем ПОДСТАВИТЬ отличается от ЗАМЕНИТЬ
ПОДСТАВИТЬ отличается от ЗАМЕНИТЬ тем, что ищет текст по содержимому, а ЗАМЕНИТЬ меняет знаки по номеру позиции. Синтаксис второй функции по справке Microsoft — ЗАМЕНИТЬ(стар_текст;начальная_позиция;число_знаков;нов_текст)[3].
| Признак | ПОДСТАВИТЬ | ЗАМЕНИТЬ |
|---|---|---|
| что задаёт замену | старый фрагмент текста | позиция и число знаков |
| сколько вхождений меняет | все или одно по номеру | один участок строки |
| пример из справки | «продажах» на «ценах» | 2009 на 2010 |
| когда выбирать | знаете, что заменить | знаете, где заменить |
Справка приводит пример =ЗАМЕНИТЬ(A3;3;2;"10"): для 2009 формула вернёт 2010[3]. На наших данных =ЗАМЕНИТЬ(A10;5;4;"****") скрывает часть номера и даёт 8912****789[2].
ЗАМЕНИТЬ с нулевым числом знаков ничего не удаляет, а вставляет текст в позицию: =ЗАМЕНИТЬ(A10;2;0;" ") вернёт «8 9123456789». Позицию можно вычислить формулой: =ЗАМЕНИТЬ(A11;1;НАЙТИ(" ";A11);"") убирает первое слово из «Иванов Пётр Сергеевич» и оставляет «Пётр Сергеевич».
Байтовая версия ЗАМЕНИТЬБ в справке названа нерекомендуемой[3], поэтому в новых формулах нужна обычная ЗАМЕНИТЬ. В Google Таблицах SUBSTITUTE работает так же, как ПОДСТАВИТЬ в Excel: без номера заменяются все совпадения, а результат — текст, который для расчётов оборачивают в VALUE[5].
Именно поэтому разовую правку исходных ячеек выгоднее делать без формул: обе функции оставляют исходник нетронутым.
Как заменить текст без формул в окне «Заменить на»
ПОДСТАВИТЬ пишет результат в новый столбец, окно замены меняет исходные ячейки. По справке Microsoft окно замены открывает Ctrl+H, поиск — Ctrl+F, на Mac — Control+H[4].
- Выделите диапазон, где нужна замена, иначе поиск пройдёт по всему листу.
- Нажмите Ctrl+H и введите старый текст в поле «Найти», новый — в поле «Заменить на».
- Откройте параметры, если нужно учесть регистр, искать во всей книге или только по всему содержимому ячейки.
- Нажмите «Заменить все» или «Заменить», чтобы проверять каждое вхождение по одному.
Подстановочные знаки работают в поле «Найти»: вопросительный знак заменяет любой один символ, звёздочка — любое количество символов, а тильда перед ними ищет сам знак[4]. Чтобы заменить в ячейках саму звёздочку, в поле «Найти» пишут ~*. Галочка учёта регистра отличает «Чай» от «чай», а поиск по всему содержимому не тронет слово внутри более длинного.
| Признак | Окно Ctrl+H | Формула ПОДСТАВИТЬ |
|---|---|---|
| меняет исходные ячейки | да | нет, результат в новом столбце |
| пересчитывается на новых данных | нет, замену повторяют | да |
понимает ? и * | да | нет |
После формулы исходный столбец можно заменить результатом: скопируйте его и вставьте как значения, как описано на странице о специальной вставке без формул.
Остаётся понять, в каких задачах формула замены громоздка или бессильна.
Когда ПОДСТАВИТЬ не подойдёт
ПОДСТАВИТЬ не подойдёт, если замену нужно делать по шаблону, по разному регистру или с числом на выходе без дополнительной функции. Каждое условие ниже проверяется на ваших данных до того, как писать формулу. Справка Microsoft относит ПОДСТАВИТЬ к Excel для Microsoft 365, Excel 2024, Excel 2021, Excel 2019 и Excel 2016, поэтому версия редко бывает препятствием[1].
- Если заменить нужно по шаблону, например любые три цифры, формула не поможет: подстановочные знаки работают в окне замены, а не в ПОДСТАВИТЬ.
- При разном регистре в данных одна формула найдёт только точное написание: в нашем примере «ооо » в строке «ООО Ромашка» не заменилось[2]. Сначала приведите текст к одному регистру функцией СТРОЧН или ПРОПИСН.
- Если результат должен быть числом, ПОДСТАВИТЬ вернёт строку, и без ЗНАЧЕН сумма по столбцу её не увидит.
- Когда разных фрагментов больше трёх-четырёх, вложенные формулы трудно читать — надёжнее несколько проходов окна Ctrl+H.
- Если текст длиннее 32 767 знаков, он не поместится в ячейку[8], и ни одна текстовая формула это не обойдёт.
Если таких ограничений нет, ПОДСТАВИТЬ в Excel остаётся самым быстрым способом поправить столбец формулой. Пробелы, невидимые символы и числа как текст разобраны на странице о чистке выгрузок от мусора, а позиции и длина строки — на странице о ПСТР, ПОИСК и других функциях для строк. Другие группы формул собраны в каталоге формул Excel с разбором аргументов. Проверьте замену в тренажёре: урок подставляет новые строки и показывает, где формула пропустила вхождение.
Частые вопросы
Как заменить точку на запятую в Excel формулой?
Точку на запятую меняет формула =ЗНАЧЕН(ПОДСТАВИТЬ(A4;".";",")). ПОДСТАВИТЬ в Excel возвращает строку, а ЗНАЧЕН превращает её в число 1234,56[2].
Чем ПОДСТАВИТЬ отличается от ЗАМЕНИТЬ?
ПОДСТАВИТЬ отличается от ЗАМЕНИТЬ тем, что ищет конкретный текст, например все дефисы. ЗАМЕНИТЬ меняет знаки по позиции и числу знаков[3].
Как удалить символ из ячейки?
Символ удаляют заменой на пустые кавычки: =ПОДСТАВИТЬ(A5;"-";"") уберёт все дефисы. Без формулы то же делает Ctrl+H с пустым полем «Заменить на»[4].
Как заменить только второе вхождение символа?
Второе вхождение меняют через четвёртый аргумент: =ПОДСТАВИТЬ(A5;"-";"/";2) вернёт «Арт-001/А». Без номера заменятся все вхождения[1].
Почему ПОДСТАВИТЬ ничего не заменяет?
ПОДСТАВИТЬ ничего не заменяет, если фрагмент в формуле не совпадает с текстом в ячейке: в нашем примере «ооо » строчными не нашлось в «ООО Ромашка»[2]. Проверьте регистр, лишние пробелы и неразрывный пробел с кодом 160.
Работает ли ПОДСТАВИТЬ в Google Таблицах?
Да, в Google Таблицах функция SUBSTITUTE принимает те же четыре аргумента. Без номера вхождения она заменяет все совпадения и возвращает текст[5].
Источники
- [1] Microsoft, справка «Функция ПОДСТАВИТЬ», 2026
- [2] Редакция «Excel-тренажёра», проверка «замены ПОДСТАВИТЬ и ЗАМЕНИТЬ на артикулах, суммах и телефоне» в движке тренажёра, 2026
- [3] Microsoft, справка «Функция ЗАМЕНИТЬ», 2026
- [4] Microsoft, справка «Поиск или замена текста и чисел на листе», 2026
- [5] Google, справка «SUBSTITUTE», 2026
- [6] Microsoft, справка «Функция СЖПРОБЕЛЫ», 2026
- [7] Microsoft, справка «Функция ЗНАЧЕН», 2026
- [8] Microsoft, «Технические характеристики и ограничения Microsoft Excel», 2026