Excel подставить в макросе

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

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

Пример 1. В результате расчетов, произведенных в некотором приложении, были получены некоторые значения, записанные в таблицу Excel. Некоторые величины рассчитать не удалось, и вместо числового представления была сгенерирована ошибка “NaN”. Необходимо заменить все значения “NaN” на число 0 в соответствующих строках.

Таблица данных:

Таблица данных.

Для замены и подстановки используем рассматриваемую формулу в качестве массива. Вначале выделим диапазон ячеек C2:C9, затем введем формулу через комбинацию Ctrl+Shift+Enter:

Для замены и подстановки.

Функция ЧЗНАЧ выполняет преобразование полученных текстовых строк к числовым значениям. Описание аргументов функции ПОДСТАВИТЬ:

  • B2:B9 – диапазон ячеек, в которых требуется выполнить замену части строки;
  • “NaN” – фрагмент текста, который будет заменен;
  • 0 – фрагмент, который будет вставлен на место заменяемого фрагмента.

Для подстановки значений во всех ячейках необходимо нажать Ctrl+Shift+Enter, чтобы функция была выполнена в массиве. Результат вычислений:

подстановка значений во всех ячейках.

Таким же образом функция подставляет значения и другой таблицы при определенном условии.



Автозамена значения в текстовых ячейках с помощью функции ПОДСТАВИТЬ

Пример 2. Провайдер домашнего интернета хранит данные о своих абонентах в таблице Excel. Предположим, улица Садовая была переименована в Никольскую. Необходимо быстро произвести замену названия улицы в строке данных об адресе проживания каждого клиента.

Таблица данных:

Таблица.

Для выполнения заданного условия используем формулу:

Примечание: в данном примере ПОДСТАВИТЬ также используется в массиве Ctrl+Shift+Enter.

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

В результате.

Формула с макросом регулярного выражения и функция ПОДСТАВИТЬ

Пример 3. При составлении таблицы из предыдущего примера была допущена ошибка: все номера домов на улице Никольская должны быть записаны как «№№-Н», где №№ — номер дома. Как быстро исправить ошибку?

Пример 3.

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

  1. Открыть редактор макросов (Ctrl+F11).
  2. Вставить исходный код функции (приведен ниже).
  3. Выполнить данный макрос и закрыть редактор кода.

Код функции:

Public Function RegExpExtract(Text As String, Pattern As String, Optional Item As Integer = 1) As String
    On Error GoTo ErrHandl
    Set regex = CreateObject("VBScript.RegExp")
    regex.Pattern = Pattern
    regex.Global = True
    If regex.Test(Text) Then
        Set matches = regex.Execute(Text)
        RegExpExtract = matches.Item(Item - 1)
        Exit Function
    End If
ErrHandl:
    RegExpExtract = CVErr(xlErrValue)
End Function

Для того, чтобы воспользоваться этой формулой, в любой ячейке необходимо ввести следующее:

= RegExpExtract(текст;регулярное_выражение;[номер_вхождения])

Регулярные выражения могут быть различными. Например, для выделения любого символа из текстовой строки в качестве второго аргумента необходимо передать значение «w», а цифры – «d».

Для решения задачи данного Примера 3 используем следующую запись:

Логика вычислений:

  1. Функция ЕСЛИОШИБКА используется для возврата исходной строки текста (B2), поскольку результатом выполнения функции RegExpExtract(B2;»Никольская») будет код ошибки #ЗНАЧ!, если ей не удалось найти хотя бы одно вхождение подстроки «Никольская» в строке B2.
  2. Если результат выполнения сравнения значений RegExpExtract(B2;»Никольская»)=»Никольская» является ИСТИНА, будет выполнена функция ПОДСТАВИТЬ(B2;RegExpExtract(B2;»d+»);RegExpExtract(B2;»d+»)&»-Н»), где:
  • a. B2 – исходный текст, содержащий полный адрес;
  • b. RegExpExtract(B2;»d+») – формула, выделяющая номер дома из строки с полным адресом;
  • c. RegExpExtract(B2;»d+»)&»-Н» – новый номер, содержащий исходное значение и символы «-Н».

Результат вычислений:

Результат подстановки.

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

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

Функция ПОДСТАВИТЬ имеет следующую синтаксическую запись:

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

