Замена первого символа в ячейке 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

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

  • Сделать заглавным первый символ ячейки
  • Сделать заглавной первую букву первого слова
  • Найти позицию первой буквы в ячейке
    • Позиция первого символа кириллицы или латиницы
    • Позиция первой буквы на любом языке
  • Сделать заглавной любую первую букву
    • Сделать первые буквы выбранных ячеек заглавными в 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 есть это и сотни других готовых решений!

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

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

Заменить первый символ n другим

Чтобы заменить первые n символов другой строкой, вам просто понадобится Замените функции.

Выберите ячейку, в которую вы поместите формулу, и введите это =REPLACE(A1,1,3,»KTE») , затем перетащите маркер заливки на нужные ячейки.
doc заменить n-й символ другим 1

В формуле A1 — это используемая вами ячейка, 1 и 3 указывают на замену первых 3 символов, KTE — это новая строка. Если вы хотите заменить 3 символа вторым символом, используйте следующую формулу =REPLACE(A1,2,3,»KTE») .
doc заменить n-й символ другим 2

Заменить n-й символ другим

Если вы просто хотите заменить n-е вхождение определенного символа другой строкой, вы можете применить функцию ЗАМЕНА.

Выберите ячейку, в которую вы поместите формулу, и введите это =SUBSTITUTE(A2, «T», «Task», 2) , затем перетащите маркер заливки на нужные ячейки.
doc заменить n-й символ другим 3

 

rom850425

Пользователь

Сообщений: 17
Регистрация: 27.01.2013

Добрый день уважаемые специалисты!
Задачка следующего характера.
Имеется два столбца с количеством значений более 1000 в каждом.
Надо удалить совпадающие ячейки.
«Удалить дубликаты» в «работа с данными» не помогает, поскольку в первом столбце номера телефонов начинаются на семерку, а во втором столбце номере телефонов начинаются на восьмерку!
Как сделать так, чтоб в обоих столбцах значения начинались на одну и ту же цифру, чтоб реально совпадающие значения по номеру телефона могли быть исключены?

 

LVL

Пользователь

Сообщений: 903
Регистрация: 01.01.1970

Пример выложите
а вообще F1 функция заменить() ;)

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#3

20.02.2013 10:12:15

Цитата
rom850425 пишет: … Как сделать так, чтоб…

Вопрос: как вам задали/требуется и как вы сами пытались сделать?!. ;)
ps На форуме есть раздел «Приемы» и неплохо работает поиск.

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

эксельпользователь

Пользователь

Сообщений: 17
Регистрация: 27.01.2013

#4

20.02.2013 10:13:10

Цитата
Пример выложите

БАЗУ ДАННЫХ КЛИЕНТОВ ВЫЛОЖИТЬ???  :D

а пример такой

8123456789 7123456789
8987654321 7987654321

думаю всем наглядно понятно о чем я говорю!
заранее спс!

 

LVL

Пользователь

Сообщений: 903
Регистрация: 01.01.1970

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

 

Михаил С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#6

20.02.2013 10:21:43

Код
=ЗАМЕНИТЬ(B1;1;1;"8")
 

пример кинул.
надеюсь на вашу помощь!

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

Прикрепленные файлы

  • пример.xls (17.5 КБ)

 

iba2004

Пользователь

Сообщений: 1034
Регистрация: 22.12.2012

Ловите!
Только, видимо, под себя малёк придётся заточить!
Удачи!

Изменено: iba200420.02.2013 10:24:23

 

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

 

Михаил С., спасибо Вам огромное!!!
спасли от огромной бумажной работы!!!

правильно я понял и попробовал, что в вашей формуле столбец с начинающимися семерками заменился на столбец с начинающимися восьмерками?
если так, то всё получилось!!!

хороший сайт!!!
спецы супер!
откуда такие знания?
где их получали?

 

Михаил С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#11

20.02.2013 10:36:25

Цитата
эксельпользователь пишет:
правильно я понял и попробовал, что в вашей формуле столбец с начинающимися семерками заменился на столбец с начинающимися восьмерками?

