Excel формула подставить на английском


Функция

ПОДСТАВИТЬ(

)

, английский вариант SUBSTITUTE(),

заменяет определенный текст в текстовой строке на новое значение. Формула

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

исходную строку «Продажи (январь)» превратит в строку «Продажи (февраль)».

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


ПОДСТАВИТЬ

(

исходный_текст

;

старый_текст

;

новый_текст

;[номер_вхождения])


Исходный_текст

— текст или ссылка на ячейку, содержащую текст, в котором заменяется часть строки.

Старый_текст

— заменяемый текст.

Новый_текст

— текст, на который заменяется

старый_текст

.

Номер_вхождения

— определяет, какое вхождение фрагмента

Старый_текст

нужно заменить фрагментом. Если этот аргумент определен, то заменяется только заданное вхождение фрагмента

Старый_текст

. В противном случае все вхождения фрагмента

Старый_текст

в текстовой строке заменяются фрагментом

Новый_текст

.

Примеры

Пусть в ячейке

А6

введена строка

Продажи (январь)

,

прибыль (январь)

.

Чтобы заменить оба слова

январь

, на

февраль

, запишем формулу (см.

файл примера внизу статьи

):

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

Функция

ПОДСТАВИТЬ()

может заменить только первое, только второе и т.д. вхождение слова «январь». Записав формулу

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

получим строку

Продажи (январь), прибыль (февраль)

.

Кроме того, функция

ПОДСТАВИТЬ()

чувствительна к РЕгиСТру

. Записав

=ПОДСТАВИТЬ(A2; «ЯНВАРЬ»;»февраль»)

получим строку без изменений

Продажи (январь), прибыль (январь)

, т.к. для функции

ПОДСТАВИТЬ()

«ЯНВАРЬ» не тоже самое, что «январь».

Если строка содержит слова в разных регистрах, например,

Продажи (январь), прибыль (ЯНВАРЬ)

, то для замены слова

январь

на

февраль

можно порекомендовать формулу

=ПОДСТАВИТЬ(СТРОЧН(A2); «январь»;»февраль»)

В результате получим

продажи (

февраль

), прибыль (

февраль

)

.

Функция

ПОДСТАВИТЬ()

vs

ЗАМЕНИТЬ()

Пусть в ячейке

А2

введена строка

Продажи (январь)

. Чтобы заменить слово

январь

, на

февраль

, запишем формулы:

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

т.е. для функции

ЗАМЕНИТЬ()

потребовалось вычислить начальную позицию слова

январь

(10) и его длину (6). Это не удобно, функция

ПОДСТАВИТЬ()

справляется с задачей гораздо проще.

Кроме того, функция

ЗАМЕНИТЬ()

заменяет по понятным причинам только одно вхождение строки, функция

ПОДСТАВИТЬ()

может заменить все вхождения или только первое, только второе и т.д. Поясним на примере. Пусть в ячейке

А2

введена строка

Продажи (январь), прибыль (январь)

. Запишем формулы:

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

получим в первом случае строку

Продажи (февраль), прибыль (январь)

, во втором —

Продажи (февраль), прибыль (февраль)

. Записав формулу

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

получим строку

Продажи (январь), прибыль (февраль)

.

Кроме того, функция

ПОДСТАВИТЬ()

может работает с учетом регистра, а

ЗАМЕНИТЬ()

по понятным причинам не может.

Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 for Mac Excel 2016 Excel 2016 for Mac Excel 2013 Excel 2010 Excel 2007 Excel for Mac 2011 Excel Starter 2010 More…Less

This article describes the formula syntax and usage of the SUBSTITUTE function in Microsoft Excel.

Description

Substitutes new_text for old_text in a text string. Use SUBSTITUTE when you want to replace specific text in a text string; use REPLACE when you want to replace any text that occurs in a specific location in a text string.

Syntax

SUBSTITUTE(text, old_text, new_text, [instance_num])

The SUBSTITUTE function syntax has the following arguments:

  • Text    Required. The text or the reference to a cell containing text for which you want to substitute characters.

  • Old_text    Required. The text you want to replace.

  • New_text    Required. The text you want to replace old_text with.

  • Instance_num    Optional. Specifies which occurrence of old_text you want to replace with new_text. If you specify instance_num, only that instance of old_text is replaced. Otherwise, every occurrence of old_text in text is changed to new_text.