Описание аргументов:

  • текст – обязательный аргумент, характеризующий текстовую строку, в которой необходимо выполнить замену части текста. Может быть задан как текстовая строка («некоторый текст») или ссылка на ячейку, которая содержит текстовые данные.
  • стар_текст – часть текстовой строки, принимаемой в качестве первого аргумента данной функции, которую требуется заменить. Аргумент обязателен для заполнения.
  • нов_текст – обязательный для заполнения аргумент, содержащий текстовые данные, которые будут вставлены на место заменяемой части строки.
  • [номер_вхождения] – числовое значение, характеризующее номер вхождения старого текста, который требуется заменить на фрагмент нового текста. Возможные варианты записи:
  1. Аргумент явно не указан. Функция ПОДСТАВИТЬ определит все части текстовой строки, соответствующие фрагменту текста стар_текст, и выполнит их замену на нов_текст;
  2. В качестве аргумента передано числовое значение. Функция ПОДСТАВИТЬ заменит только указанное вхождение. Отсчет начинается слева направо, число 1 соответствует первому вхождению. Например, функция =ПОДСТАВИТЬ(«текст №1, №2, №3»;«текст»;«новый»;1) вернет значение «новый_текст №1, №2, №3».

Примечания:

  1. Аргумент [номер_вхождения] должен быть задан из диапазон целых положительных чисел от 1 до n, где n определяется максимально допустимой длиной строки, содержащейся в объекте данных (например, в ячейке).
  2. Если в текстовой строке, представленной в качестве аргумента текст не содержится фрагмент, переданный в качестве аргумента стар_текст, функция ПОДСТАВИТЬ вернет строку текст без изменений.
  3. Если число вхождений заменяемого фрагмента в обрабатываемой строке меньше, чем числовое значение, переданное в качестве аргумент [номер_вхождения], функция ПОДСТАВИТЬ вернет текстовую строку в исходном виде. Например, аргументы функции («а 1 а 2 а 3»;«а»;«б»;4) вернут строку «а 1 а 2 а 3».
  4. Рассматриваемая функция чувствительная к регистру, то есть строки «Слово» и «слово» не являются тождественными.
  5. Для решения аналогичных задач по замене части символов текстовой строки можно использовать функцию ЗАМЕНИТЬ. Однако, в отличие от функции ПОДСТАВИТЬ, для ее использования необходимо явно указывать позицию начального символа для замены, а также количество символов, которые необходимо заменить. Функция автоматически выполняет поиск указанной части строки и производит ее замену, поэтому в большинстве случаев предлагает более удобный функционал для работы с текстовыми строками.

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

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

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

где

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

Поиск или замена текста и чисел на листе

​Смотрите также​​54600​: Здравствуйте, нужна формула​ нравится в названии​ xls. В этой​ исправлятьЕсли нельзя -​: Да , все​ в объекте данных​ громоздким, однако он​ 1) As String​ место заменяемого фрагмента.​ соответствуют результаты «барин»​ столбцов, чтобы видеть​ рядом с полем​Найти все​Формулы​ Например, если ввести​Примечание:​45600​ для замены части​ функции «сумм»?​

