Excel подставить во все значения

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

В этой статье описаны синтаксис формулы и использование ПОДСТАВИТЬ в Microsoft Excel.

Описание

Подставляет значение аргумента «нов_текст» вместо значения аргумента «стар_текст» в текстовой строке. Функция ПОДСТАВИТЬ используется, когда нужно заменить определенный текст в текстовой строке; функция ЗАМЕНИТЬ используется, когда нужно заменить любой текст начиная с определенной позиции.

Синтаксис

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

Аргументы функции ПОДСТАВИТЬ описаны ниже.

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

  • Стар_текст    Обязательный. Заменяемый текст.

  • Нов_текст    Обязательный. Текст, на который заменяется «стар_текст».

  • Номер_вхождения    Необязательный. Определяет, какое вхождение фрагмента «стар_текст» нужно заменить фрагментом «нов_текст». Если этот аргумент определен, то заменяется только заданное вхождение фрагмента «стар_текст». В противном случае все вхождения фрагмента «стар_текст» в тексте заменяются фрагментом «нов_текст».

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Данные

Сведения о продажах

<

Квартал 1, 2008 г.

<

Квартал 1, 2011 г.

<

Формула

Описание (результат)

Результат

=ПОДСТАВИТЬ(A2; «продажах»; «ценах»)

Замена «ценах» на «продажах» («Сведения о ценах»)

Сведения о ценах

=ПОДСТАВИТЬ(A3; «1»; «2»; 1)

Замена первого экземпляра «1» на «2» («Квартал 2, 2008 г.»)

Квартал 2, 2008 г.

=ПОДСТАВИТЬ(A4; «1»; «2»; 3)

Замена третьего экземпляра «1» на «2» («Квартал 1, 2012 г.»)

Квартал 1, 2012 г.

См. также

Функция ЗАМЕНИТЬ, ЗАМЕНИТЬБ

Функция СЖПРОБЕЛЫ

Нужна дополнительная помощь?

Содержание

  1. Функция ПОДСТАВИТЬ
  2. Описание
  3. Синтаксис
  4. Пример
  5. Замена текста функцией ПОДСТАВИТЬ (SUBSTITUTE)
  6. Замена или удаление неразрывных пробелов
  7. Подсчет количества слов в ячейке
  8. Извлечение первых двух слов
  9. Поиск и подстановка по нескольким условиям
  10. Постановка задачи
  11. Способ 1. Дополнительный столбец с ключом поиска
  12. Способ 2. Функция СУММЕСЛИМН
  13. Способ 3. Формула массива
  14. Ссылки по теме

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

В этой статье описаны синтаксис формулы и использование ПОДСТАВИТЬ в Microsoft Excel.

Описание

Подставляет значение аргумента «нов_текст» вместо значения аргумента «стар_текст» в текстовой строке. Функция ПОДСТАВИТЬ используется, когда нужно заменить определенный текст в текстовой строке; функция ЗАМЕНИТЬ используется, когда нужно заменить любой текст начиная с определенной позиции.

Синтаксис

Аргументы функции ПОДСТАВИТЬ описаны ниже.

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

Стар_текст Обязательный. Заменяемый текст.

Нов_текст Обязательный. Текст, на который заменяется «стар_текст».

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

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Сведения о продажах

=ПОДСТАВИТЬ(A2; «продажах»; «ценах»)

Замена «ценах» на «продажах» («Сведения о ценах»)

Сведения о ценах

=ПОДСТАВИТЬ(A3; «1»; «2»; 1)

Замена первого экземпляра «1» на «2» («Квартал 2, 2008 г.»)

Квартал 2, 2008 г.

=ПОДСТАВИТЬ(A4; «1»; «2»; 3)

Замена третьего экземпляра «1» на «2» («Квартал 1, 2012 г.»)

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Поиск и подстановка по нескольким условиям

Постановка задачи

Если вы продвинутый пользователь Microsoft Excel, то должны быть знакомы с функцией поиска и подстановки ВПР или VLOOKUP (если еще нет, то сначала почитайте эту статью, чтобы им стать). Для тех, кто понимает, рекламировать ее не нужно 🙂 — без нее не обходится ни один сложный расчет в Excel. Есть, однако, одна проблема: эта функция умеет искать данные только по совпадению одного параметра. А если у нас их несколько?

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