Example

Copy the example data in the following table, and paste it in cell A1 of a new Excel worksheet. For formulas to show results, select them, press F2, and then press Enter. If you need to, you can adjust the column widths to see all the data.

Data

Sales Data

<

Quarter 1, 2008

<

Quarter 1, 2011

<

Formula

Description (Result)

Result

=SUBSTITUTE(A2, «Sales», «Cost»)

Substitutes Cost for Sales (Cost Data)

Cost Data

=SUBSTITUTE(A3, «1», «2», 1)

Substitutes first instance of «1» with «2» (Quarter 2, 2008)

Quarter 2, 2008

=SUBSTITUTE(A4, «1», «2», 3)

Substitutes third instance of «1» with «2» (Quarter 1, 2012)

Quarter 1, 2012

See Also

REPLACE, REPLACEB functions

TRIM function

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.

На чтение 1 мин

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

Содержание

  1. Что возвращает функция
  2. Синтаксис
  3. Аргументы функции
  4. Дополнительная информация
  5. Примеры использования функции ПОДСТАВИТЬ в Excel

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

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

Telegram Logo Больше лайфхаков в нашем Telegram Подписаться

Синтаксис

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

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

Аргументы функции

  • text (текст) — текст который вы хотите заменить;
  • old_text (стар_текст) — старый текст где будет происходить замена;
  • new_text (нов_текст) — новый текст на который будет произведена замена;
  • [instance_num] (не обязательно) — определяет какое по счету вхождение текста будет заменено. В случае, если аргумент не указан, замена будет произведена во всем тексте.

Дополнительная информация

  • Функцию лучше всего использовать тогда, когда необходимо изменить какой-то конкретный текст на другой текст;
  • Формула чувствительна к регистру;
  • Если в качестве аргумента указано отрицательное число, система выдаст ошибку.

Примеры использования функции ПОДСТАВИТЬ в Excel

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

  • Что делает эта функция?
  • Синтаксис
  • Форматирование
  • Примеры
    • ПОДСТАВИТЬ с несколькими условиями (транслитерация)
    • ПОДСТАВИТЬ, чтобы посчитать слова
    • Заменить пробелы на переносы строк
    • ПОДСТАВИТЬ, чтобы посчитать встречаемость в тексте
    • ПОДСТАВИТЬ для подсчета цифр в тексте
  • Другие примеры
Раздел функций Текстовые
Название на английском SUBSTITUTE
Волатильность Не волатильная
Похожие функции ЗАМЕНИТЬ

Что делает эта функция?

Функция ПОДСТАВИТЬ позволяет заменить все вхождения или N-ное вхождение подстроки в тексте на другой текст. Подстрокой может быть как один символ, так и несколько.

Функция является в некоторой степени аналогом процедуры Найти и Заменить в Excel, с некоторыми отличиями:

  • Что очевидно и является базовым отличием, она является функцией, т.е. пересчитывается автоматически, в отличие от одноразового характера процедур, и выводит результат в другую ячейку, в то время, как процедура меняет результат на месте;
  • Функция ПОДСТАВИТЬ всегда чувствительна к регистру. В процедуре “найти и заменить” чувствительность к регистру опциональна;
  • Функция, как это ни странно, не поддерживает подстановочные символы (“*” и “?”);
  • Зато позволяет осуществлять массовую замену нескольких (до 64 в последней версии Excel) значений одновременно;
  • Еще одно преимущество функции в том, что она позволяет заменить не все вхождения, а определенное по порядку в строке, чего не позволяет сделать процедура.

Синтаксис

=ПОДСТАВИТЬ(Ячейка_или_текст;Заменяемый_текст;Чем_заменяем;[Порядковый_номер_заменяемого])

Последний аргумент является необязательным (поэтому указан в квадратных скобках в примере), если его не указывать, будут заменены все вхождения.

Форматирование