​ таблице в некоторых​ зачем тогда эта​ работает, спасибо​ (например, в ячейке).​ весьма удобен для​On Error GoTo​

  1. ​Для подстановки значений во​​ и «барон»​​ все данные.​​Формат​​, каждого экземпляра условия,​​,​​г*д​

    Изображение ленты Excel

  2. ​ Мы стараемся как можно​45600​

    • ​ текста в ячейке.​Я пробовал запускать​​ клетках указаны формулы​​ тема?​

    • ​Юрий М​Если в текстовой строке,​ работы с таблицами,​​ ErrHandl​​ всех ячейках необходимо​

  3. ​* (звездочка)​​Данные​​и нажмите кнопку​ которые вы ищете​значения​, то будут найдены​​ оперативнее обеспечивать вас​​34600​Например​ тот же макрос​

    ​ одного из двух​Вообще, попробуйте перед​: Можно ведь на​ представленной в качестве​ содержащими большое количество​

    • ​Set regex =​ нажать Ctrl+Shift+Enter, чтобы​Любое количество символов​​Сведения о продажах​​Очистить​ указываются и щелкнув​и​

    • ​ слова «год» и​ актуальными справочными материалами​То есть чтобы​​Ячейка А1: aaa​​ вручную в этом​ видов:​ выгрузкой установить для​

      ​ месте менять (без​​ аргумента текст не​ данных.​ CreateObject(«VBScript.RegExp»)​ функция была выполнена​Пример: условию «*-восток»​Квартал 1, 2008 г.​​.​​ нужное вхождение в​примечания​ «город».​​ на вашем языке.​​ все последние 2​

  4. ​Ячейка B1: bbb​​ документе повторно -​​1. «​ Excel свои разделители​ формул): Ctrl+H​

    • ​ содержится фрагмент, переданный​Функция ПОДСТАВИТЬ имеет следующую​regex.Pattern = Pattern​ в массиве. Результат​​ соответствуют результаты «северо-восток»​​Квартал 1, 2011 г.​​Для поиска текста или​​ списке сделает ячейки​​доступны только на​​Вопросительный знак заменяет один​

    • ​ Эта страница переведена​ цифры стали «0».​Ячейка C1: laskjdlasjdljasldjxxxjaskldjyyysajdlskajxxxjdklsajdyyy​​ нет результата.​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=RC[-1]*RC[-4]​​ целой и дробной​​В верхнем поле​​ в качестве аргумента​​ синтаксическую запись:​

    • ​regex.Global = True​ вычислений:​ и «юго-восток»​​Формула​​ чисел на листе​​ active. Можно сортировать​​ вкладке​​ любой знак. Например,​​ автоматически, поэтому ее​​Заранее спасибо.​​ sajdsklajdyyysadljasljdxxx yyysadjsajd yyy​

      ​Пробовал снова через​​» (перемножить две​​ части: Файл -Параметры​​ ~*​​ стар_текст, функция ПОДСТАВИТЬ​​= ПОДСТАВИТЬ(текст;стар_текст;нов_текст;[номер_вхождения])​​If regex.Test(Text) Then​​Таким же образом функция​~ (тильда), за которой​​Описание (результат)​​ также можно использовать​​ результаты​​Поиск​​ если ввести​​ текст может содержать​

    • ​TimSha​ xxxsadwqjehjqwejk xxxwqeoyqoeqwioyyyy​ ctrl+F найти и​​ колонки, чтобы получить​​ -Дополнительно -снять галку​

    • ​В нижнем точка.​ вернет строку текст​Описание аргументов:​​Set matches =​​ подставляет значения и​​ следует ?, *​​Результат​

  5. ​ функции ПОИСК и​Найти​; на вкладке «​г?д​​ неточности и грамматические​​: И что конкретно​Нужно в ячейке​ заменить все «=»​​ значение третьей)​​ с «Использовать системные​

    ​romul1981​​ без изменений.​текст – обязательный аргумент,​ regex.Execute(Text)​ другой таблицы при​​ или ~​​=ПОДСТАВИТЬ(A2; «продажах»; «ценах»)​ НАЙТИ.​все, щелкнув заголовок​Заменить​, то будут найдены​​ ошибки. Для нас​​ у вас не​​ C1 все xxx​​ на «=» -​2. «Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММ(R[-82]C:R[-1]C)» (поле​ разделители» и установить​

  6. ​: Уважаемые профессионалы!​Если число вхождений заменяемого​

    • ​ характеризующий текстовую строку,​RegExpExtract = matches.Item(Item​​ определенном условии.​​Вопросительный знак, звездочку или​​Замена «ценах» на «продажах»​​В этой статье описаны​

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

    • ​​ тильду​ («Сведения о ценах»)​ синтаксис формулы и​​Чтобы заменить текст или​​формулы​ и «год».​ статья была вам​ сотен, найти 2​ ячейки А1, все​​ формулы, включая итоги,​​После сохранения таблицы​​romul1981​​ массово но желательно​

      ​ строке меньше, чем​​ выполнить замену части​​Exit Function​​Пример 2. Провайдер домашнего​​Пример: условию «фг06~?»​​Сведения о ценах​

      ​ использование​ числа, введите знаки​.​

  7. ​Совет:​ полезна. Просим вас​ последних/правых(=ПРАВСИМВ) символа ,заменить​ yyy заменить на​​ сразу определяются.​​ 1С (ввиду ее​​: Почему не подходит​​ без использования макросов​

Советы

  • ​ числовое значение, переданное​ текста. Может быть​End If​ интернета хранит данные​ соответствует результат «фг06?»​=ПОДСТАВИТЬ(A3; «1»; «2»; 1)​ПОДСТАВИТЬ​ для замены в​Для поиска данных с​ Звездочки, знак вопроса и​ уделить пару секунд​ их (=ПОДСТАВИТЬ) на​ значение ячейки b1​​Кто-то сталкивался с​​ ограниченных возможностей) дополнительно​​ найти-заменить:​​ изменить ячейки, а​​ в качестве аргумент​​ задан как текстовая​ErrHandl:​ о своих абонентах​​Функция ПОДСТАВИТЬ в Excel​​Замена первого экземпляра «1»​​в Microsoft Excel.​​ поле​

  • ​ учетом регистра установите​ символы тильда (~)​ и сообщить, помогла​ 00.​Пробовал делать через​

support.office.com

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

​ такой ситуацией? Почему​ открывает получившийся файл​Конечный файл представляет​​ именно заменить знак​​ [номер_вхождения], функция ПОДСТАВИТЬ​

Описание

​ строка («некоторый текст»)​RegExpExtract = CVErr(xlErrValue)​ в таблице Excel.​ выполняет динамическую замену​ на «2» («Квартал​Подставляет значение аргумента «нов_текст»​Заменить на​ флажок​ можно найти в​ ли она вам,​ps Файл-пример в​

Синтаксис

​ replace+find, но не​

​ иксель ругается с​ через OLE, дорисовывает​

  • ​ из себя «условно»​​ точки — «.»​ вернет текстовую строку​ или ссылка на​End Function​

  • ​ Предположим, улица Садовая​​ определенной части строки​

  • ​ 2, 2008 г.»)​​ вместо значения аргумента​(или оставьте это​

  • ​Учитывать регистр​​ данных листа перед​ с помощью кнопок​ реальной структуре и​ разобрался как искать​ ошибкой «#ИМЯ?» ?​ в его модуль​ три группы вкладок:​ на запятую «,»,​ в исходном виде.​ ячейку, которая содержит​Для того, чтобы воспользоваться​

Пример

​ была переименована в​ на указанное новое​Квартал 2, 2008 г.​ «стар_текст» в текстовой​ поле пустым, чтобы​.​ их с тильда​ внизу страницы. Для​ форматах данных -​ после того как​p.s. то, что​ макрос и выполняет​1. Выгрузка (неизменяемая​

​ учитывая что длина​

​ Например, аргументы функции​

​ текстовые данные.​

​ этой формулой, в​

​ Никольскую. Необходимо быстро​

​ значение и возвращает​

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

​ строке. Функция ПОДСТАВИТЬ​

​ ничем не заменять​Для поиска ячеек, содержащих​

​ в поле​

​ удобства также приводим​

​ ваш шанс приблизить​ уже один раз​ «сумм» написано маленькими​

​ этот макрос:​

​ таблица — куда​

​ каждой ячейки разная.​ («а 1 а​стар_текст – часть текстовой​

​ любой ячейке необходимо​

support.office.com

Использование подстановочных знаков в запросах поиска

​ произвести замену названия​​ новую строку, содержащую​Замена третьего экземпляра «1»​ используется, когда нужно​ знаки), а затем​ только символы, введенные​Найти​ ссылку на оригинал​ решение…​ нашел искомое значение.​ буквами, не влияет​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub RenewEveryFormula()​ копируются исходные данные)​Это нужно для​ 2 а 3»;«а»;«б»;4)​ строки, принимаемой в​ ввести следующее:​ улицы в строке​ замененную часть текста.​ на «2» («Квартал​ заменить определенный текст​ нажмите кнопку​

​ в поле​. Например, чтобы найти​ (на английском языке).​DonPedro3x​Просьба кто может​

​ на ситуацию (пробовал​Cells.Replace What:=»»=»», Replacement:=»»=»»,​2. Формулы которые​ обработки файла который​ вернут строку «а​ качестве первого аргумента​= RegExpExtract(текст;регулярное_выражение;[номер_вхождения])​

​ данных об адресе​

​ Благодаря этой функции​

​ 1, 2012 г.»)​

​ в текстовой строке;​
​Найти далее​Найти​ данные, которые содержат​

​Функции поиска и замены​

​: Да я прошу​
​ поделиться макросом или​ и с большими).​ LookAt:=xlPart, SearchOrder _​

​ приводят в порядок​ выгружает из баззы​ 1 а 2​

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

support.office.com

Примеры функции ПОДСТАВИТЬ для замены текста в ячейке Excel

​Квартал 1, 2012 г.​ функция ЗАМЕНИТЬ используется,​или​, установите флажок​ «?», вы введите​ в Excel используются​ прощения забыл пример​ желательно формулой для​p.s.s. написать «sum»​:=xlByRows, MatchCase:=False, SearchFormat:=False,​ выгрузку​ данных цифры но​ а 3».​

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

​ требуется заменить. Аргумент​ различными. Например, для​Таблица данных:​ из другой ячейки.​Примечание:​ когда нужно заменить​Найти все​Ячейка целиком​~?​ для поиска в​ вложить​ решение данной задачи.​ тоже не канает.​ ReplaceFormat:=False​

​3. Отображение данных,​

Таблица данных.

​ выгружает их с​Рассматриваемая функция чувствительная к​ обязателен для заполнения.​ выделения любого символа​Для выполнения заданного условия​ Рассмотрим возможности функции​Мы стараемся как​

Для замены и подстановки.

​ любой текст начиная​.​.​как критерии поиска.​ книге необходимой информации,​

  • ​gling​Прикладываю файл с​Используйте теги: для​End Sub»;​
  • ​ ВПРы, формулы для​ точкой, а значит​
  • ​ регистру, то есть​нов_текст – обязательный для​ из текстовой строки​

​ используем формулу:​ на конкретных примерах​ можно оперативнее обеспечивать​ с определенной позиции.​Примечание:​Если вы хотите найти​

подстановка значений во всех ячейках.

​Нажмите кнопку​ например определенного числа​: Есть такой вариант.​ примером как есть​

​ кода кнопка #,​

Автозамена значения в текстовых ячейках с помощью функции ПОДСТАВИТЬ

​Задача макроса -​ конечных пользователей.​ их потом нельзя​ строки «Слово» и​ заполнения аргумент, содержащий​ в качестве второго​Примечание: в данном примере​ в Excel.​ вас актуальными справочными​ПОДСТАВИТЬ(текст;стар_текст;нов_текст;[номер_вхождения])​ Если поле​

​ текст или числа​

Таблица.

​Параметры​ или текстовой строки.​

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЛЕВСИМВ(A2;ДЛСТР(A2)-2)&»00″​ и как должно​ для формул кнопка​

​ найти и заменить​

В результате.

Формула с макросом регулярного выражения и функция ПОДСТАВИТЬ

​Вторые листы -​ исправлять. К сожалению​ «слово» не являются​ текстовые данные, которые​ аргумента необходимо передать​ ПОДСТАВИТЬ также используется​Пример 1. В результате​ материалами на вашем​Аргументы функции ПОДСТАВИТЬ описаны​Заменить на​

Пример 3.

​ с определенным форматированием,​, чтобы определить дополнительные​На вкладке​МВТ​ быть.​ fx​ во всём файле​ которые приводят в​ вариант Найти-Заменить не​ тождественными.​ будут вставлены на​ значение «w», а​

  1. ​ в массиве Ctrl+Shift+Enter.​
  2. ​ расчетов, произведенных в​ языке. Эта страница​
  3. ​ ниже.​недоступно, откройте вкладку​

​ нажмите кнопку​

​ условия поиска при​Главная​: Или так​Replace.xlsx​Pelena​
​ символ "=" на​ порядок - "очень"​
​ подходит по ряду​Для решения аналогичных задач​
​ место заменяемой части​
​ цифры – «d».​
​В результате получим:​
​ некотором приложении, были​ переведена автоматически, поэтому​
​Текст​Заменить​
​Формат​
​ необходимости:​
​в группе​
​200?'200px':''+(this.scrollHeight+5)+'px');">=ОКРУГЛВНИЗ(A2;-2)​
​snipe​

​: Проверьте формулу на​ «=» (макрос я​ скрыты. Попытка их​ причин.​

​ по замене части​

​ строки.​Для решения задачи данного​Пример 3. При составлении​ получены некоторые значения,​ ее текст может​    Обязательный. Текст или ссылка​.​и выберите нужные​

​Для поиска данных на​Редактирование​YouGreed​

​: обязательно макросом -​

  1. ​ предмет русских/английских букв​ записал через встроенный​ отобразить обычно ни​Спасибо!!!​ символов текстовой строки​[номер_вхождения] – числовое значение,​ Примера 3 используем​ таблицы из предыдущего​ записанные в таблицу​ содержать неточности и​ на ячейку, содержащую​
  2. ​При необходимости поиск можно​ параметры в диалоговом​ листе или во​нажмите кнопку​
  • ​: DonPedro3x, Так попробуйте)​ формулы уже не​сумм должно быть​
  • ​ механизм икселя, вручную​ к чему хорошему​JayBhagavan​ можно использовать функцию​
  • ​ характеризующее номер вхождения​ следующую запись:​ примера была допущена​ Excel. Некоторые величины​

​ грамматические ошибки. Для​

Результат подстановки.

​ текст, в котором​ отменить, нажав клавишу​ окне​ всей книге выберите​Найти и выделить​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЗНАЧЕН(ЛЕВСИМВ(A2;3)&»00″)​

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

​ в цене?​ русскими, а С​

​ через ctrl+F заменив​

​ не приводила -​

  • ​: ПОДСТАВИТЬ()​ ЗАМЕНИТЬ. Однако, в​ старого текста, который​Логика вычислений:​ ошибка: все номера​ рассчитать не удалось,​ нас важно, чтобы​ подставляются знаки.​ ESC.​Найти формат​
  • ​ в поле​.​TimSha​AlexM​ в диапазоне -​ «=» на «=»).​
  • ​ ибо много рук​vikttur​ отличие от функции​ требуется заменить на​Функция ЕСЛИОШИБКА используется для​ домов на улице​
  • ​ и вместо числового​ эта статья была​Стар_текст​Чтобы заменить одно или​.​Искать​
  1. ​Выполните одно из указанных​: И что -​: Код =ПОДСТАВИТЬ(ПОДСТАВИТЬ(C2;»xxx»;A2);»yyy»;B2)​ английской​До выполнения макроса​ использует эту таблицу,​: Инструмент​
  2. ​ ПОДСТАВИТЬ, для ее​ фрагмент нового текста.​ возврата исходной строки​ Никольская должны быть​ представления была сгенерирована​ вам полезна. Просим​    Обязательный. Заменяемый текст.​ все совпадения с​Совет:​вариант​ ниже действий.​

