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.
Функция ПОДСТАВИТЬ при условии подставляет значение
Пример 1. В результате расчетов, произведенных в некотором приложении, были получены некоторые значения, записанные в таблицу Excel. Некоторые величины рассчитать не удалось, и вместо числового представления была сгенерирована ошибка “NaN”. Необходимо заменить все значения “NaN” на число 0 в соответствующих строках.
Таблица данных:
Для замены и подстановки используем рассматриваемую формулу в качестве массива. Вначале выделим диапазон ячеек C2:C9, затем введем формулу через комбинацию Ctrl+Shift+Enter:
Функция ЧЗНАЧ выполняет преобразование полученных текстовых строк к числовым значениям. Описание аргументов функции ПОДСТАВИТЬ:
- B2:B9 – диапазон ячеек, в которых требуется выполнить замену части строки;
- “NaN” – фрагмент текста, который будет заменен;
- 0 – фрагмент, который будет вставлен на место заменяемого фрагмента.
Для подстановки значений во всех ячейках необходимо нажать Ctrl+Shift+Enter, чтобы функция была выполнена в массиве. Результат вычислений:
Таким же образом функция подставляет значения и другой таблицы при определенном условии.
Автозамена значения в текстовых ячейках с помощью функции ПОДСТАВИТЬ
Пример 2. Провайдер домашнего интернета хранит данные о своих абонентах в таблице Excel. Предположим, улица Садовая была переименована в Никольскую. Необходимо быстро произвести замену названия улицы в строке данных об адресе проживания каждого клиента.
Таблица данных:
Для выполнения заданного условия используем формулу:
Примечание: в данном примере ПОДСТАВИТЬ также используется в массиве Ctrl+Shift+Enter.
В результате получим:
Формула с макросом регулярного выражения и функция ПОДСТАВИТЬ
Пример 3. При составлении таблицы из предыдущего примера была допущена ошибка: все номера домов на улице Никольская должны быть записаны как «№№-Н», где №№ — номер дома. Как быстро исправить ошибку?
В данном случае для поиска числовых значений номера дома воспользоваться встроенными функциями не удастся. Рациональнее всего использовать регулярные выражения. По умолчанию, в Excel отсутствует функция для работы с регулярными выражениями, однако ее можно добавить следующим способом:
- Открыть редактор макросов (Ctrl+F11).
- Вставить исходный код функции (приведен ниже).
- Выполнить данный макрос и закрыть редактор кода.
Код функции:
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 используем следующую запись:
Логика вычислений:
- Функция ЕСЛИОШИБКА используется для возврата исходной строки текста (B2), поскольку результатом выполнения функции RegExpExtract(B2;»Никольская») будет код ошибки #ЗНАЧ!, если ей не удалось найти хотя бы одно вхождение подстроки «Никольская» в строке B2.
- Если результат выполнения сравнения значений RegExpExtract(B2;»Никольская»)=»Никольская» является ИСТИНА, будет выполнена функция ПОДСТАВИТЬ(B2;RegExpExtract(B2;»d+»);RegExpExtract(B2;»d+»)&»-Н»), где:
- a. B2 – исходный текст, содержащий полный адрес;
- b. RegExpExtract(B2;»d+») – формула, выделяющая номер дома из строки с полным адресом;
- c. RegExpExtract(B2;»d+»)&»-Н» – новый номер, содержащий исходное значение и символы «-Н».
Результат вычислений:
Данный способ может показаться громоздким, однако он весьма удобен для работы с таблицами, содержащими большое количество данных.
Особенности использования функции ПОДСТАВИТЬ в Excel
Функция ПОДСТАВИТЬ имеет следующую синтаксическую запись:
= ПОДСТАВИТЬ(текст;стар_текст;нов_текст;[номер_вхождения])
Описание аргументов:
- текст – обязательный аргумент, характеризующий текстовую строку, в которой необходимо выполнить замену части текста. Может быть задан как текстовая строка («некоторый текст») или ссылка на ячейку, которая содержит текстовые данные.
- стар_текст – часть текстовой строки, принимаемой в качестве первого аргумента данной функции, которую требуется заменить. Аргумент обязателен для заполнения.
- нов_текст – обязательный для заполнения аргумент, содержащий текстовые данные, которые будут вставлены на место заменяемой части строки.
- [номер_вхождения] – числовое значение, характеризующее номер вхождения старого текста, который требуется заменить на фрагмент нового текста. Возможные варианты записи:
- Аргумент явно не указан. Функция ПОДСТАВИТЬ определит все части текстовой строки, соответствующие фрагменту текста стар_текст, и выполнит их замену на нов_текст;
- В качестве аргумента передано числовое значение. Функция ПОДСТАВИТЬ заменит только указанное вхождение. Отсчет начинается слева направо, число 1 соответствует первому вхождению. Например, функция =ПОДСТАВИТЬ(«текст №1, №2, №3»;«текст»;«новый»;1) вернет значение «новый_текст №1, №2, №3».
Примечания:
- Аргумент [номер_вхождения] должен быть задан из диапазон целых положительных чисел от 1 до n, где n определяется максимально допустимой длиной строки, содержащейся в объекте данных (например, в ячейке).
- Если в текстовой строке, представленной в качестве аргумента текст не содержится фрагмент, переданный в качестве аргумента стар_текст, функция ПОДСТАВИТЬ вернет строку текст без изменений.
- Если число вхождений заменяемого фрагмента в обрабатываемой строке меньше, чем числовое значение, переданное в качестве аргумент [номер_вхождения], функция ПОДСТАВИТЬ вернет текстовую строку в исходном виде. Например, аргументы функции («а 1 а 2 а 3»;«а»;«б»;4) вернут строку «а 1 а 2 а 3».
- Рассматриваемая функция чувствительная к регистру, то есть строки «Слово» и «слово» не являются тождественными.
- Для решения аналогичных задач по замене части символов текстовой строки можно использовать функцию ЗАМЕНИТЬ. Однако, в отличие от функции ПОДСТАВИТЬ, для ее использования необходимо явно указывать позицию начального символа для замены, а также количество символов, которые необходимо заменить. Функция автоматически выполняет поиск указанной части строки и производит ее замену, поэтому в большинстве случаев предлагает более удобный функционал для работы с текстовыми строками.
Этой статьей я хочу закончить описание самых распространённых текстовых функций в Excel. Но спешу вас заверить что это не все доступные функции их будет побольше, но это уже тема совсем другой статьи.
Как вы уже знаете, с текстом можно производить огромное количество разнообразнейших операций, которые позволят вам сделать работу эффективной и качественной.
Для этих целей я и отобрал 21 текстовую функцию, чтобы разобрать по отдельности каждую из них.
А теперь рассмотрим следующие 7 функций работы с текстовыми значениями, они будут последними в списке, но не последние по функционалу:
Для тех, кто не читал первую и вторую части, я повторюсь где можно отыскать весь набор функций. Перейдите на панели инструментов во вкладку «Формулы» и нажмите иконку «Текстовые», в выпадающем меню выберете функцию которая вам нужна, это будет быстрый способ.
Вторым вариантом будет в этой же вкладке нажать иконку «Вставить функцию» и в новом диалоговом окне в категории выбираете «Текстовые», но данный способ я считаю лучшим так как снизу окна идет описание выбранной функции что очень полезно.
Функция Т
Производит проверку в указанной ячейке, является ли значение в ней текстовым и в случае позитивной проверки возвращает этот текст, а если нет, то будет возвращен пустой текст (две кавычки). Полезно использовать возможности функции про проверке значений в ячейках для избежания ошибок при написании формул в Excel.
Синтаксис функции:
= Т(_значение_), где:
значение – ссылка на значение которое необходимо проверить.
Пример применения:
Функция ПЕЧСИМВ
Эта функции сможет удалить из вашего текста все непечатаемые знаки. Основную пользу функция принесет при использовании ее на работе с импортированными данными с других программ и содержащие символы, возможность печати которых не возможно. К примеру, это могут быть компьютерные коды низкого уровня или символы в выгруженных таблицах с другими форматами.
Синтаксис функции:
= ПЕЧСИМВ(_текст_), где:
- текст – указание на ячейку в которой необходимо стереть непечатаемые символы.
Пример применения:
Функция РУБЛЬ
Рассматриваемая функция умеет превращать число в текстовое значение и прикрепляет к нему аббревиатуру денежной единицы. Кстати название функции, а также обозначение валюты зависит от настроенных языковых параметров. Преобразованное число в текст имеет денежный формат: # ##0_р_.;-# ##0_р_. и округляется до указанного в формуле количества десятичных знаков.
Синтаксис функции:
= РУБЛЬ(_число_, _число_знаков_), где:
- число – это ссылка на ячейку, которая содержит число, формула или же любое число, требующее преобразований;
- число знаков – указывается сколько цифр после запятой вам нужно. Отрицательное значение делает округление слева от запятой, а положительное – справа. Если аргумент не указан, то значение по умолчанию 2 знака.
Пример применения: Стоить помнить, что форматирование ячейки с помощью функции РУБЛЬ, в отличие от стандартного форматирование через контекстное меню, превращает свой результат в текст, в отличие от других способов. Но, в принципе, использовать в формулах результат функции возможно, так как MS Excel имеет возможность превращать числа которые вносятся как текст, в процессе вычисления в числовые значения.
Функция ПОИСК
- Она очень похожа на ранее рассматриваемую функцию НАЙТИ, но отличие заключается в том у этой функции нет чувствительности к регистру символов, поэтому поиск можно сделать более гибким.
Синтаксис функции:
ПОИСК (_искомый_текст_; _текст_для_начала_поиска_;[_начальная_позиция_]), где:
- искомый текст – указывается текстовое значение которое необходимо отыскать. Можно использовать символы подстановки;
- текст для начала поиска – указывается текст или ссылка на ячейку содержащую текстовое значение;
- начальная позиция – является необязательным аргументом и при его отсутствии по умолчанию имеет значение 1. Указывает с какой позиции в тексте необходимо начать поиск.
Пример применения:
Функция ТЕКСТ
Одна из самых простых текстовых функций в Excel с помощью которой можно форматировать числовое значения преображая его в текст используя коды форматов. Эта возможность будет полезна чтобы показать числа в необходимом виде или же произвести объединение его с любыми символами или же текстом.
Обращаю внимание! Функция ТЕКСТ производит преображение числовых значений в текст и как следствие вычисление в дальнейшем станет невозможным. Рекомендую исходные данные сохранять отдельно от результатов использования функции. При необходимости создания формул всегда есть возможность обратится к исходным значениям, что исключит ошибку при использовании результатов работы функции ТЕКСТ.
Синтаксис функции:
= ТЕКСТ(_значение_;_формат_), где:
- значение – указывается числовое значение или указывается ссылка на него;
- формат – вводится формат который будет применен к аргументу «Значение».
Пример применения:
Функция СЦЕПИТЬ
При помощи этой функции вы можете соединять текстовые значения с разных ячеек между собой. Для объединения вам доступно 255 значений, что позволит вам создать чуть ли не маленький рассказ.
Синтаксис функции:
= СЦЕПИТЬ(_текст№1_;_ [текст№2]_;….), где:
- текст№1 – являет собой первый элемент который нужно сцепить с другими, обязательный аргумент;
- текст№2 – не является обязательным аргументом. Предоставляет 255 значений, как элементы слияния.
Пример применения:Обращаю ваше внимание что функция не умеет ставить пробелы между аргументами, поэтому вы сделаете это самостоятельно. Так же при желании можно сцеплять текст с помощью знака амперсанда «&» не используя функцию. Более детально о возможностях вы прочтете в статье «Как используется функция СЦЕПИТЬ в Excel».
Функция ФИКСИРОВАННЫЙ
Функция производит округление к указанному количеству десятичных знаков, производит форматирование в десятичном формате и возвращает полученный результат как текст.
Синтаксис функции:
= ФИКСИРОВАННЫЙ(_число_;_число_знаков_;_без_разделителей_), где:
- число – это ссылка на числовое значение или число, которое будет округлено и превращено в текст;
- число знаков – указываем количество цифр после запятой;
- без разделителей – этот аргумент является логическим значением и если он указан как ИСТИНА, то функция не будет включать разделители тысяч в текст который возвращается.
Пример применения: Обращаю ваше внимание что для аргумента «Число знаков» есть возможность указать до 127 значащих цифр, также если аргумент отрицательный, число будет округлено до десятичного знака, а в случае отсутствия аргумента, по умолчанию его значение будет равно 2. Если для аргумента «Без разделителей» указана ЛОЖЬ или он отсутствует, разделители тысяч будут включены. Также напоминаю, что отформатированное число функцией ФИКСИРОВАННЫЙ будет переделано в текст.
Источник: http://topexcel.ru/tekstovye-funkcii-v-excel-chast-3/
Режим MultiRow: один документ с данными из нескольких строк
По умолчанию, надстройка FillDocuments формирует отдельные документы для каждой из строк исходной таблицы.
Но, иногда, требуется подставить в один документ данные сразу из нескольких строк таблицы Excel.
Предположим, что у нас есть вот такая таблица в Excel, и перед нами стоит задача сформировать приказ на премирование сотрудников:
- Причём, должно получиться не 14 отдельных документов (по количеству сотрудников), а один (или 4, по одному приказу на каждый отдел)
- В этом нам поможет режим с названием MultiRow, реализованный специально для таких задач.
- Включить режим MultiRow можно в настройках на вкладке «Дополнительно»:
Если нам нужен ОДИН общий приказ, мы включаем только первую галочку («Включить режим Multirow»), а если нужны отдельные приказы для 4 отделов, то включаем вторую опцию «Формировать по каждому шаблону столько файлов, сколько уникальных значений содержится в столбце», и указываем номер столбца с отделами — 3 «С»:
Теперь переходим к настройке шаблона документа под режим Multirow.
В шаблоне мы делаем только одну строку (абзац текста) для подстановки данных, но помечаем эту строку специальной меткой, чтобы указать программе, что эту строку нужно размножить на несколько строк (сколько строк с исходными данными есть в исходной таблице Excel)
Инструкции по настройке шаблонов для режима Multirow:
- для шаблонов формата Excel
- для шаблонов формата Word
Мы будем использовать такой шаблон:
ВНИМАНИЕ: настроенный файл шаблона и исходная таблицу Excel, на примере которых написана эта инструкция, прикреплены в конце этой статьи.
Можете скачать файлы, закинуть шаблон в папку Шаблоны, открыть таблицу Excel, и протестировать.
После того, как мы настроили шаблон, и поместили его в папку Шаблоны, можно пробовать сформировать документы.
Для этого:
- выделяем в исходной таблице несколько строк
(либо в настройках на вкладке «Исходная таблица» включаем галочку «Формировать документы ПО ВСЕМ заполненным строкам таблицы») - нажимаем на панели инструментов кнопку
Если мы всё настроили правильно, то по завершении заполнения приказов прогрессбар будет выглядеть так:
а в папке Документы должно появиться 4 файла: (использовалась маска имени файла вида {%filename%} — {Отдел}.{%ext%} )
Открываем один из сформированных файлов, и видим в нём следующее:
Если же мы в настройках не включали опцию «Формировать по каждому шаблону столько файлов, сколько уникальных значений содержится в столбце», то на выходе должны получить ОДИН документ, с данными из всех строк исходной таблицы:
Источник: https://ExcelVBA.ru/programmes/FillDocuments/manuals/multirow
Работа со строками в Excel. Текстовые функции Excel
Часто в Excel приходится тем или иным образом обрабатывать текстовые строки. Вручную такие операции проделывать очень сложно когда кол-во строк составляет не одну сотню.
Для удобства в Excel реализован не плохой набор функций для работы со строковым набором данных.
В этой статье я коротко опишу необходимые функции для работы со строками категории «Текстовые» и некоторые рассмотрим на примерах.
Функции категории «Текстовые»
Итак, рассмотрим основные и полезные функции категории «Текстовые», с остальными можно ознакомиться самостоятельно.
- БАТТЕКСТ (Значение) – функция преобразующая число в текстовый тип;
- ДЛСТР (Значение) – вспомогательная функция, очень полезна при работе со строками. Возвращает длину строки, т.е. кол-во символов содержащихся в строке;
- ЗАМЕНИТЬ (Старый текст, Начальная позиция, число знаков, новый текст) – заменяет указанное кол-во знаков с определенной позиции в старом тексте на новый;
- ЗНАЧЕН (Текст) – преобразует текст в число;
- ЛЕВСИМВ (Строка, Кол-во знаков) – очень полезная функция, возвращает указанное кол-во символов, начиная с первого символа;
- ПРАВСИМВ (Строка, Кол-во знаков) – аналог функции ЛЕВСИМВ, с той лишь разницей, что возврат символов с последнего символа строки;
- НАЙТИ (текст для поиска, текст в котором ищем, начальная позиция) – функция возвращает позицию, с которой начинается вхождение искомого текста. Регистр символов учитывается. Если необходимо не различать регистр символов, воспользуйтесь функцией ПОИСК. Возвращается позиция только первого вхождения в строке!
- ПОДСТАВИТЬ (текст, старый текст, новый текст, позиция) – интересная функция, на первый взгляд похожа на функцию ЗАМЕНИТЬ, но функция ПОДСТАВИТЬ способна заменить на новую подстроку все вхождения в строке, если опущен аргумент «позиция»;
- ПСТР (Текст, Начальная позиция, Кол-во знаков) – функция похожа на ЛЕВСИМВ, но способна возвратить символы с указанной позиции:
- СЦЕПИТЬ (Текст1, Текст 2 …. Текст 30) – функция позволяет соединить до 30-ти строк. Так же, можно воспользоваться символом «&», выглядеть будет так «=”Текст1” & ”Текст2” & ”Текст3”»;
Это в основном часто используемые функции при работе со строками. Теперь рассмотрим пару примеров, которые продемонстрируют работу некоторых функций.
Пример 1 Дан набор строк:
Необходимо из этих строк извлечь даты, номера накладных, а так же, добавить поле месяц для фильтрации строк по месяцам.
Извлечем в столбец В номера накладных. Для этого найдем так называемый ключевой символ или слово. В нашем примере видно, что перед каждым номером накладной стоит «№», а длина номера накладной 6 символов. Воспользуемся функциями НАЙТИ и ПСТР. Пишем в ячейку B2 следующую формулу :
=ПСТР(A2;НАЙТИ(«№»;A2)+1;6)
Разберем формулу. Из строки А2 с позиции следующей после найденного знака «№», мы извлекаем 6 символов номера.
Теперь извлечем дату. Тут все просто. Дата расположена в конце строки и занимает 8 символов. Формула для С2 следующая:
- =ПРАВСИМВ(A2;8)
- но извлеченная дата у нас будет строкой, чтоб преобразовать ее в дату необходимо после извлечения, текст перевести в число:
- =ЗНАЧЕН(ПРАВСИМВ(A2;8))
- а затем, задать формат отображения в ячейке, как это сделать было описано в статье «Формат данных в Excel».
Ну и последнее, для удобства дальнейшей фильтрации строк, введем столбец месяц, который мы получим из даты. Только для создания месяца нам необходимо откинуть день и заменить его на «01». Формула для D2:
=ЗНАЧЕН(СЦЕПИТЬ(«01»;ПРАВСИМВ(A2;6))) или =ЗНАЧЕН(«01″&ПРАВСИМВ(A2;6))
Задайте формат ячеке «ММММ ГГГГ». Результат:
- Пример 2 В строке «Пример работы со строками в Excel» необходимо все пробелы заменить на знак «_», так же перед словом «Excel» добавить «MS».
- Формула будет следующая:
- =ПОДСТАВИТЬ(ЗАМЕНИТЬ(A1;ПОИСК(«excel»;A1);0;»MS «);» «;»_»)
Для того, чтоб понять данную формулу, разбейте ее на три столбца. Начните с ПОИСК, последней будет ПОДСТАВИТЬ.
Источник: https://www.programm-school.ru/tekstovie_funkcii_excel.html
Подставить и заменить в excel, функции подставить() и заменить() в эксель
Мы уже разбирали как быстро найти и заменить данные в Excel по группе ячеек — в столбце или массиве данных. Но как это сделать в одной ячейке и желательно формулой? К примеру у вас есть список машин, и каждый день вам присылают файл с новым списком машин, нужно проверить есть ли такие номера в вашем основном списке.
Но как обычно в номера машин добавляют пробелы или слеши, а самый худший вариант букву О вместо нуля Если вы регулярно выполняете одну и ту же операцию, то вручную нажимать Ctrl + H каждый раз неудобно, плюс придется запоминать какие именно символы нужно заменять.
Функции ПОДСТАВИТЬ и ЗАМЕНИТЬ в Excel это отличный выход из ситуации.
Эти функции немного обделены вниманием, не знаю почему, но уверен они супер полезны для обработки и сведения больших массивов данных, ведь ими можно легко настроить автозамену. Ниже расскажу поподробнее о каждый и чем все же они различаются. Разбирать будем на примере.
Есть номер А 777 АА 01 из него надо формулой сделать А777АА01 формулой.
Функция ПОДСТАВИТЬ в Excel
Как работает формула показано на первой картинке. Состав разберем ниже:
ПОДСТАВИТЬ(текст;стар_текст;нов_текст;[номер_вхождения])
- Текст — адрес ячейки или сам текст в котором надо сделать замену символов, в примере А 777 АА 01
- Стар_текст — что нам нужно заменить? Пробел.
- Нов_текст — на что нужно заменить? Меняем на ничего, т.е. на пусто в формуле, это будет «»
- Номер_вхождения — заполнять необязательно, но при этом реквизит очень полезный, в официальной справке говорится о «вхождении символа», но объясню простым языком. Здесь вы можете указать номер символа в строке (пробела в нашем случае). Т.е. если нужно заменить только пробел между 777 и АА (это второй по счету пробел в номере), формула будет выглядеть как
=ПОДСТАВИТЬ(A:A;» «;»»;2)
И в итоге вы получите А 777АА 01
Но как правило я использую вот такие конструкции, чтобы убрать все ненужные символы, которые уже понаставили при заполнении.
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A:A;» «;»»);».»;»»);»/»;»»)
В данном случае мы убираем пробел, точку, и слэш в номере «А 777 АА/01.»
Функция ЗАМЕНИТЬ и ЗАМЕНИТЬБ в Excel
Функция ЗАМЕНИТЬ делает почти все тоже самое, что и подставить, но делает это с определенного символа. Аргументы такие:
ЗАМЕНИТЬ(стар_текст;начальная_позиция;число_знаков;нов_текст)
Пример. Необходимо первую букву номера машины заменить на другую. Из А777АА01 сделать Б777АА01
Сначала описание аргументов:
- Стар_текст — как и в ПОДСТАВИТЬ, текст в котором нужно заменить т.е. А777АА01
- Начальная_позиция — с какого символа производить замену, с первого.
- Число_знаков сколько знаков меняем — один
- Нов_текст — и на что меняем? На букву Б
ЗАМЕНИТЬБ — это маленькая загадка Excel, даже в иностранных интернетах мало информации о ней. Если вкратце, то просто ЗАМЕНИТЬ меняет любой символ (даже если он размером 2 байта), ЗАМЕНИТЬБ меняет только однобайтные символы (аргумент число_знаков меняется на). Практического применения я для себя не нашел 🙂 Если кто-нибудь подскажет, буду благодарен!
Источник: https://excelworks.ru/2017/02/16/funktsii-podstavit-i-zamenit-v-excel/
Функция ПОДСТАВИТЬ() в MS EXCEL
Функция ПОДСТАВИТЬ(), английский вариант SUBSTITUTE(), заменяет определенный текст в текстовой строке на новое значение. Формула =ПОДСТАВИТЬ(A2; «январь»;»февраль») исходную строку «Продажи (январь)» превратит в строку «Продажи (февраль)».
Синтаксис функции
ПОДСТАВИТЬ(исходный_текст;старый_текст;новый_текст;[номер_вхождения])
Исходный_текст — текст или ссылка на ячейку, содержащую текст, в котором заменяется часть строки. Старый_текст — заменяемый текст. Новый_текст — текст, на который заменяется старый_текст.
Номер_вхождения — определяет, какое вхождение фрагмента Старый_текст нужно заменить фрагментом. Если этот аргумент определен, то заменяется только заданное вхождение фрагмента Старый_текст.
В противном случае все вхождения фрагмента Старый_текст в текстовой строке заменяются фрагментом Новый_текст.
Примеры
- Пусть в ячейке А6 введена строка Продажи (январь), прибыль (январь).
- Чтобы заменить оба слова январь, на февраль, запишем формулу (см. файл примера внизу статьи):
- =ПОДСТАВИТЬ(A6; «январь»;»февраль»)
Функция ПОДСТАВИТЬ() может заменить только первое, только второе и т.д. вхождение слова «январь».
Записав формулу =ПОДСТАВИТЬ(A2; «январь»;»февраль»;2) получим строку Продажи (январь), прибыль (февраль).
Кроме того, функция ПОДСТАВИТЬ() чувствительна к РЕгиСТру. Записав =ПОДСТАВИТЬ(A2; «ЯНВАРЬ»;»февраль») получим строку без изменений Продажи (январь), прибыль (январь), т.к. для функции ПОДСТАВИТЬ() «ЯНВАРЬ» не тоже самое, что «январь».
Если строка содержит слова в разных регистрах, например, Продажи (январь), прибыль (ЯНВАРЬ), то для замены слова январь на февраль можно порекомендовать формулу =ПОДСТАВИТЬ(СТРОЧН(A2); «январь»;»февраль») В результате получим продажи (февраль), прибыль (февраль).
Функция ПОДСТАВИТЬ() vs ЗАМЕНИТЬ()
Пусть в ячейке А2 введена строка Продажи (январь). Чтобы заменить слово январь, на февраль, запишем формулы:
=ЗАМЕНИТЬ(A2;10;6;»февраль») =ПОДСТАВИТЬ(A2; «январь»;»февраль») т.е. для функции ЗАМЕНИТЬ() потребовалось вычислить начальную позицию слова январь (10) и его длину (6). Это не удобно, функция ПОДСТАВИТЬ() справляется с задачей гораздо проще.
Кроме того, функция ЗАМЕНИТЬ() заменяет по понятным причинам только одно вхождение строки, функция ПОДСТАВИТЬ() может заменить все вхождения или только первое, только второе и т.д. Поясним на примере. Пусть в ячейке А2 введена строка Продажи (январь), прибыль (январь).
Запишем формулы: =ЗАМЕНИТЬ(A2;10;6;»февраль») =ПОДСТАВИТЬ(A2; «январь»;»февраль») получим в первом случае строку Продажи (февраль), прибыль (январь), во втором — Продажи (февраль), прибыль (февраль).
Записав формулу =ПОДСТАВИТЬ(A2; «январь»;»февраль»;2) получим строку Продажи (январь), прибыль (февраль).
Кроме того, функция ПОДСТАВИТЬ() может работает с учетом регистра, а ЗАМЕНИТЬ() по понятным причинам не может.
Источник: https://excel2.ru/articles/funkciya-podstavit-v-ms-excel-podstavit
Замена одного текста на другой внутри заданной текстовой строки — весьма частая ситуация при работе с данными в Excel. Реализовать подобное можно двумя функциями: ПОДСТАВИТЬ (SUBSTITUTE) и ЗАМЕНИТЬ (REPLACE). Эти функции во многом похожи, но имеют и несколько принципиальных отличий и плюсов-минусов в разных ситуациях. Давайте подробно и на примерах разберем сначала первую из них.
Её синтаксис таков:
=ПОДСТАВИТЬ(Ячейка; Старый_текст; Новый_текст; Номер_вхождения)
где
- Ячейка — ячейка с текстом, где производится замена
- Старый_текст — текст, который надо найти и заменить
- Новый_текст — текст, на который заменяем
- Номер_вхождения — необязательный аргумент, задающий номер вхождения старого текста на замену
Обратите внимание, что:
- Если не указывать последний аргумент Номер_вхождения, то будут заменены все вхождения старого текста (в ячейке С1 — обе «Маши» заменены на «Олю»).
- Если нужно заменить только определенное вхождение, то его номер задается в последнем аргументе (в ячейке С2 только вторая «Маша» заменена на «Олю»).
- Эта функция различает строчные и прописные буквы (в ячейке С3 замена не сработала, т.к. «маша» написана с маленькой буквы)
Давайте разберем пару примеров использования функции ПОДСТАВИТЬ для наглядности.
Замена или удаление неразрывных пробелов
При выгрузке данных из 1С, копировании информации с вебстраниц или из документов Word часто приходится иметь дело с неразрывным пробелом — спецсимволом, неотличимым от обычного пробела, но с другим внутренним кодом (160 вместо 32). Его не получается удалить стандартными средствами — заменой через диалоговое окно Ctrl+H или функцией удаления лишних пробелов СЖПРОБЕЛЫ (TRIM). Поможет наша функция ПОДСТАВИТЬ, которой можно заменить неразрывный пробел на обычный или на пустую текстовую строку, т.е. удалить:
Подсчет количества слов в ячейке
Если нужно подсчитать количество слов в ячейке, то можно применить простую идею: слов на единицу больше, чем пробелов (при условии, что нет лишних пробелов). Соответственно, формула для расчета будет простой:
Если предполагается, что в ячейке могут находиться и лишние пробелы, то формула будет чуть посложнее, но идея — та же.
Извлечение первых двух слов
Если нужно вытащить из ячейки только первые два слова (например ФИ из ФИО), то можно применить формулу:
У нее простая логика:
- заменяем второй пробел на какой-нибудь необычный символ (например #) функцией ПОДСТАВИТЬ (SUBSTITUTE)
- ищем позицию символа # функцией НАЙТИ (FIND)
- вырезаем все символы от начала строки до позиции # функцией ЛЕВСИМВ (LEFT)
Ссылки по теме
- Зачистка текста от лишних пробелов, непечатаемых символов и т.д.
- Как подсчитать количество слов в ячейке
- Преобразование чисел-как-текст в полноценные числа
Подстановка значений в Microsoft Excel подразумевает замену одной части текста на другую с выводом результата в отдельной ячейке. Это избавит вас от необходимости самостоятельно вносить одни и те же коррективы в большое количество полей. Осуществляется подобная манипуляция с использованием всего одной функции, но далее я расскажу еще и о ее модернизации для тех, кто исправляет ошибочный импорт, переводя текстовые значения в числовые.
Когда это может понадобиться?
Отвечу на самый главный вопрос по теме: «Когда может понадобиться подстановка значений?». Выполнение этой операции в первую очередь подразумевает замену любых символов. Например, вы импортировали диапазон значений из другой программы, где для разделения дробной части вместо запятой используется точка. Соответственно, Excel подумает, что это текстовые значения, и откажется использовать их при создании функций.
Вы можете исправить все это вручную, удаляя старые знаки и добавляя новые, после чего проверить настройки формата каждой ячейки. Однако это делается долго и неудобно. Проще создать новый столбец с использованием функций. ПОДСТАВИТЬ и ЗНАЧЕН. Так вы создадите столбец с правильными данными, которые можно использовать для любых целей, включая копирование и удаление всего лишнего.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Использование функции ПОДСТАВИТЬ
Для начала разберемся с тем, как работает синтаксис основной функции – ПОДСТАВИТЬ. Объявим ее и рассмотрим каждый аргумент, чтобы при дальнейшем использовании у вас не возникло никаких проблем.
-
Для начала выберите необходимую клетку, нажмите по ней левой кнопкой мыши для активации и объявите функцию =ПОДСТАВИТЬ().
-
В скобках напишите номер ячейки, с которой нужно взять исходный текст.
-
Поставьте точку с запятой для отделения аргументов, в кавычках напишите символ или несколько символов, от которых хотите избавиться.
-
Снова отделите аргумент и в кавычках напишите новый символ для замены.
-
Это вся формула, поэтому можете нажать Enter и посмотреть, что получилось в итоге.
Для наглядности оставляю используемую мной формулу целиком, чтобы вы могли редактировать ее под себя и не вводить каждый символ вручную. Это поможет значительно сэкономить время.
=ПОДСТАВИТЬ(A2;".";",")
Добавление функции ЗНАЧЕН
Теперь модернизируем формулу, чтобы в итоге получить числовое значение, а не текст, как в исходном варианте. Для этого понадобится функция ЗНАЧЕН, которую просто нужно вписать в строку, поставив дополнительные кавычки.
-
Выполните редактирование, чтобы в итоге получить примерно такой результат: =ЗНАЧЕН(ПОДСТАВИТЬ(A2;».»;»,»)).
-
Нажмите Enter для применения изменений и обратите внимание на то, что теперь числа отображаются справа в ячейке, что говорит об успешной смене формата с текстового на числовой.
-
Остается только растянуть формулу на все остальные клетки, чтобы завершить замену в массиве данных. Зажмите правый нижний угол ячейки и потяните вниз.
-
Посмотрите на таблицу и удалите лишнюю информацию, которая после преобразования больше не понадобится.
Работа с массивами данных в Microsoft Excel часто заставляет юзера вносить правки в текст, что особенно актуально при импорте дробных чисел. Теперь вы узнали, что решить проблему можно при помощи всего одной формулы, состоящей из двух функций. Используйте это, чтобы оптимизировать взаимодействие с электронной таблицей.