Характерные особенности функции ПОДСТАВИТЬ:

  • Пустая ячейка воспринимается как строка нулевой длины (“”).
  • Логические значения конвертируются в текст с сохранением регистра.
  • Все вариации числовых форматов (дата, время, дата-время, проценты, финансовый формат) конвертируются в соответствующее им натуральное число в текстовом формате, поэтому для сохранения исходного форматирования может понадобиться функция ТЕКСТ.

Примеры

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

  • по прямому назначению, когда необходимым результатом является сама строка с заменнными фрагментами
  • как вспомогательная функция в сложносоставных формулах, когда результатом вычислений является даже не строка, а число или логическое значение

Рассмотрю несколько примеров ситуаций, в которых лично использовал функцию.

ПОДСТАВИТЬ с несколькими условиями (транслитерация)

Заменить кириллицу на транслит автоматически с помощью формулы? Можно! Правда, длина формулы настолько велика, что ее лучше сохранить где-нибудь, а не составлять самостоятельно. Потому что это формула с 64 условиями (уровнями вложенности). Подробнее – по ссылке в начале этого абзаца.

ПОДСТАВИТЬ, чтобы посчитать слова

Тот случай, когда функция используется не по своему назначению, т.к. целевым значением является число, а не текст. Лайфхак стар как мир, но не теряет своей актуальности.

Сколько слов в ячейке? На 1 больше, чем пробелов между ними. Это будет справедливо всегда, если разделителем слов считается только пробел, и если пробелов между каждыми двумя словами не более 1. Чтобы обезопасить себя от лишних, можно воспользоваться функцией СЖПРОБЕЛЫ.

Как посчитать пробелы в строке? Как и любой символ, можно посчитать их, подсчитав длину строки с ними и без них, и вычислив разницу. Как получить строку без них? Конечно, с помощью функции ПОДСТАВИТЬ.

Так будет выглядеть формула для ячейки A1, учитывающая все эти нюансы. ДЛСТР измеряет длину строк:

=ДЛСТР(СЖПРОБЕЛЫ(A1)) - ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";"")) + 1

У формулы есть побочный эффект – для пустой ячейки она возвращает 1, поэтому, если пустые ячейки могут присутствовать, формулу выше придется “обернуть” выражением с Excel функцией ЕСЛИ:

=ЕСЛИ(A1="";0;ДЛСТР(СЖПРОБЕЛЫ(A1)) - ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";"")) + 1)

Заменить пробелы на переносы строк

Часто возникает задача заменить пробелы в строке на переносы строк, и наоборот. Здесь будет полезна комбинация функций ПОДСТАВИТЬ и СИМВОЛ. Так будет выглядеть формула, заменяющая все пробелы в строке на переносы строк.

=ПОДСТАВИТЬ(A1;" ";СИМВОЛ(10))

Как видно из формулы, код символа переноса строки – 10.

Обратите внимание, что результат может отображаться сплошной строкой, если не включить опцию “Перенести текст”.

Отображение переносов строк в Excel

ПОДСТАВИТЬ, чтобы посчитать встречаемость в тексте

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

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

Так выглядит формула, считающая в ячейке A1 количество вхождений 1-символьного фрагмента из ячейки B1:

=ДЛСТР(A1) - ДЛСТР(ПОДСТАВИТЬ(A1;B1;""))

Так – для подсчета встречаемости конкретного символа в ячейке, в данном случае – косой черты, что позволяет, например, посчитать уровень вложенности директории URL по ее адресу:

=ДЛСТР(A1) - ДЛСТР(ПОДСТАВИТЬ(A1;"/";""))

А так – для фрагмента длиной более 1 символа, например, если нужно посчитать, сколько раз встречается конкретное слово в тексте:

=(ДЛСТР(A1) - ДЛСТР(ПОДСТАВИТЬ(A1;B1;""))) / ДЛСТР(B1)

ПОДСТАВИТЬ для подсчета цифр в тексте

Представим, что наша задача – провалидировать список номеров телефонов на количество цифр в нем. Корректным будем считать номер, в котором 11 цифр.

При этом номер может быть указан в любом формате – со скобками, дефисами, плюсом в начале, с пробелами и без. Помимо самого номера в строке могут присутствовать другие пометки, например, контактное лицо, является телефон мобильным или нет.

Очевидно, что функция ДЛСТР не подойдет в таком случае, как и не удастся сходу удалить все лишние символы, чтобы оставить в ячейках только цифры.

Комбинация функций ПОДСТАВИТЬ и ДЛСТР в формуле массива с функцией СУММ позволит решить данную задачу:

=СУММ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;{1;2;3;4;5;6;7;8;9;0};"")))
Подсчитываем количество цифр в строках со смешанным содержимым. В столбце B формулы, в столбце С – их текст.