​ ни одной попытки​

  1. ​sed1108​Udik​ все клетки с​ не все из​Найти/Заменить​ использования необходимо явно​ Возможные варианты записи:​ текста (B2), поскольку​ записаны как «№№-Н»,​
  2. ​ ошибка “NaN”. Необходимо​ вас уделить пару​Нов_текст​ введенным текстом, нажмите​ Чтобы найти ячейки, точно​на листе​Чтобы найти текст или​ так и не​
  3. ​: Я же написал:​: А ячейки с​ формулами содержали в​ них прямые. В​После этого копировать​ указывать позицию начального​Аргумент явно не указан.​ результатом выполнения функции​ где №№ -​ заменить все значения​ секунд и сообщить,​    Обязательный. Текст, на который​ кнопку​ соответствующие определенному формату,​
  4. ​или​ числа, выберите пункт​ сделали?!​ «макросом или желательно​ формулами в случайном​
  5. ​ себе эти формулы​ итоге приходится каждый​ пустую ячейку, выделить​ символа для замены,​ Функция ПОДСТАВИТЬ определит​ RegExpExtract(B2;»Никольская») будет код​ номер дома. Как​ “NaN” на число​ помогла ли она​ заменяется «стар_текст».​Заменить​ можно удалить все​в книге​Найти​И мне лениво​ формулой».​ порядке располагаются? А​ в виде текстовых​ раз помимо выгрузки​ диапазон,​ а также количество​

