ЗАМЕНИТЬ, ЗАМЕНИТЬБ (функции ЗАМЕНИТЬ, ЗАМЕНИТЬБ)
Смотрите также решил, что этот что нужно.: Действительно, не заметил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
.
Замена первого символа в ячейке.
Автор 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») , затем перетащите маркер заливки на нужные ячейки.
В формуле A1 — это используемая вами ячейка, 1 и 3 указывают на замену первых 3 символов, KTE — это новая строка. Если вы хотите заменить 3 символа вторым символом, используйте следующую формулу =REPLACE(A1,2,3,»KTE») .
Заменить n-й символ другим
Если вы просто хотите заменить n-е вхождение определенного символа другой строкой, вы можете применить функцию ЗАМЕНА.
Выберите ячейку, в которую вы поместите формулу, и введите это =SUBSTITUTE(A2, «T», «Task», 2) , затем перетащите маркер заливки на нужные ячейки.
rom850425 Пользователь Сообщений: 17 |
Добрый день уважаемые специалисты! |
LVL Пользователь Сообщений: 903 |
Пример выложите |
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
#3 20.02.2013 10:12:15
Вопрос: как вам задали/требуется и как вы сами пытались сделать?!. «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
||
эксельпользователь Пользователь Сообщений: 17 |
#4 20.02.2013 10:13:10
БАЗУ ДАННЫХ КЛИЕНТОВ ВЫЛОЖИТЬ??? а пример такой 8123456789 7123456789 думаю всем наглядно понятно о чем я говорю! |
||
LVL Пользователь Сообщений: 903 |
Ваша база данных здесь ни кому не нажна, об этом пишут каждый день. Сделайте файл с примером из нескольких строк с похожими данными и выложите. Вероятность того, что Вам помогут возрастает в несколько раз |
Михаил С. Пользователь Сообщений: 10514 |
#6 20.02.2013 10:21:43
|
||
пример кинул. Задача чтобы убрать повторяющиеся значения. Прикрепленные файлы
|
|
iba2004 Пользователь Сообщений: 1034 |
Ловите! Изменено: iba2004 — 20.02.2013 10:24:23 |
немного не то, надо чтобы повторяющиеся значения были скрыты, поскольку дальше надо будет распечатать и скопировать в другой файл только не повторяющиеся значения |
|
Михаил С., спасибо Вам огромное!!! правильно я понял и попробовал, что в вашей формуле столбец с начинающимися семерками заменился на столбец с начинающимися восьмерками? хороший сайт!!! |
|
Михаил С. Пользователь Сообщений: 10514 |
#11 20.02.2013 10:36:25
не совсем так. Любой первый символ заменится на «8» . |
||
тогда остается проверить, во всех ли номерах проставлен код страны 7 |
|
проверил. |
|
эксельпользователь Пользователь Сообщений: 17 |
#14 20.02.2013 11:13:05
вопрос решен, но не до конца. |
||
iba2004, можно такую же формулу, но уже если не надо первое число приравнивать |
|
Товарищи! |
|
а именно в двух столбцах номеров больше оказалось чем в базе в 1,35 раза!!! |
|
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
#18 20.02.2013 11:49:17
«Все не так, ребята… » (с) «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
||
я кажется нашел причину. |
|
эксельпользователь Пользователь Сообщений: 17 |
#20 20.02.2013 15:23:36
а как заменить +7 на 8 ? |
||
Михаил С. Пользователь Сообщений: 10514 |
#21 20.02.2013 15:36:26
зы Изменено: Михаил С. — 20.02.2013 23:26:19 |
||
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
#22 20.02.2013 15:40:52
Как вариант — изучать функции XL, вызывать ч/з F1 справку и внимательно читать, изучать форум…….. «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
||
эксельпользователь Пользователь Сообщений: 17 |
#23 20.02.2013 15:40:57
не владею такими премудростями. |
||
Gilvanov Пользователь Сообщений: 13 |
#24 20.02.2013 15:41:46 Попробуй так —
|
||
Nic70y Пользователь Сообщений: 3289 Win7 MSO 2013 |
=ЕСЛИ(ДЛСТР(A1)=10;7&ПСТР(A1;2;9);7&A1) Если городской номер без 8 и скобок. |
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
#26 20.02.2013 17:24:26
Планетяне! «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
||
vikttur Пользователь Сообщений: 47199 |
#27 20.02.2013 22:40:24
Зато премудростью цитировать без толку и БЕЗДУМНО владеете с избытком. Посмотрите тему. Лишнее цитирование вычищено. Хуже? Вы думаете, приятно за Вами бегать с веником и мусор убирать? |
||