не совсем так. Любой первый символ заменится на «8» .

 

тогда остается проверить, во всех ли номерах проставлен код страны 7

 

проверил.
всё пучком.
спасибо огромное!

 

эксельпользователь

Пользователь

Сообщений: 17
Регистрация: 27.01.2013

#14

20.02.2013 11:13:05

Цитата
=ЗАМЕНИТЬ(B1;1;1;»8″)

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

 

iba2004, можно такую же формулу, но уже если не надо первое число приравнивать

 

Товарищи!
Что-то не получается!!!
количество номеров должно быть ровно столько сколько в базе!
а при сложении количества номеров из этих двух столбцов после убирания повторяющихся значений получается намного больше чем в самой базе.
что не так?

 

а именно в двух столбцах номеров больше оказалось чем в базе в 1,35 раза!!! :cry:

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#18

20.02.2013 11:49:17

Цитата
эксельпользователь пишет: … что не так?..

«Все не так, ребята… » (с)
Файл — до 100 кб —  в реальной структуре и форматах — что есть — как надо… ;)

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

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

 

эксельпользователь

Пользователь

Сообщений: 17
Регистрация: 27.01.2013

#20

20.02.2013 15:23:36

Цитата
Михаил С. пишет:Любой первый символ заменится на » 8 » .

а как заменить +7 на 8 ?  :)

 

Михаил С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#21

20.02.2013 15:36:26

Код
=ЗАМЕНИТЬ(A1;1;2;"8") 

зы
справку по функции лень посмотреть?

Изменено: Михаил С.20.02.2013 23:26:19

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#22

20.02.2013 15:40:52

Цитата
эксельпользователь пишет: … а как заменить +7 на 8 ?

Как вариант — изучать функции XL, вызывать ч/з F1 справку и внимательно читать, изучать форум…….. ;)
Может быть подойдет — =ПОДСТАВИТЬ(B2;»+7″;8;1)

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

эксельпользователь

Пользователь

Сообщений: 17
Регистрация: 27.01.2013

#23

20.02.2013 15:40:57

Цитата
справку по функции лень посмотреть?

не владею такими премудростями.  :D

 

Gilvanov

Пользователь

Сообщений: 13
Регистрация: 01.01.1970

#24

20.02.2013 15:41:46

Попробуй так —  

Код
=ЕСЛИ(ЛЕВСИМВ(E13;1)<>"8";ЕСЛИ(ЛЕВСИМВ(E13;1)<>"7";ЗАМЕНИТЬ(E13;1;2;8);ЗАМЕНИТЬ(E13;1;1;8)))
 

Nic70y

Пользователь

Сообщений: 3289
Регистрация: 22.12.2012

Win7 MSO 2013

=ЕСЛИ(ДЛСТР(A1)=10;7&ПСТР(A1;2;9);7&A1)

Если городской номер без 8 и скобок.

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#26

20.02.2013 17:24:26

Цитата
эксельпользователь пишет: … не владею такими премудростями.

Планетяне!
Есть предложение сделать затяжную паузу в оказании халяво-поддержки для того, чтобы ТС основательно занялся самообразованием по освоению азбучных премудростей XL… ;)
Кто «За!»?..
ps  эксельпользователь! А вы все внимательно читаете?!.

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#27

20.02.2013 22:40:24

Цитата
не владею такими премудростями.

Зато премудростью цитировать без толку и БЕЗДУМНО владеете с избытком.

Посмотрите тему. Лишнее цитирование вычищено. Хуже?
rom850425-эксельпользователь, тема прикрыта до получения модератором сообщения о том, какой пункт правил Вы игнорируете.

Вы думаете, приятно за Вами бегать с веником и мусор убирать?

Понравилась статья? Поделить с друзьями:
  • Замена одной буквы на другую в excel
  • Замена одной буквы во всем тексте word
  • Замена одного текста на другой в excel
  • Замена одного слова на другое в word
  • Замена одного символа в строке excel