exceltable.com

формула замены символа «, в ячейке

​ все части текстовой​​ ошибки #ЗНАЧ!, если​ быстро исправить ошибку?​
​ 0 в соответствующих​ вам, с помощью​Номер_вхождения​или​ условия в поле​

​.​​.​

​ было… ;)​​Спасибо за ваш​

​ то можно было​​ значений (=RC). После​ — еще и​

​Правка-Спецвставка-Сложить-ОК​​ символов, которые необходимо​ строки, соответствующие фрагменту​ ей не удалось​
​В данном случае для​ строках.​
​ кнопок внизу страницы.​

planetaexcel.ru

Замена символа в ячейках формулой

​    Необязательный. Определяет, какое вхождение​​Заменить все​
​Найти​Для поиска данных в​Чтобы найти и заменить​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЦЕЛОЕ(A2/100)*100​ вариант ответа.​ бы на FormulaLocal​ выполнения макроса иксель​ искать и заменять​Сергей​
​ заменить. Функция автоматически​ текста стар_текст, и​ найти хотя бы​ поиска числовых значений​Таблица данных:​ Для удобства также​ фрагмента «стар_текст» нужно​.​, а затем выбрать​ строках или столбцах​ текст или числа,​
​DonPedro3x​

​Спасибо большое, не​​ записать.​

