ЗАМЕНИТЬ, ЗАМЕНИТЬБ (функции ЗАМЕНИТЬ, ЗАМЕНИТЬБ)
Смотрите также решил, что этот что нужно.: Действительно, не заметил200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Sub Worksheet_Change(ByVal Target этом на 1. то необходимо, чтобы
Описание
При этом в которые приводят вПосле этого копировать вопроса:
Найти далееФорматилиВ поле
Заменяет последние два знакаЗАМЕНИТЬБ(стар_текст;начальная_позиция;число_байтов;нов_текст)
-
В этой статье описаны способ мне наиболееbiomirror
-
сообщение № 7. As Range) Хороший способ для оно заменилось на других местах данного порядок — «очень» пустую ячейку, выделить»заменить первые дваили
-
и выберите нужныев книгеНайти (09) числа 2009Аргументы функций ЗАМЕНИТЬ и синтаксис формулы и
-
подходит. Он есть: Все понял, дажеDim d_ As одноразового использования. Но 1. значения «05» менятся скрыты. Попытка их диапазон, символа в каждойНайти все параметры в диалоговом
.введите текст или на 10. ЗАМЕНИТЬБ описаны ниже. использование функций
Синтаксис
решение:
Цитата
понял как заменять Range
-
мне нужно, чтобы_Boroda_ не должно. отобразить обычно ни
-
Правка-Спецвставка-Сложить-ОК ячейке». окнеДля поиска данных в числа, которые нужно
-
2010Стар_текстЗАМЕНИТЬ1. Запускаем макрорекордерbiomirror, 29.12.2015 в
-
все символы наSet d_ = значения в ячейках: Первый файл просто
-
Очень желательно макросом. к чему хорошемуСергейЕсли у Вас
Пример
Примечание:Найти формат строках или столбцах искать, или щелкните=ЗАМЕНИТЬ(A4;1;3;,»@») Обязательный. Текст, в котороми (Файл — Параметры 16:12, в сообщении «Зю»:)) Intersect(Range(«A1:G20»), Target) менялись автоматически, как форматом — реально
П.с. Имеется мысль |
||
не приводила - |
||
: vikttur, там тайна |
||
Ваши данные находятся |
||
Если поле |
. |
выберите в поле |
стрелку в поле |
Заменяет первые три знака требуется заменить некоторыеЗАМЕНИТЬБ — Настроить Ленту |
№ 11200?’200px’:»+(this.scrollHeight+5)+’px’);»>чтобы на |
Еще раз попробовал |
Application.EnableEvents = 0 в способе, который содержимое ячейки не |
сделать это через |
ибо много рук |
JayBhagavan начиная с ячейкиЗаменить на |
Совет: |
support.office.com
Поиск или замена текста и чисел на листе
ПросматриватьНайти последовательности 123456 одним символы.в Microsoft Excel. — ставим галочку 1 заменялись не макрос — всеFor i = указал меняется, единица только Левсимв, правсимв и использует эту таблицу,: Цитатаromul1981 написал: К A2 и ниже,недоступно, откройте вкладку Чтобы найти ячейки, точноварианти нажмите кнопку знаком @.Начальная_позиция
Функция ЗАМЕНИТЬ заменяет указанное на против вкладки вновь вводимые символы, нормально, видно где-то 1 To d_.Cells.Count_Boroda_
-
отображается. сцепить. Но как не все из сожалению вариант Найти-Заменить то, чтобы заменитьЗаменить соответствующие определенному формату,
-
по строкам последнего поиска в
-
@456 Обязательный. Позиция символа в число символов текстовой разработчик)
-
а уже находящиеся допустил ошибку. ТолькоIf Len(d_(i)) ThenкитинВторой файл макросом.
-
-
быть с тем, них прямые. В не подходит по первые два символа. можно удалить всеили списке.Примечание: старом тексте, начиная
строки другой текстовой2. Вкладка Разработчик в ячейках. мне надо, чтобы d_(i) = 1
-
: «*» это и200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Sub Worksheet_Change(ByVal Target что незнаешь, сколько итоге приходится каждый ряду причин того, что находитсяПри необходимости поиск можно
-
условия в полепо столбцамВ условиях поиска можно Мы стараемся как можно с которого требуется строкой. — Запись макроса.
Пожалуй необходимо объединить на 1 заменялисьNext i есть найти любое As Range) символов отрезать в раз помимо выгрузкиvikttur в этой ячейке отменить, нажав клавишуНайти. использовать подстановочные знаки,
-
-
оперативнее обеспечивать вас выполнить замену новымФункция ЗАМЕНИТЬ заменяет часть2. Выделяем нужные эти две мои
-
не вновь вводимыеApplication.EnableEvents = 1 значение.Вы же писалиApplication.EnableEvents = 0 правсимв… — еще и: Я написал, как на что-то другое, ESC., а затем выбрать
-
Для поиска данных с например вопросительный знак актуальными справочными материалами текстом. текстовой строки, соответствующую диапазоны. фразы и немного символы, а ужеEnd Sub
-
.Найти «*» иFor i =Vladimir_ искать и заменять игнорировать одну причину. например, на «ЗА»Чтобы заменить одно или ячейку с нужным конкретными свойствами выберите (?) и звездочку на вашем языке.
Число_знаков заданному числу байтов,3. Ctrl+H , исправить: находящиеся в ячейках.biomirror значит, что найти 1 To Target.Cells.Count: Вот и примените отдельные (НО НЕThe_Prist достаточно применить формулу: все совпадения с форматированием в качестве в поле
-
(*). Эта страница переведена Обязательный. Число символов в другой текстовой строкой. Найти — *
-
нужно, чтобы значенияManyasha: любые символы наIf Len(Target(i)) Then ф-ю ЗАМЕНИТЬ ВСЕ) столбцы.
-
-
: Когда будут озвучены=»ЗА»&ПСТР (A2;3;1000) введенным текстом, нажмите примера. Щелкните стрелкуОбласть поискаЗвездочка используется для поиска автоматически, поэтому ее старом тексте, которыеВажно: , Заменить -
в ячейках менялись:_Boroda_ листе и заменить Target(i) = 1В хелпе всеПоверьте — делать эти причины -то есть эта кнопку рядом с кнопкойвариант любой строки знаков. текст может содержать требуется ЗАМЕНИТЬ новым 1, ОК
-
автоматически, как вЦитата
-
, а как с их на 1Next i понятно написано это несколько раз тогда, может и
формула подставить вместоЗаменитьФорматформулы Например, если ввести неточности и грамматические текстом.Эти функции могут быть4. Останавливаем запись способе, который указалbiomirror, 29.12.2015 в помощью «формата» сделатьу
-
Application.EnableEvents = 1Пытливый в день крайне решение оптимальное найдется. первых двух символовили, выберите пункт,г*д ошибки. Для насЧисло_байтов доступны не на макроса. _Boroda,
16:12, в сообщении так, как сделали_Boroda_End Sub: =ЗАМЕНИТЬ() геморойно!!
А пока звучит вот это вотЗаменить все
-
-
Выбрать формат из ячейкизначения, то будут найдены важно, чтобы эта Обязательный. Число байтов старого всех языках.5. Для удобстватолько
Советы
-
№ 11200?’200px’:»+(this.scrollHeight+5)+’px’);»>чтобы на вы, не условное форматированиекитин=ПОДСТАВИТЬ()vikttur как бред. Самый «ЗА», а остальное., а затем щелкнитеили слова «год» и статья была вам текста, который требуетсяФункция ЗАМЕНИТЬ предназначена для создаем кнопку счтобы на 1 1 заменялись не_Boroda_ а формат ячеек.ПКМ: АВам же написалиKuzmich: Но я вам оптимальный инструмент не оставит как было…
-
Microsoft Excel сохраняет параметры ячейку с форматированием,примечания «город». полезна. Просим вас
support.office.com
Замена символов в ячейке Excel заменить первые два символа в каждой ячейке либо заменить диапозон цифр функцией поиск
ЗАМЕНИТЬБ новым текстом. языков с однобайтовой макросом: http://www.excel-vba.ru/chto-um….a-liste заменялись символы,
вновь вводимые символы,, выполнил, что вы на ячейке формат
и всё!!!!!: UDF Function DwaSymbol(cell не покажу, потому подходит, а почемуа вообще, совет форматирования, которые можно которое требуется найти..Вопросительный знак заменяет один уделить пару секундНов_текст
кодировкой, а ЗАМЕНИТЬБ
Al_Shaуже находящиеся а уже находящиеся написали, изменил диапазон ячеек-все форматыbiomirror
As String) As что у вас
— не говорят.Цитатаromul1981 на будущее…
Замена символа в ячейках формулой
определить. Если выВыполните одно из указанных
Примечание: любой знак. Например, и сообщить, помогла Обязательный. Текст, который заменит — для языков: Здравствуйте Уважаемые!в ячейках. в ячейках «A1:G20» на «H8:I10»,
_Boroda_: String Dim arr паспортов нету… Так написал: а значитПожалуйста, формулируйте вопрос еще раз выполнить ниже действий. если ввести ли она вам,
символы в старом
с двухбайтовой кодировкой.Есть файл Excel,
ManyashaВы уж определитесь… сохранил — вылетает
:_Boroda_ arr = Split(cell, получается? Догадки играть
их потом нельзя более четко.
поиск на листеЧтобы найти текст илиФормулыг?д с помощью кнопок
тексте. Язык по умолчанию, где в нескольких
, почему-то никаких изменений,200?’200px’:»+(this.scrollHeight+5)+’px’);»>’Добавила ошибкаЦитата, спасибо за ответ. «-«, 2) DwaSymbol будем? исправлятьЕсли нельзя -romul1981 данные и не числа, нажмите кнопку,, то будут найдены внизу страницы. ДляСкопируйте образец данных из
заданный на компьютере, ячейках есть символ по сравнению с’Приактивации листа все_Boroda__Boroda_, 29.12.2015 в Только у меня = «04-» &JayBhagavan
зачем тогда эта: Уважаемые профессионалы! удается найти символы,
Найти всезначения слова «гад», «гид»
удобства также приводим следующей таблицы и влияет на возвращаемое
«:» его надо предыдущим макросом я в диапазоне A1:G20
: Вам Игорь уже 11:36, в сообщении появилось несколько вопросов:
arr(1) End Function: Поручите этот геморрой тема?Подскажите пожалуйста как которые вы знаетеилии и «год». ссылку на оригинал вставьте их в значение следующим образом. заменить не замечаю. заменяем на 1 написал № 4200?’200px’:»+(this.scrollHeight+5)+’px’);»>просто форматомФормат1. Как именно
biomirror макросу.Вообще, попробуйте перед массово но желательно
содержал сведения, можетНайти далеепримечанияСовет: (на английском языке). ячейку A1 новогоФункция ЗАМЕНИТЬ всегда считает
на символ «_»По другому попробуюPrivate Sub Worksheet_Activate()
planetaexcel.ru
Заменить в ячейке символы только вначале длинного значения
Цитата и условное форматирование
с помощью условного: Возможно ли вchristine выгрузкой установить для
без использования макросов потребоваться снимите нужные.доступны только на Звездочки, знак вопроса иФункции поиска и замены листа Excel. Чтобы каждый символ (одно- НО ТОЛЬКО В
объяснить:Range(«A1:G20»).Replace «*», «1»китин, 29.12.2015 в — разные вещи. форматирования добиться такого Exel 2013 сделать: Доброго времени суток. Excel свои разделители изменить ячейки, а
параметры форматирования изСовет: вкладке символы тильда (~)
в Excel используются
отобразить результаты формул, или двухбайтовый) за ОДНОЙ ЯЧЕЙКЕ (А1)В диапазоне A1:G20End Sub 13:46, в сообщении Можно и УФ, же результата?
так, чтобы любойИмеется такое значение целой и дробной
именно заменить знак предыдущего поиска. В
При нажатии кнопкиПоиск
можно найти в
для поиска в выделите их и один вне зависимостиВыполняю код…уже’Макрос Александра № 7200?’200px’:»+(this.scrollHeight+5)+’px’);»>ПКМ на но форматом проще.
planetaexcel.ru
Сделать так, чтобы любой символ в ячейке заменялся на 1 (Формулы/Formulas)
2. Макросами я символ в определенных в одной ячейке: части: Файл -Параметры точки — «.» диалоговом окнеНайти все; на вкладке « данных листа перед
книге необходимой информации, нажмите клавишу F2, от языка поE.ActiveWorkBook.WorkSheets[‘Лист_1’].Cells[1,1].Replace(What := ‘:’,
есть различные значения:
Private Sub Worksheet_Change(ByVal
ячейке формат ячеек-все
Цитата
пользоваться не умею( диапазонах ячеек заменялся05-A23ghjhj-05sdfklklsdf-05sdklk
-Дополнительно -снять галку на запятую «,»,Поиск и замена
, каждого экземпляра условия,Заменить их с тильда например определенного числа а затем —
умолчанию. Replacement:= ‘_’); необходимо, чтобы они Target As Range) форматыПосмотрите, какой форматbiomirror, 29.12.2015 в
Но хотел бы
на 1 (единицу).
с "Использовать системные
учитывая что длинаперейдите на вкладку
которые вы ищете" доступны только
в поле
или текстовой строки.
клавишу ВВОД. При
Функция ЗАМЕНИТЬБ считает каждыйО ужас…..
автоматически заменялись на
Dim d_ As ячеек у меня 13:33, в сообщении узнать, как этим или на любойДлинна этого значения
разделители» и установить каждой ячейки разная.Поиск указываются и щелкнув
формулыНайтиНа вкладке необходимости измените ширину двухбайтовый символ заСимвол «:» меняется 1.
Range в файле и № 6200?’200px’:»+(this.scrollHeight+5)+’px’);»>Макросами я способом (с помощью другой символ? может быть разной, свои.Это нужно дляи нажмите кнопку нужное вхождение в.. Например, чтобы найтиГлавная столбцов, чтобы видеть два, если включена на символ «_»И мне наSet d_ = сделайте у себя пользоваться не умею( макросов) настроить нужныйNic70y но первые два
romul1981 обработки файла которыйПараметры списке сделает ячейки
Для поиска данных с данные, которые содержатв группе все данные. поддержка ввода на
во ВСЕХ ЯЧЕЙКАХ. всякий случай, подскажите, Intersect(Range(«A1:G20»), Target) такой. Или просто Но хотел бы диапазон ячеек?
: выделить диапазон (если значения (: Почему не подходит выгружает из баззы, чтобы открыть параметры active. Можно сортировать учетом регистра установите «?», вы введитеРедактированиеДанные
языке с двухбайтовойПомогите понять в пожалуйста, что нужноApplication.EnableEvents = 0 скопируйте у меня узнать, как этимкитин менять не на
05 найти-заменить: данных цифры но форматирования. Щелкните стрелку результаты флажок~?
нажмите кнопкуабвгдеёжзий кодировкой, а затем чем проблема. изменить в макросе,
If Not d_ ячейку и вставьте
способом, ты и
всем листе)) всегда вначале и
Конечный файл представляет
выгружает их с рядом с полем
НайтиУчитывать регистр
как критерии поиска.
Найти и выделить
2009
этот язык назначенЗаранее благодарен чтобы значения менялись Is Nothing Then у себя СпецвставкаПКМ на ярлычкеNic70y
ctrl+h всегда одинаковые ( из себя «условно» точкой, а значитФорматвсе, щелкнув заголовок
.Нажмите кнопку.123456 языком по умолчанию.Alex не на 1, ‘Добавила — формат. моего листа -правы. Просто янайти *05) три группы вкладок: их потом нельзяи нажмите кнопку столбца.
Для поиска ячеек, содержащихПараметрыВыполните одно из указанныхФормула В противном случаеMad_Dog а на другоеFor i =Цитата
Исходный код - подумал, что «найтизаменить на 1.1. Выгрузка (неизменяемая исправлять. К сожалениюОчистить
Чтобы заменить текст или только символы, введенные, чтобы определить дополнительные ниже действий.Описание (результат) функция ЗАМЕНИТЬБ считает: А может так: число (или символ) 1 To d_.Cells.Count
biomirror, 29.12.2015 в копируете его - *» — означаетзаменить всеКак можно сделать таблица — куда вариант Найти-Заменить не. числа, введите знаки в поле
условия поиска при
Чтобы найти текст или
Результат каждый символ заDelphi E.ActiveWorkBook.WorkSheets['Лист_1'].Range[E.ActiveWorkBook.WorkSheets['Лист_1'].Cells[1,1]].Replace(What :=
- какая строка
If Len(d_(i)) Then
15:26, в сообщении
ПКМ на ярлычке
найти все значения,biomirror
замену только первых копируются исходные данные)
подходит по рядуДля поиска текста или
для замены в
Найти необходимости: числа, выберите пункт
=ЗАМЕНИТЬ(A2;6;5;"*") один.
':', Replacement:= '_'); или число за
d_(i) = 1
№ 9200?'200px':''+(this.scrollHeight+5)+'px');">выполнил, что
Вашего листа -
которые стоят в
: В ячейках разные двух символов, т.е.2. Формулы которые
причин. чисел на листе поле, установите флажокДля поиска данных наНайтиЗаменяет пять знаков последовательностиК языкам, поддерживающим БДЦС,Al_Sha это отвечают))
Next i вы написали, изменил вставляете. ячейках. Только сейчас
значения. 05 на 04, приводят в порядокСпасибо!!! также можно использоватьЗаменить наЯчейка целиком листе или во. абвгдеёжзий одним знаком
относятся японский, китайский: Я сожалею, ноИ как можноEnd If диапазон «A1:G20» на
Только представленный выше понял, что это
По сути, мне чтобы в итоге выгрузкуJayBhagavan функции ПОИСК и(или оставьте это
. всей книге выберитеЧтобы найти и заменить *, начиная с (упрощенное письмо), китайский выдается ошибка добавить еще диапазоновApplication.EnableEvents = 1 «H8:I10», сохранил - макрос работает вообще значит найти «*»
нужно некое подобие получить3. Отображение данных,
: ПОДСТАВИТЬ() НАЙТИ. поле пустым, чтобыЕсли вы хотите найти в поле текст или числа,
шестого знака (е). (традиционное письмо) иOLE error 800A03EC к уже существующему.End Sub вылетает ошибкаПокажите в
на весь лист. (звездочку). Единственное значок
функции «ЕСЛИ»:04
ВПРы, формулы дляviktturКонстантин ж ничем не заменять
текст или числаИскать
выберите пунктабвгд*й корейский.
excelworld.ru
Замена символа в ОДНОЙ ячейке Excel….
С уважениемbiomirror
Если не угадала, файле Для диапазона вот’если в ячейке
-A23ghjhj-05sdfklklsdf-05sdklk конечных пользователей.: Инструмент
: ответ на вот
знаки), а затем с определенным форматированием,
вариант
Заменить=ЗАМЕНИТЬ(A3;3;2;»10″)ЗАМЕНИТЬ(стар_текст;начальная_позиция;число_знаков;нов_текст)
Alex: После небольших раздумий
то поподробнее объясните,
biomirror
так должно бытьне заменяется при
есть, какое-то значение,?
Вторые листы -Найти/Заменить эту вот часть
нажмите кнопку
нажмите кнопку
на листе
CyberForum.ru
.
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, чтобы избежать случайных ошибочных замен в именах почтовых ящиков электронной почты. Конечно, вероятность того, что такие совпадения произойдут, очень мала, и все же вы можете перестраховаться.
Как вы видите на скриншоте ниже, у формулы нет проблем, чтобы поменять символы в разных позициях. Однако если заменяемая текстовая строка не найдена и менять в ней ничего не нужно, формула возвращает ошибку #ЗНАЧ!:
И мы хотим, чтобы формула вместо ошибки возвращала исходный адрес электронной почты без изменения. Для этого заключим нашу формулу НАЙТИ И ЗАМЕНИТЬ в функцию ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(ЗАМЕНИТЬ(A3; НАЙТИ(«@abc»;A3); 4; «@bca»);A3)
И эта доработанная формула прекрасно работает, не так ли?
Заменить заглавные буквы на строчные и наоборот
Еще один полезный пример – заменить первую строчную букву в ячейке на прописную (заглавную). Всякий раз, когда вы имеете дело со списком имен, товаров и т.п., вы можете использовать приведенную ниже формулу, чтобы изменить первую букву на ЗАГЛАВНУЮ. Ведь названия товаров могут быть записаны по-разному, а в списках важно единообразие.
Таким образом, нам нужно заменить первый символ в тексте на заглавную букву. Используем формулу
=ЗАМЕНИТЬ(СТРОЧН(A3);1;1;ПРОПИСН(ЛЕВСИМВ(A3;1)))
Как видите, эта формула сначала заменяет все буквы в тексте на строчные при помощи функции СТРОЧН, а затем первую строчную букву меняет на заглавную (прописную).
Быть может, это будет полезно.
Описание функции ПОДСТАВИТЬ
Функция ПОДСТАВИТЬ в 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. Надеюсь, эти примеры окажутся полезными при решении ваших задач.
Содержание
- Способы замены символов в Excel
- Поиск с заменой
- Автоматическая замена
- Дополнительные параметры
- Вопросы и ответы
Бывают ситуации, когда в документе нужно заменить один символ (или группу символов) на другой. Причин может быть множество, начиная от банальной ошибки, и, заканчивая переделкой шаблона или удалением пробелов. Давайте выясним, как быстро заменить символы в программе Microsoft Excel.
Конечно, наиболее простым способом заменить один символ на другой является ручное редактирование ячеек. Но, как показывает практика, далеко не всегда этот способ самый легкий в масштабных таблицах, где количество однотипных символов, которые требуется изменить, может достигать очень большого количества. Даже на поиск нужных ячеек может быть потрачено значительное количество времени, не говоря уже о временных затратах на редактирование каждой из них.
К счастью, в программе Эксель имеется инструмент «Найти и заменить», который поможет быстро отыскать нужные ячейки, и выполнит в них замену символов.
Поиск с заменой
Простая замена с поиском предполагает замену одного последовательного и фиксированного набора символов (числа, слова, знаки, и т.д.) на другой после того, как эти символы будут найдены при помощи специального встроенного инструмента программы.
- Кликаем по кнопке «Найти и выделить», которая располагается во вкладке «Главная» в блоке настроек «Редактирование». В появившемся после этого списке делаем переход по пункту «Заменить».
-
Открывается окно «Найти и заменить» во вкладке «Заменить». В поле «Найти» вводим число, слова или символы, которые требуется отыскать и заменить. В поле «Заменить на» выполняем ввод данных, на которые будет производиться замена.
Как видим, в нижней части окна имеются кнопки замены – «Заменить всё» и «Заменить», и кнопки поиска — «Найти всё» и «Найти далее». Жмем на кнопку «Найти далее».
- После этого производится поиск по документу искомого слова. По умолчанию, направление поиска производится построчно. Курсор останавливается на первом же результате, который совпал. Для замены содержимого ячейки жмем на кнопку «Заменить».
- Чтобы продолжить поиск данных, опять жмем на кнопку «Найти далее». Тем же способом меняем следующий результат, и т.д.
Можно найти все удовлетворяющие запросу результаты сразу.
- После ввода поискового запроса и заменяющих символов жмем на кнопку «Найти все».
- Производится поиск всех релевантных ячеек. Их список, в котором указано значение и адрес каждой ячейки, открывается в нижней части окна. Теперь можно кликнуть по любой из ячеек, в которой мы хотим выполнить замену, и нажать на кнопку «Заменить».
- Замена значения будет выполнена, а пользователь может дальше продолжать в поисковой выдаче искать нужные ему результат для повторной процедуры.
Автоматическая замена
Можно выполнить автоматическую замену нажатием всего одной кнопки. Для этого после ввода заменяемых значений, и значений, на которые производится замена, жмем кнопку «Заменить все».
Процедура выполняется практически моментально.
Плюсы этого способа — быстрота и удобство. Главный минус состоит в том, что вы должны быть уверены, что введенные символы нуждаются в замене во всех ячейках. Если в предыдущих способах была возможность найти и отобрать нужные ячейки для изменения, то при использовании данного варианта такая возможность исключается.
Урок: как заменить точку на запятую в Экселе
Дополнительные параметры
Кроме того, существует возможность расширенного поиска и замены по дополнительным параметрам.
- Находясь во вкладке «Заменить», в окне «Найти и заменить» жмем на кнопку Параметры.
- Открывается окно дополнительных параметров. Оно практически идентично окну расширенного поиска. Единственное отличие – присутствие блока настроек «Заменить на».
Вся нижняя часть окна отвечает за поиск данных, замену которых следует выполнить. Тут можно установить, где искать (на листе или во всей книге) и как искать (по строкам или по столбцам). В отличие от обычного поиска, поиск для замены можно производить исключительно по формулам, то есть, по тем значениям, которые указываются в строке формул при выделении ячейки. Кроме того, тут же, путем установки или снятия галочек, можно указать, учитывать ли при поиске регистр букв, искать ли точное соответствие в ячейках.
Также, можно указать среди ячеек какого формата будет производиться поиск. Для этого нужно кликнуть по кнопке «Формат» напротив параметра «Найти».
После этого откроется окно, в котором можно указать формат ячеек для поиска.
Единственной настройкой значения для вставки будет являться все тот же формат ячеек. Для выбора формата вставляемого значения жмем на одноименную кнопку напротив параметра «Заменить на…».
Открывается точно такое же окно, как и в предыдущем случае. Тут устанавливается, как будут отформатированы ячейки после замены их данных. Можно установить выравнивание, числовые форматы, цвет ячеек, границы, и т.д.
Также, нажав на соответствующий пункт из выпадающего списка под кнопкой «Формат», можно установить формат идентичный любой выбранной ячейке на листе, достаточно только ее выделить.
Дополнительным ограничителем поиска может быть указание диапазона ячеек, среди которых будет производиться поиск и замена. Для этого достаточно просто выделить нужный диапазон вручную.
- Не забываем в поля «Найти» и «Заменить на…» вписать соответствующие значения. Когда все настройки указаны, выбираем способ выполнения процедуры. Либо жмем на кнопку «Заменить все», и замена происходит автоматически, согласно введенным данным, или же жмем на кнопку «Найти все», и отдельно производим замену в каждой ячейке по тому алгоритму, о котором писалось уже выше.
Урок: Как сделать поиск в Экселе
Как видим, программа Microsoft Excel предоставляет довольно функциональный и удобный инструмент для поиска и замены данных в таблицах. Если нужно заменить абсолютно все однотипные значения на конкретное выражение, то это можно сделать нажатием только одной кнопки. В случае, если выборку нужно делать более подробно, то и эта возможность в полной мере предоставлена в данном табличном процессоре.
Еще статьи по данной теме:
Помогла ли Вам статья?
Замена первого символа в ячейке.
Автор GREGM, 25.01.2011, 10:51
« назад — далее »
Здравствуйте!
Подскажите, пожалуйста, как заменить первый символ в каждой ячейке.
Есть список телефонов в таблице, в каждой ячейке номер в формате 8926*******, нужно заменить «8» на «+7»
Большое спасибо за помощь!
=ЗАМЕНИТЬ(A1;1;1;»+7″)
или
=»+»&(A1-10000000000)
или
ввести в любую ячейку 10000000000, скопировать, выделить диапазон с номерами, спец. вставка, поставить галку «вычесть». Потом можно еще поставить формат этих ячеек
[<=9999999]###-##-##;+# ###-###-##-##
Скажи мне, кудесник, любимец ба’гов…
Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995
Ещё вариант:
Выделить диапазон с номерами
Ctrl+H
найти 8926
заменить на +7926
ЗЫ Сами номера (*******) не должны содержать сочетания цифр 8926
Или
="+"&ПОДСТАВИТЬ(A1;8;7;1)
или
=ПОДСТАВИТЬ(A1;8;"+7";1)
или
="+7"&ПРАВСИМВ(A1;10)
Огромное спасибо!
Все получилось.
- Профессиональные приемы работы в Microsoft Excel
-
►
Обмен опытом -
►
Microsoft Excel -
►
Замена первого символа в ячейке.
На чтение 5 мин Просмотров 8.3к. Опубликовано 12.05.2022
Часто бывает такое, что нужно удалить один или несколько символов из начала каждой ячейки.
Допустим у нас есть первый столбик, в котором лежат значения буква+цифры, нам нужно обрезать их таким образом, чтобы получились только цифры. Как на картинке ниже:
На самом деле, есть несколько вариантов, как можно это сделать.
Итак, давайте начнем!
Содержание
- С помощью функции ЗАМЕНА
- Копируем из ячейки все, кроме первого символа
- С помощью функции «Текст по столбцам»
- С помощью автозаполнения
- С помощью Visual Basic
С помощью функции ЗАМЕНА
Самый распространенный способ — использовать функцию ЗАМЕНА. Она довольно простая и в то же время полезная.
Для указанного выше примера формула функции принимает такой вид:
=ЗАМЕНА(A2;1;1;"")
Что она делает?
Просто заменяет первый символ в строке на пустое место.
С помощью неё можно удалить любое количество символов с начала строки, например удалить два символа можно так:
=ЗАМЕНА(A1;1;2;"")
Копируем из ячейки все, кроме первого символа
Можно сделать и так, в этом случае формула будет немного сложней, но результата мы добьемся.
Разница в том, что в первом случае мы удаляли первый символ из строки, а в этом случае — мы просто разделяем строку и переносим нужную её часть в другую ячейку.
Допустим, у нас тот же столбик, который нужно обработать:
В этой ситуации формула принимает такой вид:
=ПРАВСИМВ(A1;ДЛСТР(A1)-1)
Функция ДЛСТР получает длину всей строки, а далее из длины убавляется 1 (потому что 1 символ мы хотим «пропустить») и все это отдается в обработку функции ПРАВСИМВ.
С помощью функции «Текст по столбцам»
Прошлые методы простые, но неудобны тем, что для них нужен отдельный столбец, так сказать, «технический» (для расчетов).
Если, например, вам нужно получить результат в тех же ячейках, которые мы обрабатываем, грубо говоря, перезаписать их, то вам поможет этот метод.
Допустим, у нас тот же столбик:
Пошаговая инструкция:
- Выделите ячейки и щелкните на «Данные»;
- Далее «Текст по столбцам»;
- В открывшемся окошке:
- В первом шаге используйте вторую опцию (как на картинке);
- Во втором шаге установите стрелку на том делении, сколько символов вы хотите «отрезать»;
- И в последнем шаге, выберите «пропустить столбец»;
- Подтвердите.
Таким образом, первый символ был удален.
Как это работает?
Довольно просто: вы указали функции сколько символов нужно «отрезать» от начала строки, а также вы указали пропустить столбец. Это значит что данные, после обработки, будут записаны в тот же столбик, где они изначально были.
С помощью автозаполнения
Эта функция — одна из самых удобных функций в Excel. Она автоматически пытается угадать значения для следующих ячеек, если вы заполнили первую (одну или две).
Давайте посмотрим как это работает.
Допустим, у нас тот же столбик:
Воспользуемся этой функцией
Пошаговая инструкция:
- В следующем столбике, впишите значение, которое должно быть после преобразования (в нашем случае 271);
- А также, по аналогии, укажите значение для второй ячейки. На самом деле, функция автозаполнения уже поняла логику и предлагает нам заполнить всю оставшуюся часть;
- Теперь выделите обе ячейки с обработанными данными;
- Наведите курсор на правую нижнюю часть выделения и потяните её вниз;
- Готово!
Просто не правда ли?
Это удобная функция, но с ней нужно быть осторожным. Если она неправильно поймет логику вашего заполнения — могут быть ошибки.
С помощью Visual Basic
Ну и как обычно, напоследок, рассмотрим как можно сделать это с помощью Visual Basic.
Я дам вам код функции для такого рода задачи, вы сможете модифицировать его.
Также, как и в случае использования функции «Текст по столбцам» в этом методе нам не нужен дополнительный столбик для расчетов.
Обратите внимание, что если строк, которые нужно обработать у вас очень много, выполнение этого кода может замедлить работу компьютера на какое-то время.
Этот код удаляет первый символ из каждой ячейки:
For Each cell In Selection: cell.Value = Right(cell.Value, Len(cell.Value) - 1): Next cell
Как его использовать?
Пошаговая инструкция:
- Выделите диапазон ячеек, в которых нужно удалить первый символ
- Откройте просмотр кода (правой кнопкой на имя листа -> «Просмотр кода»);
- Далее щелкните на «View» -> «Immediate Window» (или CTRL + G);
- Поместите в окно наш код;
- Обязательно наведите мышь в конец кода;
- И просто подтвердите (нажав ENTER);
Готово, первый символ удален.
Что же делает этот код?
For Each cell In Selection: cell.Value = Right(cell.Value, Len(cell.Value) - 1): Next cell
Итак, здесь используется цикл, который копирует и перезаписывает каждую ячейку отдельно.
В общем то и все! Мы рассмотрели несколько удобных и практичных методов удаления первого символа из каждой ячейки.
Я надеюсь эта статья была полезна для вас! Потому что даже если какой-то способ вам не по душе, вы всегда можете использовать несколько других.
Возможно, вас интересует: функция ЗАМЕНИТЬ в Excel.
- «Найти и заменить» в Excel
- Горячие клавиши
- Процедура «Найти и заменить» не работает
- Подстановочные знаки, или как найти “звёздочку”
- Замена нескольких значений на несколько
- Массовая замена с помощью функции “ПОДСТАВИТЬ”
- Файл-шаблон с формулой множественной замены
- Заменить несколько значений на одно
- С помощью функции «ПОДСТАВИТЬ»
- С помощью регулярных выражений
- Массовая замена в !SEMTools
- Пример: замена символов по вхождению
- Пример: замена списка слов на другой список слов
Процедура поиска и замены данных — одна из самых востребованных в Excel. Базовая процедура позволяет заменить за один заход только одно значение, но зато множеством способов. Рассмотрим, как эффективно работать с ней.
Горячие клавиши
Сочетания клавиш ниже заметно ускорят работу с инструментом:
- Для запуска диалогового окна поиска — Ctrl + F.
- Для запуска окна поиска и замены — Ctrl + H.
- Для выделения всех найденных ячеек (после нажатия кнопки «найти всё») — Ctrl + A.
- Для очистки всех найденных ячеек — Ctrl + Delete.
- Для ввода одних и тех же данных во все найденные ячейки — Ввод текста, Ctrl + Enter.
Смотрите gif-пример: здесь я произвожу поиск ячеек с дальнейшим их редактированием. В отличие от замены, редактирование найденных ячеек позволяет быстро менять их содержимое целиком.
Процедура «Найти и заменить» не работает
Я сам когда-то неоднократно впадал в ступор в этой ситуации. Уверен и видишь своими глазами, что искомый паттерн в данных есть, но Excel при выполнении процедуры поиска сообщает:
или при замене:
Так вот, совет нажать кнопку “Параметры” в обоих этих сообщениях действительно полезен — там наверняка активен чекбокс “Учитывать регистр” или “Ячейка целиком”, которые мешают Excel найти искомое. Excel, в свою очередь, сохраняет конфигурацию последнего поиска.
Подстановочные знаки, или как найти “звёздочку”
Сухая официальная справка по Excel сообщает:
— что можно использовать подстановочные символы “*” и “?”;
— что “*” и “?” означают несколько символов, включая их отсутствие, и один любой символ;
— что их можно использовать для соответствующих процедур поиска.
Чего не говорит справка, так это того, что в комбинации с опцией “ячейка целиком” эти символы позволяют, не прибегая к помощи расширенного фильтра и процедуры поиска группы ячеек:
- находить ячейки, заканчивающиеся на определенный символ, слово или текст,
- находить ячейки, начинающиеся с определенного символа, слова или текста,
- находить непустые ячейки.
Если хотите поподробнее познакомиться с этими и другими специальными символами, читайте соответствующую статью.
В примере ниже мы находим все двузначные числа, затем числа, заканчивающиеся и начинающиеся на 7, и, наконец, все непустые ячейки. Напомню, выделить все результаты поиска помогает горячее сочетание клавиш Ctrl + A.
Так а как найти звёздочку?
Действительно, забыл. Чтобы найти «звёздочку», нужно в окошке поиска ставить перед ней знак ~ (тильда), он находится обычно под клавишей Esc. Это позволяет экранировать “звездочку”, как и вопросительный знак, и не воспринимать их как служебные символы.
Замена нескольких значений на несколько
Массовая замена в Excel — довольно частая потребность. Очень часто нужно массово и при этом быстро заменить несколько символов, слов и т.д. на другие. При этом на текущий момент простого инструмента в стандартном функционале Excel нет.
Тем не менее, если очень нужно, любую задачу можно решить. В зависимости от того, на что вы хотите заменить, могут помочь комбинации функций, регулярные выражения, а в самых сложных случаях — надстройка !SEMTools.
Эта задача более сложная, чем замена на одно значение. Как ни странно, функция «ЗАМЕНИТЬ» здесь не подходит — она требует явного указания позиции заменяемого текста. Зато может помочь функция «ПОДСТАВИТЬ».
Массовая замена с помощью функции “ПОДСТАВИТЬ”
Используя несколько условий в сложной формуле, можно производить одновременную замену нескольких значений. Excel позволяет использовать до 64 уровней вложенности — свобода действий высока. Например, вот так можно перевести кириллицу в латиницу:
При этом, если использовать в качестве подставляемого фрагмента пустоту, можно использовать функцию для удаления нескольких символов, — смотрите, как удалить цифры из ячейки этим способом.
Но у решения есть и свои недостатки:
- Функция ПОДСТАВИТЬ регистрозависимая, что заставляет при замене одного символа использовать два его варианта — в верхнем и нижнем регистрах. Хотя в некоторых случаях, как, например, на картинке выше, это и преимущество.
- Максимум 64 замены — хоть и много, но все же ограничение.
- Формально процедура замены таким способом будет происходить массово и моментально, однако длительность написания таких формул сводит на нет это преимущество. За исключением случаев, когда они будут использоваться многократно.
Файл-шаблон с формулой множественной замены
Вместо явного прописывания заменяемых паттернов в формуле существует вариант использовать внутри нее ссылки на ячейки, значения в которых можно прописывать на свое усмотрение. Это сократит время, так как не требует редактирования сложной формулы.
Файл доступен по ссылке, но можно и не скачивать его, а просто скопировать текст формулы ниже и вставить ее в любую ячейку, кроме диапазона A1:B64. Формула заменяет в ячейке C1 значения в столбце A стоящими напротив в столбце B.
А вот и она сама (тройной клик по любой части текста = выделить всю формулу): обращается к ячейке D1, делая 64 замены по правилам, указанным в ячейках A1-B64. При этом в столбцах можно удалять значения — это не нарушит её работу.
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(D1;$A$1;$B$1);$A$2;$B$2);$A$3;$B$3);$A$4;$B$4);$A$5;$B$5);$A$6;$B$6);$A$7;$B$7);$A$8;$B$8);$A$9;$B$9);$A$10;$B$10);$A$11;$B$11);$A$12;$B$12);$A$13;$B$13);$A$14;$B$14);$A$15;$B$15);$A$16;$B$16);$A$17;$B$17);$A$18;$B$18);$A$19;$B$19);$A$20;$B$20);$A$21;$B$21);$A$22;$B$22);$A$23;$B$23);$A$24;$B$24);$A$25;$B$25);$A$26;$B$26);$A$27;$B$27);$A$28;$B$28);$A$29;$B$29);$A$30;$B$30);$A$31;$B$31);$A$32;$B$32);$A$33;$B$33);$A$34;$B$34);$A$35;$B$35);$A$36;$B$36);$A$37;$B$37);$A$38;$B$38);$A$39;$B$39);$A$40;$B$40);$A$41;$B$41);$A$42;$B$42);$A$43;$B$43);$A$44;$B$44);$A$45;$B$45);$A$46;$B$46);$A$47;$B$47);$A$48;$B$48);$A$49;$B$49);$A$50;$B$50);$A$51;$B$51);$A$52;$B$52);$A$53;$B$53);$A$54;$B$54);$A$55;$B$55);$A$56;$B$56);$A$57;$B$57);$A$58;$B$58);$A$59;$B$59);$A$60;$B$60);$A$61;$B$61);$A$62;$B$62);$A$63;$B$63);$A$64;$B$64)
Заменить несколько значений на одно
С помощью функции «ПОДСТАВИТЬ»
При замене нескольких значений на одно и то же механика работы формул на основе нескольких уровней вложенности не будет отличаться от замены нескольких на несколько. Просто третий аргумент (на что заменить) на всех уровнях вложенности будет один и тот же. Кстати, если оставить его пустым (кавычки без символов между ними), то это позволит удалить определенные символы. Пример: удалить цифры из ячейки путем замены на пустоту:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"1";"");"2";"");"3";"");"4";"");"5";"");"6";"");"7";"");"8";"");"9";"");"0";"")
С помощью регулярных выражений
Важно: регулярные выражения не поставляются в Excel “из коробки”, но формулы ниже доступны бесплатно, если установить надстройку !SEMTools.
Регулярные выражения (RegEx, регулярки) — наиболее удобное решение, когда нужно заменить несколько символов на один. Все эти несколько символов обычным способом безо всяких разделителей нужно перечислить внутри квадратных скобок. Примеры формул:
=regexreplace(A1;"d";"#")
=regexreplace(A1;"w";"#")
=regexreplace(A1;"а-яА-Я";"#")
=regexreplace(A1;"s";"_")
Первая заменяет на символ “#” все цифры, вторая — все английские буквы, а третья — все кириллические символы в верхнем и нижнем регистре. Четвёртая заменяет любые пробелы, в том числе табуляцию и переносы строк, на нижнее подчеркивание.
Если же нужно заменять не символы, а несколько значений, состоящих в свою очередь из нескольких букв, цифр или знаков, синтаксис предполагает уже использование круглых скобок и вертикальной черты “|” в качестве разделителя.
Массовая замена в !SEMTools
Надстройка для Excel !SEMTools позволяет в пару кликов производить замены на всех уровнях:
- символов и их сочетаний,
- паттернов регулярных выражений,
- слов,
- целых ячеек (в некоторой степени аналог ВПР).
При этом процедуры изменяют исходный диапазон, что экономит время. Все что нужно —предварительно выделить его, определиться с задачей, вызвать нужную процедуру и выделить два столбца сопоставления заменяемых и замещающих значений (предполагается, что если вы знаете, что на что менять, то и такие списки есть).
Пример: замена символов по вхождению
Аналог обычной процедуры замены без учета регистра заменяемых символов, по вхождению. С одним отличием: здесь замена массовая и можно выбрать сколько угодно строк с парами «заменяемое-заменяющее» значение.
Ниже пример с единичными символами, но паттерны могут быть какими угодно в зависимости от вашей задачи.
Пример: замена списка слов на другой список слов
На этом примере — замена списка слов на другой список, в данном случае на одно и то же слово. Здесь решается задача типизации разнородных фраз путем замены слов, содержащих латиницу и цифры, на одно слово. Далее после этой операции можно будет посчитать уникальные значения в столбце, чтобы выявить наиболее популярные сочетания.
С версии !SEMTools 9.18.18 появилась опция: при замене списка слов не учитывать пунктуацию в исходных предложениях, а регистр слов теперь сохраняется.
Инструменты находятся в группе макросов «ИЗМЕНИТЬ» в отдельном меню и для удобства продублированы в меню «Изменить символы», «Изменить слова» и «Изменить ячейки».
Скачивайте надстройку !SEMTools и делайте массовую замену символов, слов или целых списков в Excel!
Смотрите также по теме поиска и замены данных в Excel:
- Найти заглавные/строчные буквы в ячейке;
- Найти латиницу или кириллицу в тексте;
- Найти числа в текстовых ячейках;
- Обнаружить текстовые символы;
- Функция НАЙТИ в Excel;
- Функция ПОИСК в Excel;
- Функция ЗАМЕНИТЬ в Excel;
- Найти определенные символы в ячейках Excel.
Замена символов в Microsoft Excel
Бывают ситуации, когда в документе нужно заменить один символ (или группу символов) на другой. Причин может быть множество, начиная от банальной ошибки, и, заканчивая переделкой шаблона или удалением пробелов. Давайте выясним, как быстро заменить символы в программе Microsoft Excel.
Способы замены символов в Excel
Конечно, наиболее простым способом заменить один символ на другой является ручное редактирование ячеек. Но, как показывает практика, далеко не всегда этот способ самый легкий в масштабных таблицах, где количество однотипных символов, которые требуется изменить, может достигать очень большого количества. Даже на поиск нужных ячеек может быть потрачено значительное количество времени, не говоря уже о временных затратах на редактирование каждой из них.
К счастью, в программе Эксель имеется инструмент «Найти и заменить», который поможет быстро отыскать нужные ячейки, и выполнит в них замену символов.
Поиск с заменой
Простая замена с поиском предполагает замену одного последовательного и фиксированного набора символов (числа, слова, знаки, и т.д.) на другой после того, как эти символы будут найдены при помощи специального встроенного инструмента программы.
-
Кликаем по кнопке «Найти и выделить», которая располагается во вкладке «Главная» в блоке настроек «Редактирование». В появившемся после этого списке делаем переход по пункту «Заменить».
Открывается окно «Найти и заменить» во вкладке «Заменить». В поле «Найти» вводим число, слова или символы, которые требуется отыскать и заменить. В поле «Заменить на» выполняем ввод данных, на которые будет производиться замена.
Как видим, в нижней части окна имеются кнопки замены – «Заменить всё» и «Заменить», и кнопки поиска — «Найти всё» и «Найти далее». Жмем на кнопку «Найти далее».
После этого производится поиск по документу искомого слова. По умолчанию, направление поиска производится построчно. Курсор останавливается на первом же результате, который совпал. Для замены содержимого ячейки жмем на кнопку «Заменить».
Можно найти все удовлетворяющие запросу результаты сразу.
- После ввода поискового запроса и заменяющих символов жмем на кнопку «Найти все».
Производится поиск всех релевантных ячеек. Их список, в котором указано значение и адрес каждой ячейки, открывается в нижней части окна. Теперь можно кликнуть по любой из ячеек, в которой мы хотим выполнить замену, и нажать на кнопку «Заменить».
Автоматическая замена
Можно выполнить автоматическую замену нажатием всего одной кнопки. Для этого после ввода заменяемых значений, и значений, на которые производится замена, жмем кнопку «Заменить все».
Процедура выполняется практически моментально.
Плюсы этого способа — быстрота и удобство. Главный минус состоит в том, что вы должны быть уверены, что введенные символы нуждаются в замене во всех ячейках. Если в предыдущих способах была возможность найти и отобрать нужные ячейки для изменения, то при использовании данного варианта такая возможность исключается.
Дополнительные параметры
Кроме того, существует возможность расширенного поиска и замены по дополнительным параметрам.
-
Находясь во вкладке «Заменить», в окне «Найти и заменить» жмем на кнопку Параметры.
Открывается окно дополнительных параметров. Оно практически идентично окну расширенного поиска. Единственное отличие – присутствие блока настроек «Заменить на».
Вся нижняя часть окна отвечает за поиск данных, замену которых следует выполнить. Тут можно установить, где искать (на листе или во всей книге) и как искать (по строкам или по столбцам). В отличие от обычного поиска, поиск для замены можно производить исключительно по формулам, то есть, по тем значениям, которые указываются в строке формул при выделении ячейки. Кроме того, тут же, путем установки или снятия галочек, можно указать, учитывать ли при поиске регистр букв, искать ли точное соответствие в ячейках.
Также, можно указать среди ячеек какого формата будет производиться поиск. Для этого нужно кликнуть по кнопке «Формат» напротив параметра «Найти».
После этого откроется окно, в котором можно указать формат ячеек для поиска.
Единственной настройкой значения для вставки будет являться все тот же формат ячеек. Для выбора формата вставляемого значения жмем на одноименную кнопку напротив параметра «Заменить на…».
Открывается точно такое же окно, как и в предыдущем случае. Тут устанавливается, как будут отформатированы ячейки после замены их данных. Можно установить выравнивание, числовые форматы, цвет ячеек, границы, и т.д.
Также, нажав на соответствующий пункт из выпадающего списка под кнопкой «Формат», можно установить формат идентичный любой выбранной ячейке на листе, достаточно только ее выделить.
Дополнительным ограничителем поиска может быть указание диапазона ячеек, среди которых будет производиться поиск и замена. Для этого достаточно просто выделить нужный диапазон вручную.
Как видим, программа Microsoft Excel предоставляет довольно функциональный и удобный инструмент для поиска и замены данных в таблицах. Если нужно заменить абсолютно все однотипные значения на конкретное выражение, то это можно сделать нажатием только одной кнопки. В случае, если выборку нужно делать более подробно, то и эта возможность в полной мере предоставлена в данном табличном процессоре.
Отблагодарите автора, поделитесь статьей в социальных сетях.
ЗАМЕНИТЬ, ЗАМЕНИТЬБ (функции ЗАМЕНИТЬ, ЗАМЕНИТЬБ)
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
В этой статье описаны синтаксис формулы и использование функций ЗАМЕНИТЬ и ЗАМЕНИТЬБ в Microsoft Excel.
Функция ЗАМЕНИТЬ заменяет указанное число символов текстовой строки другой текстовой строкой.
Функция ЗАМЕНИТЬ заменяет часть текстовой строки, соответствующую заданному числу байтов, другой текстовой строкой.
Эти функции могут быть доступны не на всех языках.
Функция ЗАМЕНИТЬ предназначена для языков с однобайтовой кодировкой, а ЗАМЕНИТЬБ — для языков с двухбайтовой кодировкой. Язык по умолчанию, заданный на компьютере, влияет на возвращаемое значение следующим образом.
Функция ЗАМЕНИТЬ всегда считает каждый символ (одно- или двухбайтовый) за один вне зависимости от языка по умолчанию.
Функция ЗАМЕНИТЬБ считает каждый двухбайтовый символ за два, если включена поддержка ввода на языке с двухбайтовой кодировкой, а затем этот язык назначен языком по умолчанию. В противном случае функция ЗАМЕНИТЬБ считает каждый символ за один.
К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.
Аргументы функций ЗАМЕНИТЬ и ЗАМЕНИТЬБ описаны ниже.
Стар_текст Обязательный. Текст, в котором требуется заменить некоторые символы.
Начальная_позиция Обязательный. Позиция символа в старом тексте, начиная с которого требуется выполнить замену новым текстом.
Число_знаков Обязательный. Число символов в старом тексте, которые требуется ЗАМЕНИТЬ новым текстом.
Число_байтов Обязательный. Число байтов старого текста, который требуется ЗАМЕНИТЬБ новым текстом.
Нов_текст Обязательный. Текст, который заменит символы в старом тексте.
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Excel заменить первый символ в ячейке
Други — срочно!
кто знает как в множестве ячеек листа избавиться от ненужного символа переноса строки?
чертов квадратик не дает вычислять и корректно конвертировать содержимое.
имею ввиду символ нажатия «enter» , который приводит к переносу вводимого текста на строку ниже.
Добавление от 12.12.2004 01:23:
замена сработала с кодом 010 — НО! после этого функция замены вырубается
как пофиксить?
и еще — нужно в пустые ячейки автоматом вставлять некое значение — возможно ли? — путем автозамены? или только вручную? — большой гимор.
спасибо за ответы
после конвенртирования данных из 1с в Excel имеем:
часть данных конвертируется некорректно, имея в ячейках спецсимвол, с этим почти разобрались — см. выше.
некоторые массивы имеют хаотично разбросанные пустые поля, которые надо заполнить одинаковым значением, в моем случае — нулями, иначе не работает формулы вычисления для соседних ячеек, итоговая автосумма по столбцу и т.п.
вопрос — можно ли в ПУСТЫЕ ячейки забить нули автозаменой? похоже нет. а лопатить огромные листы на тысячи позиций и вручную заполнять пустые позиции — это тупо и долго.
Наверно мы с Вами говорим о разных вещах.
Настоящая автозамена, это когда мы вводим в ячейку, например z, а получаем 0 (Сервис-Автозамена)
Естественно, что для этого нам необходимо предварительно указать, что z — это неправильный вариант, а 0 — правильный.
Вы, по всей видимости, имеете ввиду меню Правка — команда Заменить
Но это не важно, так как в принципе нам ничего не мешает выделить диапазон ячеек, содержащий пустые ячейки, а затем ввести 0 сразу во все эти ячейки.
— Выделяете диапазон ячеек (можно выделить несмежные и не обязательно выделять строго пустые ячейки), затем в меню Правка-Перейти-Выделить-Пустые ячейки-ОК
— Вводим 0, затем CTRL + ENTER *
SS-18
Чтобы определить код символа можно воспользоваться функцией КОДСИМВ.
Допустим, символ переноса строки находится на пятой позиции в ячейке G30, тогда формула:
=КОДСИМВ(ПСТР(G30;5;1))
возвратит значение 10
Удалить этот символ из ячейки можно с помощью формулы:
=ПОДСТАВИТЬ(G30;СИМВОЛ(10);»»)
В некоторых случаях может понадобиться заменить этот символ другим, например, пробелом:
=ПОДСТАВИТЬ(G30;СИМВОЛ(10);СИМВОЛ(32))
Другой способ удалить символ с кодом 10 — использовать функцию ПЕЧСИМВ:
=ПЕЧСИМВ(G30)
SS-18
замена сработала с кодом 010 — НО! после этого функция замены вырубается
Когда вызываешь Замену во второй раз, в полях ввода ОСТАЮТСЯ предыдущие значения!
То есть там стоИт сомвол 010, но его не видно, ты дописываешь что-то. и такая комбинация символов, действительно, не встречается.
Метод: после вызова Замены поставить курсор в поле «Что» и несколько раз нажать BackSpace и Delete.
Забить пустые ячейки нулями? Нет проблем!
Выдели ячейку где-то внутри таблицы, можно в первой строке, где заголовки.
Правка-Перейти-Выделить-Текущую область (выделил всю таблицу).
Ctrl-H — Что:пустая строка, Заменить на:0 — Заменить все.
Поторопился я обрадоваться
— не помогает стирание спецсимвола и не работает функция замены после его удаления. Стирание поля в графе «заменить» — не приводит к ее активизации.
— не работают оба способа замены массивы пустых ячеек на ноль — в способе Nosorog
выделяется ТОЛЬКО вся таблица ( включая заголовки и графы с названием) и нули вставляются ТОЛЬКО вокруг ячеек массива.
в способе Vitaly K.
вообще не активна функция ОПЕРАЦИИ в специальной вставке — ее просто НЕТ ТАМ.
Попробуй задействовать такой макрос:
код: Он, собственно, применяет функцию ПЕЧСИМВ к каждой ячейке таблицы, и пишет 0 в каждую пустую ячейку.
2pashulka
хммм.. уточняю — у меня дома стоит excel 2000-й. попытка использовать режим «правка-спецвставка» показывает окошко в котором и в помине нет группы ОПЕРАЦИЯ, а есть только выбор вида текста.. ну там Unicode или другой. и больше никаких ..
-отсюда вопрос — как в Excel 2000 получить указанный режим функции спец вставка?
Vic_K
Спасибо за вопрос, но я не знаю как формируется файл из 1С.. знаю, что у жены на работе что-то сбито в ее настройках, после того как там покопался вызванный программист по 1С. а вызывать их на каждый сбой ох как дорого, да еще с такими результатами. все вышеописанные глюки появились именно после визита программиста. т.е. справеливее сказать, что он настраивал именно то, что просили добавить, но потом обнаруживались ужасные последствия в других местах.
Политика у них такая что-ли, чтобы делать людей зависимыми от их «услуг» и на бабки разводить?
извините, ответил не квалифицировано, как смог.
Excel заменить первый символ в ячейке
Формат и условное форматирование — разные вещи. Можно и УФ, но форматом проще.
_Boroda_, а как с помощью «формата» сделать так, как сделали вы
_Boroda_, выполнил, что вы написали, изменил диапазон «A1:G20» на «H8:I10», сохранил — вылетает ошибка
Действительно, не заметил сообщение № 7. Все понял, даже понял как заменять все символы на «Зю»:))
Еще раз попробовал макрос — все нормально, видно где-то допустил ошибку. Только мне надо, чтобы на 1 заменялись не вновь вводимые символы, а уже находящиеся в ячейках.
Пожалуй необходимо объединить эти две мои фразы и немного исправить:
нужно, чтобы значения в ячейках менялись автоматически, как в способе, который указал _Boroda, только чтобы на 1 заменялись символы, уже находящиеся в ячейках.
Manyasha, почему-то никаких изменений, по сравнению с предыдущим макросом я не замечаю.
По другому попробую объяснить:
В диапазоне A1:G20 уже есть различные значения: необходимо, чтобы они автоматически заменялись на 1.
И мне на всякий случай, подскажите, пожалуйста, что нужно изменить в макросе, чтобы значения менялись не на 1, а на другое число (или символ) — какая строка или число за это отвечают))
И как можно добавить еще диапазонов к уже существующему.
После небольших раздумий решил, что этот способ мне наиболее подходит. Он есть решение:
1. Запускаем макрорекордер (Файл — Параметры — Настроить Ленту — ставим галочку на против вкладки разработчик)
2. Вкладка Разработчик — Запись макроса.
2. Выделяем нужные диапазоны.
3. Ctrl+H , Найти — * , Заменить — 1, ОК
4. Останавливаем запись макроса.
Функция ЗАМЕНИТЬ() в MS EXCEL
Функция ЗАМЕНИТЬ( ) , английский вариант REPLACE(), замещает указанную часть знаков текстовой строки другой строкой текста. «Указанную часть знаков» означает, что нужно указать начальную позицию и длину заменяемой части строки. Функция используется редко, но имеет плюс: позволяет легко вставить в указанную позицию строки новый текст.
Синтаксис функции
ЗАМЕНИТЬ(исходный_текст;нач_поз;число_знаков;новый_текст)
Исходный_текст — текст, в котором требуется заменить некоторые знаки.
Нач_поз — позиция знака в Исходном_тексте, начиная с которой знаки заменяются текстом новый_текст.
Число_знаков — число знаков в Исходном_тексте, которые заменяются текстом новый_текст.
Новый_текст — текст, который заменяет знаки в Исходном_тексте.
Функция ЗАМЕНИТЬ() vs ПОДСТАВИТЬ()
Функция ПОДСТАВИТЬ() используется, когда нужно заменить определенный текст в текстовой строке; функция ЗАМЕНИТЬ() используется, когда нужно заменить любой текст начиная с определенной позиции.
При замене определенного текста функцию ЗАМЕНИТЬ() использовать неудобно. Гораздо удобнее воспользоваться функцией ПОДСТАВИТЬ() .
Пусть в ячейке А2 введена строка Продажи (январь). Чтобы заменить слово январь, на февраль, запишем формулы:
=ЗАМЕНИТЬ(A2;10;6;»февраль»)
=ПОДСТАВИТЬ(A2; «январь»;»февраль»)
т.е. для функции ЗАМЕНИТЬ() потребовалось вычислить начальную позицию слова январь (10) и его длину (6). Это не удобно, функция ПОДСТАВИТЬ() справляется с задачей гораздо проще.
Кроме того, функция ЗАМЕНИТЬ() заменяет по понятным причинам только одно вхождение строки, функция ПОДСТАВИТЬ() может заменить все вхождения или только первое, только второе и т.д.
Поясним на примере. Пусть в ячейке А2 введена строка Продажи (январь), прибыль (январь). Запишем формулы:
=ЗАМЕНИТЬ(A2;10;6;»февраль»)
=ПОДСТАВИТЬ(A2; «январь»;»февраль»)
получим в первом случае строку Продажи (февраль), прибыль (январь), во втором — Продажи (февраль), прибыль (февраль).
Записав формулу =ПОДСТАВИТЬ(A2; «январь»;»февраль»;2) получим строку Продажи (январь), прибыль (февраль).
Кроме того, функция ПОДСТАВИТЬ() чувствительна к РЕгиСТру. Записав =ПОДСТАВИТЬ(A2; «ЯНВАРЬ»;»февраль») получим строку без изменений Продажи (январь), прибыль (январь), т.к. для функции ПОДСТАВИТЬ() «ЯНВАРЬ» не тоже самое, что «январь».
Использование функции для вставки нового текста в строку
Функцию ЗАМЕНИТЬ() удобно использовать для вставки в строку нового текста. Например, имеется перечень артикулов товаров вида «ID-567(ASD)«, необходимо перед текстом ASD вставить новый текст Micro, чтобы получилось «ID-567(MicroASD)«. Для этого напишем простую формулу:
=ЗАМЕНИТЬ(A2;8;0;»Micro»).
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, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Данные |
||
абвгдеёжзий |
||
2009 |
||
123456 |
||
Формула |
Описание (результат) |
Результат |
=ЗАМЕНИТЬ(A2;6;5;»*») |
Заменяет пять знаков последовательности абвгдеёжзий одним знаком *, начиная с шестого знака (е). |
абвгд*й |
=ЗАМЕНИТЬ(A3;3;2;»10″) |
Заменяет последние два знака (09) числа 2009 на 10. |
2010 |
=ЗАМЕНИТЬ(A4;1;3;,»@») |
Заменяет первые три знака последовательности 123456 одним знаком @. |
@456 |
Нужна дополнительная помощь?
В Excel мы обычно находим и заменяем строку функцией «Найти и заменить», но если вы находитесь в одном из следующих случаев, функция «Найти и заменить» вам не поможет.
В этой статье я предлагаю несколько простых формул для решения вышеуказанных вопросов.
Заменить первый символ n другим
Чтобы заменить первые n символов другой строкой, вам просто понадобится Замените функции.
Выберите ячейку, в которую вы поместите формулу, и введите это =REPLACE(A1,1,3,»KTE») , затем перетащите маркер заливки на нужные ячейки.
В формуле A1 — это используемая вами ячейка, 1 и 3 указывают на замену первых 3 символов, KTE — это новая строка. Если вы хотите заменить 3 символа вторым символом, используйте следующую формулу =REPLACE(A1,2,3,»KTE») .
Заменить n-й символ другим
Если вы просто хотите заменить n-е вхождение определенного символа другой строкой, вы можете применить функцию ЗАМЕНА.
Выберите ячейку, в которую вы поместите формулу, и введите это =SUBSTITUTE(A2, «T», «Task», 2) , затем перетащите маркер заливки на нужные ячейки.