Другие примеры

Удалить цифры из ячеек

Удалить латиницу из текста

Добавить символ к каждому слову в ячейке

Удалить последнее слово в ячейке

Понравилась статья? Поддержите ее автора!
Набор инструментов !SEMTools поможет решить множество задач без ввода сложных формул и сэкономит ваше время. И вам полезно, и автору приятно!

Замена одного текста на другой внутри заданной текстовой строки — весьма частая ситуация при работе с данными в Excel. Реализовать подобное можно двумя функциями: ПОДСТАВИТЬ (SUBSTITUTE) и ЗАМЕНИТЬ (REPLACE). Эти функции во многом похожи, но имеют и несколько принципиальных отличий и плюсов-минусов в разных ситуациях. Давайте подробно и на примерах разберем сначала первую из них.

Её синтаксис таков:

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

где

  • Ячейка — ячейка с текстом, где производится замена
  • Старый_текст — текст, который надо найти и заменить
  • Новый_текст — текст, на который заменяем
  • Номер_вхождения — необязательный аргумент, задающий номер вхождения старого текста на замену

Замена текста функцией ПОДСТАВИТЬ (SUBSTITUTE)

Обратите внимание, что:

  • Если не указывать последний аргумент Номер_вхождения, то будут заменены все вхождения старого текста (в ячейке С1 — обе «Маши» заменены на «Олю»).
  • Если нужно заменить только определенное вхождение, то его номер задается в последнем аргументе (в ячейке С2 только вторая «Маша» заменена на «Олю»).
  • Эта функция различает строчные и прописные буквы (в ячейке С3 замена не сработала, т.к. «маша» написана с маленькой буквы)

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

Замена или удаление неразрывных пробелов

При выгрузке данных из 1С, копировании информации с вебстраниц или из документов Word часто приходится иметь дело с неразрывным пробелом — спецсимволом, неотличимым от обычного пробела, но с другим внутренним кодом (160 вместо 32). Его не получается удалить стандартными средствами — заменой через диалоговое окно Ctrl+H или функцией удаления лишних пробелов СЖПРОБЕЛЫ (TRIM). Поможет наша функция ПОДСТАВИТЬ, которой можно заменить неразрывный пробел на обычный или на пустую текстовую строку, т.е. удалить:

Удаление неразрывного пробела

Подсчет количества слов в ячейке

Если нужно подсчитать количество слов в ячейке, то можно применить простую идею: слов на единицу больше, чем пробелов (при условии, что нет лишних пробелов). Соответственно, формула для расчета будет простой:

Количество слов

Если предполагается, что в ячейке могут находиться и лишние пробелы, то формула будет чуть посложнее, но идея — та же.

Извлечение первых двух слов

Если нужно вытащить из ячейки только первые два слова (например ФИ из ФИО), то можно применить формулу:

Извлечение первых двух слов

У нее простая логика:

  1. заменяем второй пробел на какой-нибудь необычный символ (например #) функцией ПОДСТАВИТЬ (SUBSTITUTE)
  2. ищем позицию символа # функцией НАЙТИ (FIND)
  3. вырезаем все символы от начала строки до позиции # функцией ЛЕВСИМВ (LEFT)

Ссылки по теме

  • Зачистка текста от лишних пробелов, непечатаемых символов и т.д.
  • Как подсчитать количество слов в ячейке
  • Преобразование чисел-как-текст в полноценные числа

 

Понравилась статья? Поделить с друзьями:
  • Excel формула не воспринимается
  • Excel формула не видит число
  • Excel формула ндс сверху
  • Excel формула начинается с буквы
  • Excel формула начало дня