ЗАМЕНИТЬ, ЗАМЕНИТЬБ (функции ЗАМЕНИТЬ, ЗАМЕНИТЬБ)
Смотрите также решил, что этот что нужно.: Действительно, не заметил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
.
- Сделать заглавным первый символ ячейки
- Сделать заглавной первую букву первого слова
- Найти позицию первой буквы в ячейке
- Позиция первого символа кириллицы или латиницы
- Позиция первой буквы на любом языке
- Сделать заглавной любую первую букву
- Сделать первые буквы выбранных ячеек заглавными в 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 есть это и сотни других готовых решений!
Замена первого символа в ячейке.
Автор 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 -
►
Замена первого символа в ячейке.
В 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) , затем перетащите маркер заливки на нужные ячейки.
На чтение 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
Итак, здесь используется цикл, который копирует и перезаписывает каждую ячейку отдельно.
В общем то и все! Мы рассмотрели несколько удобных и практичных методов удаления первого символа из каждой ячейки.
Я надеюсь эта статья была полезна для вас! Потому что даже если какой-то способ вам не по душе, вы всегда можете использовать несколько других.