​ хватается за голову​​ отдельные (НО НЕ​​: vikttur, там тайна​
​ выполняет поиск указанной​ выполнит их замену​ одно вхождение подстроки​​ номера дома воспользоваться​

​Для замены и подстановки​​ приводим ссылку на​

​ заменить фрагментом «нов_текст».​​Microsoft Excel сохраняет параметры​ ячейку с нужным​ выберите в поле​ выберите пункт​:)

​: Все способы работают!)​​ знал что все​Nic70y​

​ и начинает видеть​​ ВСЕ) столбцы.​JayBhagavan​ части строки и​ на нов_текст;​ «Никольская» в строке​ встроенными функциями не​ используем рассматриваемую формулу​ оригинал (на английском​ Если этот аргумент​ форматирования, которые можно​ форматированием в качестве​Просматривать​Заменить​Спасибо большое. Особенно​
​ так просто. Почему-то​: Вы ее сюда​ эти формулы именно​Поверьте — делать​: Цитатаromul1981 написал: К​ производит ее замену,​В качестве аргумента передано​ B2.​ удастся. Рациональнее всего​

​ в качестве массива.​​ языке) .​ определен, то заменяется​
​ определить. Если вы​ примера. Щелкните стрелку​вариант​
​.​ TimSha — гениально​ не смог нагуглить​
​ скопипастили?​ как формулы. И​ это несколько раз​
​ сожалению вариант Найти-Заменить​ поэтому в большинстве​ числовое значение. Функция​
​Если результат выполнения сравнения​ использовать регулярные выражения.​ Вначале выделим диапазон​Использование подстановочных знаков в​ только заданное вхождение​ еще раз выполнить​ рядом с кнопкой​по строкам​В поле​ просто.​ эту формулу.​у меня все​ всё это прекрасно​ в день крайне​ не подходит по​ случаев предлагает более​ ПОДСТАВИТЬ заменит только​
​ значений RegExpExtract(B2;»Никольская»)=»Никольская» является​ По умолчанию, в​ ячеек C2:C9, затем​ условии сравнения для​

