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

ЗАМЕНИТЬ, ЗАМЕНИТЬБ (функции ЗАМЕНИТЬ, ЗАМЕНИТЬБ)

​Смотрите также​ решил, что этот​ что нужно.​​: Действительно, не заметил​​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_​

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

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

  2. ​по строкам​ последнего поиска в​

    • ​@456​    Обязательный. Позиция символа в​​ число символов текстовой​​ разработчик)​

    • ​ а уже находящиеся​ допустил ошибку. Только​If Len(d_(i)) Then​​китин​​Второй файл макросом.​

  3. ​ быть с тем,​​ них прямые. В​​ не подходит по​ первые два символа​.​ можно удалить все​​или​​ списке.​Примечание:​ старом тексте, начиная​

    ​ строки другой текстовой​2. Вкладка Разработчик​ в ячейках.​ мне надо, чтобы​ d_(i) = 1​

    • ​: «*» это и​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Sub Worksheet_Change(ByVal Target​ что незнаешь, сколько​​ итоге приходится каждый​​ ряду причин​ того, что находится​При необходимости поиск можно​

    • ​ условия в поле​по столбцам​В условиях поиска можно​​ Мы стараемся как можно​​ с которого требуется​ строкой.​ — Запись макроса.​

      ​Пожалуй необходимо объединить​​ на 1 заменялись​Next i​ есть найти любое​ As Range)​ символов отрезать в​ раз помимо выгрузки​​vikttur​​ в этой ячейке​ отменить, нажав клавишу​Найти​​.​​ использовать подстановочные знаки,​

  4. ​ оперативнее обеспечивать вас​​ выполнить замену новым​​Функция ЗАМЕНИТЬ заменяет часть​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​​ ф-ю ЗАМЕНИТЬ​​ ВСЕ) столбцы.​

  5. ​: Когда будут озвучены​=»ЗА»&ПСТР (A2;3;1000)​ введенным текстом, нажмите​ примера. Щелкните стрелку​​Область поиска​​Звездочка используется для поиска​ автоматически, поэтому ее​ старом тексте, которые​​Важно:​​ , Заменить -​

    ​ в ячейках менялись​​:​_Boroda_​ листе и заменить​ Target(i) = 1​​В хелпе все​​Поверьте — делать​ эти причины -​то есть эта​ кнопку​ рядом с кнопкой​​вариант​​ любой строки знаков.​​ текст может содержать​​ требуется ЗАМЕНИТЬ новым​ ​ 1, ОК​

  6. ​ автоматически, как в​Цитата​

    • ​, а как с​ их на 1​​Next i​​ понятно написано​​ это несколько раз​​ тогда, может и​

      ​ формула подставить вместо​​Заменить​​Формат​​формулы​ Например, если ввести​ неточности и грамматические​ текстом.​Эти функции могут быть​4. Останавливаем запись​ способе, который указал​​biomirror, 29.12.2015 в​​ помощью «формата» сделать​у​

    • ​Application.EnableEvents = 1​Пытливый​ в день крайне​ решение оптимальное найдется.​​ первых двух символов​​или​, выберите пункт​,​г*д​ ошибки. Для нас​​Число_байтов​​ доступны не на​​ макроса.​​ _Boroda,​

      ​ 16:12, в сообщении​​ так, как сделали​​_Boroda_​​End Sub​​: =ЗАМЕНИТЬ()​​ геморойно!!​

      ​ А пока звучит​ вот это вот​Заменить все​

  7. ​Выбрать формат из ячейки​значения​, то будут найдены​ важно, чтобы эта​​    Обязательный. Число байтов старого​​ всех языках.​​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:G20​End 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

​.​

Замена первого символа в ячейке.

Автор 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

  • Замена первого символа в ячейке.

Skip to content

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Сделать заглавным первый символ ячейки
  • Сделать заглавной первую букву первого слова
  • Найти позицию первой буквы в ячейке
    • Позиция первого символа кириллицы или латиницы
    • Позиция первой буквы на любом языке
  • Сделать заглавной любую первую букву
    • Сделать первые буквы выбранных ячеек заглавными в 1 клик

Заменить первую букву ячейки на заглавную – одна из популярнейших задач в Excel. Почему? Дело в том, что часто текст при обработке теряет корректный регистр.

Допустим, вам пришлось добавить слова или текст к в начало нескольких ячеек. Если первая буква в них была заглавной – вам пришлось бы сделать весь текст ячейки маленькими буквами (например, функцией СТРОЧН), а после добавления нового слова — уже его делать с заглавной.

Или текст потерял пунктуацию и регистр после нормализации скриптом базы данных или другим человеком, после чего оригинал был удален и не сохранился.

А ваша задача — снова придать тексту читабельный вид. Для этого первые буквы каждой из ячеек нужно сделать заглавными.

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

Так как же автоматизировать задачу и формулой сделать первую букву ячейки заглавной в Excel?

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

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

Как вы догадались из заголовка – допущение, на основе которого строится формула, звучит так:

Первый символ ячейки — всегда буква. А если нет — нас не тревожит регистр букв после него.

При таком допущении задача сводится к довольно простой – мы отсекаем первый символ от ячейки, переводим его в верхний регистр функцией ПРОПИСН и возвращаем в строку. Взять первый символ из ячейки можно разными способами, наиболее простой – функцией ЛЕВСИМВ:

Оставшийся текст можно извлечь функцией ПСТР, а общая формула будет выглядеть так:

=ПРОПИСН(ЛЕВСИМВ(A1;1))&ПСТР(A1;2;ДЛСТР(A1))

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

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

Сделать заглавной первую букву первого слова

А разве это не то же самое, что и вариант выше? Спросите вы, и отчасти будете правы, но иногда первый символ ячейки не является буквой.

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