Нужно найти и вытащить цену заданного товара (Нектарин) в определенном месяце (Январь), т.е. получить на выходе152, но автоматически, т.е. с помощью формулы. ВПР в чистом виде тут не поможет, но есть несколько других способов решить эту задачу.

Способ 1. Дополнительный столбец с ключом поиска

Это самый очевидный и простой (хотя и не самый удобный) способ. Поскольку штатная функция ВПР (VLOOKUP) умеет искать только по одному столбцу, а не по нескольким, то нам нужно из нескольких сделать один!

Добавим рядом с нашей таблицей еще один столбец, где склеим название товара и месяц в единое целое с помощью оператора сцепки (&), чтобы получить уникальный столбец-ключ для поиска:

Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:

Плюсы : Простой способ, знакомая функция, работает с любыми данными.

Минусы : Надо делать дополнительный столбец и потом, возможно, еще и прятать его от пользователя. При изменении числа строк в таблице — допротягивать формулу сцепки на новые строки (хотя это можно упростить применением умной таблицы).

Способ 2. Функция СУММЕСЛИМН

Если нужно найти именно число (в нашем случае цена как раз число), то вместо ВПР можно использовать функцию СУММЕСЛИМН (SUMIFS) , появившуюся начиная с Excel 2007. По идее, эта функция выбирает и суммирует числовые значения по нескольким (до 127!) условиям. Но если в нашем списке нет повторяющихся товаров внутри одного месяца, то она просто выведет значение цены для заданного товара и месяца:

Плюсы : Не нужен дополнительный столбец, решение легко масштабируется на большее количество условий (до 127), быстро считает.

Минусы : Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).

Способ 3. Формула массива