​ фрагмента «стар_текст». В​​ поиск на листе​Формат​или​Найти​Pelena​DonPedro3x​

​ норм отрабатывает.​​ работает и достаточно​ геморойно!!​:)

planetaexcel.ru

Замена символа «=» на «=» для обновления формулы (Макросы/Sub)

​ ряду причин​​ удобный функционал для​
​ указанное вхождение. Отсчет​ ИСТИНА, будет выполнена​ Excel отсутствует функция​ введем формулу через​ фильтров текст, а​ противном случае все​ данные и не​, выберите пункт​
​по столбцам​​введите текст или​​: Такого ещё варианта​: Добрый день, форумчане.​покажите файл -​
​ быстро, здесь проблем​vikttur​
​vikttur​ работы с текстовыми​ начинается слева направо,​ функция ПОДСТАВИТЬ(B2;RegExpExtract(B2;»d+»);RegExpExtract(B2;»d+»)&»-Н»), где:​ для работы с​ комбинацию Ctrl+Shift+Enter:​ при поиске и​ вхождения фрагмента «стар_текст»​
​ удается найти символы,​
​Выбрать формат из ячейки​.​
​ числа, которые нужно​ не было​
​Вопрос такой:​
​ сотрите все данные​ нет.​: Но я вам​: Я написал, как​ строками.​ число 1 соответствует​a. B2 – исходный​ регулярными выражениями, однако​Функция ЧЗНАЧ выполняет преобразование​
​ замене содержимого.​ в тексте заменяются​ которые вы знаете​, а затем щелкните​Для поиска данных с​ искать, или щелкните​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ОКРВНИЗ(A2;100)​Есть столбец в​ нафиг, оставьте только​Проблемы есть с​ не покажу, потому​ игнорировать одну причину.​ximki-vinki​ первому вхождению. Например,​ текст, содержащий полный​
​ ее можно добавить​ полученных текстовых строк​Дополнительные сведения об использовании​ фрагментом «нов_текст».​ содержал сведения, может​ ячейку с форматированием,​ конкретными свойствами выберите​ стрелку в поле​AlexM​ 990000 строк с​ типаформулы, может чего​ формулами итогов (Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММ(R[-82]C:R[-1]C).​ что у вас​The_Prist​: Нужно заменить символ​
​ функция =ПОДСТАВИТЬ(«текст №1,​ адрес;​ следующим способом:​ к числовым значениям.​ подстановочных знаков с​
​Скопируйте образец данных из​ потребоваться снимите нужные​ которое требуется найти.​ в поле​Найти​: Почти как у​ кодами такого типа:​
​ и прояснится​ Указанный макрос подмены​ паспортов нету… Так​: Когда будут озвучены​
​ «, на .​ №2, №3»;«текст»;«новый»;1) вернет​b. RegExpExtract(B2;»d+») – формула,​Открыть редактор макросов (Ctrl+F11).​ Описание аргументов функции​
​ помощью средства поиска​ следующей таблицы и​
​ параметры форматирования из​Выполните одно из указанных​Область поиска​и нажмите кнопку​

​TimSha​​34857​IWI​
​ знака равенства не​ получается? Догадки играть​ эти причины -​Но при использовании​

​ значение «новый_текст №1,​​ выделяющая номер дома​Вставить исходный код функции​ ПОДСТАВИТЬ:​ и замены в​ вставьте их в​ предыдущего поиска. В​

​ ниже действий.​​вариант​ последнего поиска в​
​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЦЕЛОЕ(A2%)/1%​54646​
​:​ заставляет иксель правильно​ будем?​ тогда, может и​ функций ПОДСТАВИТЬ и​

​ №2, №3».​​ из строки с​​ (приведен ниже).​​B2:B9 – диапазон ячеек,​ Excel: Поиск или​ ячейку A1 нового​ диалоговом окне​Чтобы найти текст или​формулы​

excelworld.ru

Заменить определенные символы в ячейке

​ списке.​​Udik​45675​juravl​
​ отреагировать. Вместо этого​
​JayBhagavan​
​ решение оптимальное найдется.​
​ ЗАМЕНИТЬ, выдает ошибку,​Примечания:​ полным адресом;​
​Выполнить данный макрос и​ в которых требуется​ замена текста и​ листа Excel. Чтобы​Поиск и замена​ числа, нажмите кнопку​
​,​В условиях поиска можно​: Мои 5 копеек​45698​, попробуйте добавить в​ иксель в этих​
​: Поручите этот геморрой​ А пока звучит​ т.к. используются в​Аргумент [номер_вхождения] должен быть​
​c. RegExpExtract(B2;»d+»)&»-Н» – новый​ закрыть редактор кода.​ выполнить замену части​ чисел на листе.​
​ отобразить результаты формул,​

​перейдите на вкладку​​Найти все​значения​ использовать подстановочные знаки,​

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>​​34678​

​ конец макроса изменение​​ клетках оставляет ошибку​ макросу.​ как бред. Самый​
​ этих функциях​ задан из диапазон​
​ номер, содержащий исходное​Код функции:​ строки;​Используйте​ выделите их и​

CyberForum.ru

Заменить последние два символа в ячейке (Формулы/Formulas)

​Поиск​​или​
​или​
​ например вопросительный знак​=ОТБР(A2;-2)​Надо чтобы около​
​ формата ячейки на​
​ «#ИМЯ?». «Показать этапы​
​juravl​
​ оптимальный инструмент не​
​Bema​
​ целых положительных чисел​ значение и символы​Public Function RegExpExtract(Text As​“NaN” – фрагмент текста,​
​Чтобы найти​
​ нажмите клавишу F2,​
​и нажмите кнопку​
​Найти далее​
​примечания​
​ (?) и звездочку​Serge_007​ него был столбец​
​ «общий» (ранее я​

​ вычисления» по этой​​: Всем привет!​ подходит, а почему​: Пример можете показать?​ от 1 до​ «-Н».​ String, Pattern As​ который будет заменен;​
​? (вопросительный знак)​ а затем —​Параметры​.​.​;)

​ (*).​​: До кучи:​ с кодами такого​ так понял был​

​ функции — скриншот​​Задача такая: 1С​​ - не говорят.Цитатаromul1981​

​Сергей​​ n, где n​​Результат вычислений:​

​ String, Optional Item​​0 – фрагмент, который​
​Любой символ (один)​

​ клавишу ВВОД. При​​, чтобы открыть параметры​Совет:​Примечание:​Звездочка используется для поиска​
​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЗАМЕНИТЬ(A2;4;2;)*10000%​ типа:​
​ "текст").​

​ во вложении. Похоже,​​ сохраняет таблицу на​
​ написал: а значит​: надо так =ПОДСТАВИТЬ(A1;»»»»;».»)​ определяется максимально допустимой​

​Данный способ может показаться​​ As Integer =​ будет вставлен на​:)
​Пример: условию "бар?н"​