В таких случаях формулы выше не сработают – они возьмут этот знак, попытка изменить его регистр ничего не изменит, и вернут его обратно.

Тогда мы сделаем более сложное допущение:

Первая буква в строке всегда находится в первом слове.

Формально знаки препинания не входят в состав первого слова. Но когда стоит задача взять только первое слово из строки, первым словом считаются все символы до первого пробела.

Именно путем поиска этого пробела и решается поставленная задача.

А вот полная формула. Подробное описание принципа ее работы здесь: функция ПРОПНАЧ.

=ЕСЛИОШИБКА(ПРОПНАЧ(ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1)) & ЗАМЕНИТЬ(A1;1;ПОИСК(" ";A1);" ");ПРОПНАЧ(A1))

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

Найти позицию первой буквы в ячейке

Как уже было сказано в описании формул выше, они не идеальны, т.к. полагаются на определенные допущения.

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

Позиция первого символа кириллицы или латиницы

Если снова пуститься в допущения и считать буквами только кириллицу или латиницу, то помогут формулы массива с функцией ПОИСК.

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

Исключение в том, что используется не СЧЁТ, а МИН, т.к. задача не посчитать числа и сравнить результат с нулем, а найти минимальное число, которое и будет позицией символа.

Формула для поиска позиции первого символа латиницы:

{=МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА(65:90));A1);""))}

Похожая считает буквой только кириллицу:

{=МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА(192:223));A1);"");ЕСЛИОШИБКА(ПОИСК("ё";A1);""))}

Обратите внимание, позиция символа “ё” ищется отдельно, т.к. он не входит в сплошной диапазон символов. Подробнее об этом можно почитать в описании функции СИМВОЛ.

Ну и общая формула, считающая буквой и кириллицу, и латиницу:

{=МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА(65:90));A1);"");ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА(192:223));A1);"");ЕСЛИОШИБКА(ПОИСК("ё";A1);""))}
Как вы наверняка заметили, во всех формулах присутствует функция ЕСЛИОШИБКА — она нужна для того, чтобы функция МИН при обработке массивов не вернула ошибку.

Позиция первой буквы на любом языке

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

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

Ответ – да, такая формула есть! И в ней используется именно эта особенность букв. Они могут менять регистр, в отличие от любых остальных символов — цифр, знаков препинания и других символов.

Их отличие в том, что при смене регистра они становятся фактически другим символом таблицы UNICODE, и проверить это легко функцией СОВПАД или самой функцией UNICODE.

Итак, формулы:

Первая использует для сравнения СОВПАД:

{=ПОИСКПОЗ(ЛОЖЬ;СОВПАД(ПСТР(СТРОЧН(A1);СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1);ПСТР(ПРОПИСН(A1);СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1));0)}

Вторая – UNICODE:

{=МИН(ЕСЛИ(UNICODE(ПРОПИСН(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)))<>UNICODE(СТРОЧН(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)));СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));""))}
Это формулы массива, они вводятся без фигурных скобок, сочетанием клавиш Ctrl + Shift + Enter — тогда фигурные скобки появятся в формуле сами.

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

Сделать заглавной любую первую букву

Так мы плавно подобрались к формуле, которая исполнит нашу заветную цель. По-настоящему сделает заглавной первую букву ячейки A1.

Фактически она является вот этой формулой на основе функции ЗАМЕНИТЬ и ПСТР.

Функция ЗАМЕНИТЬ заменяет текст на определенной позиции, ПСТР извлекает его на основе неё же, а ПРОПИСН — делает его заглавным:

=ЗАМЕНИТЬ(A1;ПОЗИЦИЯ;1;ПРОПИСН(ПСТР(A1;ПОЗИЦИЯ;1)))
Но вместо слова ПОЗИЦИЯ используется формула из предыдущего раздела для поиска той самой позиции.

Вот итоговая формула:

{=ЗАМЕНИТЬ(A1;ПОИСКПОЗ(ЛОЖЬ;СОВПАД(ПСТР(СТРОЧН(A1);СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1);ПСТР(ПРОПИСН(A1);СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1));0);1;ПРОПИСН(ПСТР(A1;ПОИСКПОЗ(ЛОЖЬ;СОВПАД(ПСТР(СТРОЧН(A1);СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1);ПСТР(ПРОПИСН(A1);СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1));0);1)))}

Сделать первые буквы выбранных ячеек заглавными в 1 клик

Формула выше решает задачу. Но если в ячейке несколько предложений и нужно сделать с заглавной каждое из них — решений нет вовсе.

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

Такой является и моя надстройка !SEMTools.

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

Иными словами, позволяет экономить время и нервы при работе с текстом. В ней более 500 различных процедур, одна из которых — перевод первых букв предложений в заглавные:

делаем первые буквы предложений заглавными


Смотрите также:

  • Формулы массива;
  • Изменить регистр в Excel;
  • Массовая замена значений в Excel;
  • Заменить русские буквы на английские.

Нужно изменить регистр букв в Excel?
В !SEMTools есть это и сотни других готовых решений!

На чтение 5 мин Просмотров 8.2к. Опубликовано 12.05.2022

Часто бывает такое, что нужно удалить один или несколько символов из начала каждой ячейки.

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

На самом деле, есть несколько вариантов, как можно это сделать.

Итак, давайте начнем!

Содержание

  1. С помощью функции ЗАМЕНА
  2. Копируем из ячейки все, кроме первого символа
  3. С помощью функции «Текст по столбцам»
  4. С помощью автозаполнения
  5. С помощью 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
  • Excel начало недели с понедельника
  • Excel начало месяца формула
  • Excel начало месяца от текущей даты
  • Excel начало месяца конец месяца