О том, как спользовать связку функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) в качестве более мощной альтернативы ВПР я уже подробно описывал (с видео). В нашем же случае, можно применить их для поиска по нескольким столбцам в виде формулы массива. Для этого:

  1. Выделите пустую зеленую ячейку, где должен быть результат.
  2. Введите в строке формул в нее следующую формулу:

  • Нажмите в конце не Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести формулу не как обычную, а как формулу массива.
  • Как это на самом деле работает:

    Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ. Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение. По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.

    Плюсы : Не нужен отдельный столбец, работает и с числами и с текстом.

    Минусы : Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).

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

    Еще есть вариант), на тот случай, если массив ниже или выше, или просто в рамках какого-то диапазона.
    Данную формулу мне подсказал человек с форума под ником Евгений

    Пример по ссылке ниже:
    Скачать

    Пример с СУММПРОИЗВ() работает аналогично, как и приведенный «Способ 2» с СУММЕСЛИМН() с теми же самыми ограничениями (работает с числами и необходимы уникальные сочетания товар/месяц иначе получим сумму),но есть и преимущество — работает в 2003 Excel.
    Я привел эти примеры, как дополнительные варианты «выборки».

    Ну и еще вариант через ПРОСМОТР:

    Из преимуществ — не требует массивного ввода, работает в любой версии Excel, не нужно делать конкатенацию как в примере с ВПР, работает существенно быстрее, чем конструкция с ИНДЕКС(ПОИСКПОЗ) при использовании нулевого интервального просмотра (точного поиска). Особенность — при нескольких сочетаниях товар/месяц, попадающих под выборку — возвратит значение последнего совпадения.

    Аналог данной формулы через ИНДЕКС(ПОИСКПОЗ):

    Требует массивного ввода и вернет последнее совпадение.

    Для первого совпадения:

    Откуда появляется переменная «L3» в формуле, если ее надо вычислить??

    еще один вариант:
    =СРЗНАЧЕСЛИМН(C:C;A:A;G3;B:B;I3)
    соответственно при дубляже строк он выдаст их среднюю.

    Николай
    такой вопрос, как вы выбираете функцию без мышки и её завершение?

    в ролике в набрали «=ин» и что то нажали (время 8:55), и сразу появилось «=Индекс(«

    А для второго варианта можно исключить повторы используя формулу:

    А для второго варианта можно исключить повторы используя формулу:

    =ЕСЛИОШИБКА(СУММЕСЛИМН(C:C;A:A;G3;B:B;I3)/СЧЁТЕСЛИМН(A:A;G3;B:B;I3);»Ничего не найдено!»;)

    Николай, для 3-го случая можно сделать формулу, очень похожую на Вашу, но без использования массива:

    Если в функции индекс в качестве второго параметра ввести 0, то он отрабатывает как массив

    А как посчитать сумму к определённой дате.
    Например есть в 1м столбце даты (всегда разные) а во втором суммы. Нужно посчитать какая сумма выходит на 25 число каждого месяца.
    Пример:
    Дата Оплатили Выставили счёт
    30.12.13 15000 руб.
    02.01.14 12000 руб.
    15.01.14 16000 руб
    31.01.14 45000 руб
    05.02.14 50000 руб
    08.02.14 65000 руб
    12.02.14 1000 руб
    25.02.14 12000 руб
    28.02.14 20000 руб
    03.03.14 12000 руб
    21.03.14 17000 руб
    24.05.14 40000 руб
    24.05.14 20000 руб

    Нужно знать долг на 25 число каждого месяца.
    Помогите пожалуйста.

    Ну так, для примера, формула для поиска отфильтрованного значения с определенным порядковым номером ))

    а если столбы находяться не рядом , получмиться их склеить ?

    1

    критерий1 знач знач знач критерий 2 знач то что ищем
    авто 1 ер ер 11 аа текст
    авто 1 ере ере 11 ап текст
    мото 2 ер ер 22 ап текст
    мото 2 ре еер 22 аптап текст

    Всем привет!
    Подскажите, пожалуйста, как можно показать в одной строке в каких месяцах продавался, например, картофель?
    Какую формулу следует использовать? Возможно ли это вообще осуществить стандартными формулами без допмакросов?

    В моем случае требуется по одному артикулу обуви отобразить В ОДНОЙ СТРОЧКЕ все размеры, какие есть в наличии (столбец артикул обуви, столбец размер обуви).

    Источник

    • Что делает эта функция?
    • Синтаксис
    • Форматирование
    • Примеры
      • ПОДСТАВИТЬ с несколькими условиями (транслитерация)
      • ПОДСТАВИТЬ, чтобы посчитать слова
      • Заменить пробелы на переносы строк
      • ПОДСТАВИТЬ, чтобы посчитать встречаемость в тексте
      • ПОДСТАВИТЬ для подсчета цифр в тексте
    • Другие примеры
    Раздел функций Текстовые
    Название на английском 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 поможет решить множество задач без ввода сложных формул и сэкономит ваше время. И вам полезно, и автору приятно!

    Skip to content

    Формула ЗАМЕНИТЬ и ПОДСТАВИТЬ для текста и чисел

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

    Функции Excel ЗАМЕНИТЬ и ПОДСТАВИТЬ используются для замены одной буквы или части текста в ячейке. Но делают они это немного по-разному. Об этом и поговорим далее.

    Как работает функция ЗАМЕНИТЬ  

    Функция ЗАМЕНИТЬ  позволяет заместить слово, один или несколько символов в текстовой строке другим словом или символом.

    ЗАМЕНИТЬ(старый_текст; начальная_позиция; число_знаков, новый_текст)

    Как видите, функция ЗАМЕНИТЬ имеет 4 аргумента, и все они обязательны для заполнения.

    • Старый_текст — исходный текст (или ссылка на ячейку с исходным текстом), в котором вы хотите поменять некоторые символы.
    • Начальная_позиция — позиция первого символа в старый_текст, начиная с которого вы хотите сделать замену.
    • Число_знаков — количество символов, которые вы хотите заместить новыми.
    • Новый_текст – текст замены.

    Например, чтобы исправить слово «кит» на «кот», следует поменять вторую букву в слове. Вы можете использовать следующую формулу:

    =ЗАМЕНИТЬ(«кит»;2;1;»о»)

    И если вы поместите исходное слово в какую-нибудь ячейку, скажем, A2, вы можете указать соответствующую ссылку на ячейку в аргументе старый_текст:

    =ЗАМЕНИТЬ(А2;2;1;»о»)

    Примечание. Если аргументы начальная_позиция или число_знаков отрицательные или не являются числом, формула замены возвращает ошибку #ЗНАЧ!.

    Использование функции ЗАМЕНИТЬ с числами

    Функция ЗАМЕНИТЬ предназначена для работы с текстом. Но безусловно, вы можете использовать ее для замены не только букв, но и цифр, являющихся частью текстовой строки, например:

    =ЗАМЕНИТЬ(A1; 9; 4; «2023»)

    как заменить значения в ячейке Эксель

    Обратите внимание, что мы заключаем «2023» в двойные кавычки, как вы обычно делаете с текстовыми значениями.

    Аналогичным образом вы можете заменить одну или несколько цифр в числе. Например формула:

    =ЗАМЕНИТЬ(A1;3;2;»23″)

    И снова вы должны заключить значение замены в двойные кавычки («23»).

    Примечание. Формула ЗАМЕНИТЬ всегда возвращает текстовую строку, а не число. На скриншоте выше обратите внимание на выравнивание по левому краю возвращаемого текстового значения в ячейке B1 и сравните его с исходным числом, выровненным по правому краю в A1. А поскольку это текст, вы не сможете использовать его в других вычислениях, пока не преобразуете его обратно в число, например, умножив на 1 или используя любой другой метод, описанный в статье Как преобразовать текст в число.

    Как заменить часть даты

    Как вы только что видели, функция ЗАМЕНИТЬ отлично работает с числами, за исключением того, что она возвращает текстовую строку :) Помните, что во внутренней системе Excel даты хранятся в виде чисел. Поэтому нельзя пытаться заменить часть даты, работая с ней как с текстом.

    Например, у вас есть дата в A3, скажем, 15 июля 1992г., и вы хотите изменить «июль» на «май». Итак, вы пишете формулу ЗАМЕНИТЬ(A3; 4; 3; «Май»), которая предписывает Excel поменять 3 символа в ячейке A3, начиная с четвертого. Мы получили следующий результат:

    Почему так? Потому что «15-июл-92» — это только визуальное представление базового серийного номера (33800), представляющего дату. Итак, наша формула замены заменяет цифры начиная с четвертой (а это два нуля) в указанном выше числе на текст «Май» и возвращает в результате текстовую строку «338Май».

    Чтобы заставить функцию ЗАМЕНИТЬ правильно работать с датами, вы должны сначала преобразовать даты в текстовые строки, используя функцию ТЕКСТ. Кроме того, вы можете встроить функцию ТЕКСТ непосредственно в аргумент старый_текст функции ЗАМЕНИТЬ:

    =ЗАМЕНИТЬ(ТЕКСТ(A3; «дд-ммм-гг»); 4; 3; «Май»)

    Помните, что результатом приведенной выше формулы является текстовая строка, и поэтому это решение работает только в том случае, если вы не планируете использовать измененные даты в своих дальнейших расчетах. Если вам нужны даты, а не текстовые строки, используйте функцию ДАТАЗНАЧ , чтобы преобразовать значения, возвращаемые функцией Excel ЗАМЕНИТЬ, обратно в даты:

    =ДАТАЗНАЧ(ЗАМЕНИТЬ(ТЕКСТ(A3; «дд-ммм-гг»); 4; 3; «Май»))

    Как заменить сразу несколько букв или слов

    Довольно часто может потребоваться выполнить более одной замены в одной и той же ячейке Excel. Конечно, можно было сделать одну замену, вывести промежуточный результат в дополнительный столбец, а затем снова использовать функцию ЗАМЕНИТЬ. Однако лучший и более профессиональный способ — использовать вложенные функции ЗАМЕНИТЬ, которые позволяют выполнить сразу несколько замен с помощью одной формулы. В этом смысле «вложение» означает размещение одной функции внутри другой.

    Рассмотрим следующий пример. Предположим, у вас есть список телефонных номеров в столбце A, отформатированный как «123456789», и вы хотите сделать их более похожими на привычные нам  телефонные номера, добавив дефисы. Другими словами, ваша цель — превратить «123456789» в «123-456-789».

    Вставить первый дефис легко. Вы пишете обычную формулу замены Excel, которая заменяет ноль символов дефисом, т.е. просто добавляет дефис на четвёртой позиции в ячейке:

    =ЗАМЕНИТЬ(A3;4;0;»-«)

    Результат приведенной выше формулы замены выглядит следующим образом:

    А теперь нам нужно вставить еще один дефис в восьмую позицию. Для этого вы помещаете приведенную выше формулу в еще одну функцию Excel ЗАМЕНИТЬ. Точнее, вы встраиваете её в аргумент старый_текст другой функции, чтобы вторая функция ЗАМЕНИТЬ обрабатывала значение, возвращаемое первой формулой, а не первоначальное значение из ячейки А3:

    =ЗАМЕНИТЬ(ЗАМЕНИТЬ(A3;4;0;»-«);8;0;»-«)

    В результате вы получаете номера телефонов в нужном формате:

    Аналогичным образом вы можете использовать вложенные функции ЗАМЕНИТЬ, чтобы текстовые строки выглядели как даты, добавляя косую черту (/) там, где это необходимо:

    =ЗАМЕНИТЬ(ЗАМЕНИТЬ(A3;3;0;»/»);6;0;»/»)

    Кроме того, вы можете преобразовать текстовые строки в реальные даты, обернув приведенную выше формулу ЗАМЕНИТЬ функцией ДАТАЗНАЧ:

    =ДАТАЗНАЧ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(A3;3;0;»/»);6;0;»/»))

    И, естественно, вы не ограничены в количестве функций, которые вы можете последовательно, как матрёшки, вложить друг в друга в одной формуле (современные версии Excel позволяют использовать до 8192 символов и до 64 вложенных функций в одной формуле).

    Например, вы можете попробовать 3 вложенные функции ЗАМЕНИТЬ, чтобы число отображалось как дата и время:

    =ЗАМЕНИТЬ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(A3;3;0;»/»);6;0;»/»);9;0;» «);12;0;»:»)

    Как заменить текст в разных местах

    До сих пор во всех примерах мы имели дело с простыми задачами и производили замены в одной и той же позиции в каждой ячейке. Но реальные задачи часто бывают сложнее. В ваших рабочих листах заменяемые символы могут не обязательно появляться в одном и том же месте в каждой ячейке, и поэтому вам придется найти позицию первого символа, начиная с которого нужно заменить часть текста. Следующий пример продемонстрирует то, о чем я говорю.

    Предположим, у вас есть список адресов электронной почты в столбце A. И название одной компании изменилось с «ABC» на, скажем, «BCA». Изменилось и название их почтового домена. Таким образом, вы должны соответствующим образом обновить адреса электронной почты всех клиентов и заменить три буквы в адресах электронной почты, где это необходимо.

    Но проблема в том, что имена почтовых ящиков имеют разную длину, и поэтому нельзя указать, с какой именно позиции начинается название домена. Другими словами, вы не знаете, какое значение указать в аргументе начальная_позиция функции Excel ЗАМЕНИТЬ. Чтобы узнать это, используйте функцию Excel НАЙТИ, чтобы определить позицию, с которой начинается доменное имя в адресе электронной почты:

    =НАЙТИ(«@abc»; A3)

    Затем вставьте указанную выше функцию НАЙТИ в аргумент начальная_позиция формулы ЗАМЕНИТЬ:

    =ЗАМЕНИТЬ(A3; НАЙТИ(«@abc»;A3); 4; «@bca»)

    ПримечаниеМы включаем символ «@» в нашу формулу поиска и замены Excel, чтобы избежать случайных ошибочных замен в именах почтовых ящиков электронной почты. Конечно, вероятность того, что такие совпадения произойдут, очень мала, и все же вы можете перестраховаться.

    Как вы видите на скриншоте ниже, у формулы нет проблем, чтобы поменять символы в разных позициях. Однако если заменяемая текстовая строка не найдена и менять в ней ничего не нужно, формула возвращает ошибку #ЗНАЧ!:

     Excel как заменить буквы в адресе

    И мы хотим, чтобы формула вместо ошибки возвращала исходный адрес электронной почты без изменения.  Для этого заключим нашу формулу НАЙТИ И ЗАМЕНИТЬ в функцию ЕСЛИОШИБКА:

    =ЕСЛИОШИБКА(ЗАМЕНИТЬ(A3; НАЙТИ(«@abc»;A3); 4; «@bca»);A3)

    И эта доработанная формула прекрасно работает, не так ли?

    Заменить заглавные буквы на строчные и наоборот

    Еще один полезный пример – заменить первую строчную букву в ячейке на прописную (заглавную). Всякий раз, когда вы имеете дело со списком имен, товаров и т.п., вы можете использовать приведенную ниже формулу, чтобы изменить первую букву на ЗАГЛАВНУЮ. Ведь названия товаров могут быть записаны по-разному, а в списках важно единообразие.

    Таким образом, нам нужно заменить первый символ в тексте на заглавную букву. Используем формулу

    =ЗАМЕНИТЬ(СТРОЧН(A3);1;1;ПРОПИСН(ЛЕВСИМВ(A3;1)))

    excel заменить первые буквы на заглавные

    Как видите, эта формула сначала заменяет все буквы в тексте на строчные при помощи функции СТРОЧН, а затем первую строчную букву меняет на заглавную (прописную).

    Быть может, это будет полезно.

    Описание функции ПОДСТАВИТЬ

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

    Синтаксис формулы ПОДСТАВИТЬ в Excel следующий:

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

    Первые три аргумента являются обязательными, а последний – нет.

    • Текст – исходный текст, в котором вы хотите заменить слова либо отдельные символы. Может быть тестовой строой, ссылкой на ячейку или же результатом вычисления другой формулы.
    • Старый_текст – что именно вы хотите заменить.
    • Новый_текст – новый символ или слово для замены старого_текста.
    • Номер_вхождения — какой по счёту экземпляр старый_текст вы хотите заменить. Если этот параметр опущен, все вхождения старого текста будут заменены новым текстом.

    Например, все приведенные ниже формулы подставляют вместо «1» – цифру «2» в ячейке A2, но возвращают разные результаты в зависимости от того, какое число указано в последнем аргументе:

    =ПОДСТАВИТЬ(A3;»1″;»2″;1) — Заменяет первое вхождение «1» на «2».

    =ПОДСТАВИТЬ(A3;»1″;»2″;2) — Заменяет второе вхождение «1» на «2».

    =ПОДСТАВИТЬ(A3;»1″;»2″) — Заменяет все вхождения «1» на «2».

    На практике формула ПОДСТАВИТЬ также используется для удаления ненужных символов из текста. Вы просто меняете их на пустую строку “”.

    Например, чтобы удалить пробелы из текста, замените их на пустоту.

    =ПОДСТАВИТЬ(A3;» «;»»)

    Примечание. Функция ПОДСТАВИТЬ в Excel чувствительна к регистру . Например, следующая формула меняет все вхождения буквы «X» в верхнем регистре на «Y» в ячейке A2, но не заменяет ни одной буквы «x» в нижнем регистре.

    =ПОДСТАВИТЬ(A3;»Х»;»Y»)

    Замена нескольких значений одной формулой

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

    Предположим, у вас есть текстовая строка типа « пр1, эт1, з1 » в ячейке A3, где «пр» означает «Проект», «эт» означает «этап», а «з» означает «задача». Вы хотите заместить три этих кода их полными эквивалентами. Для этого вы можете написать 3 разные формулы подстановки:

    =ПОДСТАВИТЬ(A3;»пр»;»Проект «)

    =ПОДСТАВИТЬ(A3;»эт»;»Этап «)

    =ПОДСТАВИТЬ(A3;»з»;»Задача «)

    А затем вложить их друг в друга:

    =ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;»пр»;»Проект «); «эт»;»Этап «);»з»;»Задача «)

    Обратите внимание, что мы добавили пробел в конце каждого аргумента новый_текст для лучшей читабельности.

    Другие полезные применения функции ПОДСТАВИТЬ:

    • Замена неразрывных пробелов в ячейке Excel обычными
    • Убрать пробелы в числах
    • Удалить перенос строки в ячейке
    • Подсчитать определенные символы в ячейке

    Что лучше использовать – ЗАМЕНИТЬ или ПОДСТАВИТЬ?

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

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

    Вот как вы можете заменить текст в ячейке и использовать функции ПОДСТАВИТЬ и ЗАМЕНИТЬ в 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 поворот текста в ячейке
  • Excel подсказки при наведении ячейки
  • Excel поворот строки в столбец
  • Excel подсказка при заполнении ячейки
  • Excel по умолчанию сохранять на компьютере