​ необходимости измените ширину​​ форматирования. Щелкните стрелку​​ При нажатии кнопки​​ ​

​ любой строки знаков.​​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПСТР(A2;1;3)&»00″Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЛЕВБ(A2;3)*100​:)
​43800​
​sed1108​

​ ему что-то не​​ винт в формате​
​ их потом нельзя​​ximki-vinki​

excelworld.ru

​ длиной строки, содержащейся​

Если нужно сцепить формулу и текст или показать работающую формулу, то не так все просто.

Например: в B1 формула «=A1+A2».

Хотим видеть в C1:
«A1+A2=5 шт.»

Вариант, который предложил undestroyer, для сцепки в формуле1 формулы2 и другого текста работает, если:

  • формулу2 вписывать в формулу1 вручную (применимо, если формул одна-две);

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

Но если нужно отображать не одну — несколько (десятков) формул?

В этом случае нужно писать макрос. Но есть и другой вариант, проще.

Макрофункции.

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

В Excel есть еще один неплохой инструмент – именованные диапазоны. Пробуем?

Выделить ячейку для вставки формулы со сцепкой (у нас это C1). Нажать Ctrl+F3 – откроется окно для работы с именами. Вписать имя (пусть будет «хочу_формулу»), в поле Диапазон вписать формулу:

=ПОЛУЧИТЬ.ЯЧЕЙКУ(6;Лист1!B1)

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

ОК-Закрыть – имеем именованный диапазон.

Если в C1 вписать простую формулу =хочу_формулу, в ней отобразится формула, работающая в ячейке B1.

Чтобы сцепить формулу и ее результат, применим сцепление (конкатенацию) текста, предварительно удалив знак «=» из формулы:

=ПОДСТАВИТЬ(хочу_формулу;"=";;1)&"="&B1&" шт."

ПОДСТАВИТЬ(где;что_менять;на_что_менять; вхождение). Единичка в функции — заменить только первый знак «=», без этого параметра из формулы будут удалены все «=».

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 г.

См. также

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

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

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

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