Как найти заглавную букву в строке excel

  • Найти заглавные (прописные) символы латиницы
  • Найти заглавные (прописные) символы кириллицы
  • Найти прописные символы кириллицы или латиницы
  • Найти любые заглавные буквы
  • Найти любые строчные буквы
  • Инструмент “Обнаружить заглавные буквы” в !SEMTools

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

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

При работе с большими массивами данных часто бывает предпочтительнее сначала обнаружить среди ячеек те, что содержат наименования, и далее уже производить более “тяжёлые” операции:

  • массовую замену символов/слов;
  • извлечение текста с заглавными буквами — будь то слова или все содержимое ячейки;
  • удаление символов, слов, словосочетаний или всего содержимого ячеек.

Найти заглавные (прописные) символы латиницы

В Excel есть функция НАЙТИ — она регистрозависимая, что позволяет найти буквы в том регистре, в котором они перечислены. В сочетании с формулой массива эта функция возвращает позицию любого найденного символа из массива.

Поскольку в ASCII-таблице символов прописные английские буквы идут друг за другом по порядку с 65 по 90, можно использовать менее громоздкую формулу массива для их поиска:

{=СЧЁТ(НАЙТИ(СИМВОЛ(СТРОКА(65:90));A1))>0}

Данная формула вернет ИСТИНА, если в ячейке A1 есть хотя бы одна заглавная английская буква.

Важно: фигурные скобки в данном случае появляются сами, вводить их не нужно — нужно вводить формулу без них и использовать сочетание Ctrl + Shift + Enter.

Найти заглавные (прописные) символы кириллицы

Формула аналогична предыдущей, разница лишь в диапазоне символов — от 192 до 223:

{=СЧЁТ(НАЙТИ(СИМВОЛ(СТРОКА(192:223));A1))>0}

Есть пара замечаний к этой формуле:

  • Данный диапазон не включает в себя букву Ё;
  • Язык системы (Windows) должен быть русский, т.к. ASCII-таблица привязана именно к нему.

Найти прописные символы кириллицы или латиницы

Функция не отличается изящностью, но это лучшее, что предоставляет нам Excel в его базовой конфигурации. В зависимости от наличия в строке прописных букв функция возвращает ИСТИНА или ЛОЖЬ.

=СЧЁТ(НАЙТИ({"A":"B":"C":"D":"E":"F":"G":"H":"I":"J":"K":"L":"M":"N":"O":"P":"Q":"R":"S":"T":"U":"V":"W":"X":"Y":"Z":"А":"Б":"В":"Г":"Д":"Е":"Ё":"Ж":"З":"И":"Й":"К":"Л":"М":"Н":"О":"П":"Р":"С":"Т":"У":"Ф":"Х":"Ц":"Ч":"Ш":"Щ":"Ы":"Э":"Ю":"Я"};A1))>0

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

{=СЧЁТ(НАЙТИ(СИМВОЛ(СТРОКА($192:$223));A1))+СЧЁТ(НАЙТИ(СИМВОЛ(СТРОКА($65:$90));A1))>0}

Найти любые заглавные буквы

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

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

Логика такова:

  1. Переведём значение в нижний регистр,
  2. Сравним результат с исходным,
  3. Если не совпадут, значит, хотя бы один символ был в верхнем регистре.

А вот и формула:

=НЕ(СОВПАД(СТРОЧН(A1);A1))

Найти любые строчные буквы

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

=НЕ(СОВПАД(ПРОПИСН(A1);A1))

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

Макрос находится в группе “Обнаружить” в первом меню “Символы”. Инструкция безумно проста:

  1. Скопируйте исходный столбец с данными в соседний,
  2. Оставив выделенным скопированный диапазон (иначе говоря, ничего больше не делая), выберите процедуру в меню “Обнаружить символы” —> “Заглавные”.

Как найти заглавные буквы в Excel

Как найти ячейки с большими буквами в Excel с помощью !SEMTools

Ячейки, содержащие заглавные буквы, заменятся на значение “ИСТИНА”, не содержащие их — на “ЛОЖЬ”. Далее можно фильтровать, сортировать, копировать и производить любые дальнейшие действия с маркированными таким образом данными.

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

Смотрите также похожие разделы:

  • Найти кириллицу и латиницу в Excel;
  • Регулярные выражения в Excel – найти, заменить, извлечь;
  • Изменить регистр букв в Excel.

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

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

Содержание

  1. Как найти в ячейке текстовые символы (буквы и цифры)
  2. Как найти в ячейке таблицы цифры
  3. Как узнать, что ячейка Эксель содержит латиницу
  4. Как найти слова в ячейке, которые содержат кириллицу и латиницу
  5. Как найти в ячейке заглавные буквы
  6. Поиск символов в Excel при помощи регулярных выражений
  7. Что делать с найденными символами
  8. Удаление лишних символов в Excel
  9. Извлечение определенных символов в Excel
  10. Изменение символов в Excel

Как найти в ячейке текстовые символы (буквы и цифры)

Для начала попробуем выполнить самую простую задачу: определить наличие текстовых символов в ячейки и найти тот, который надо. Для этого нужно воспользоваться дополнением !SEMTools, с помощью которого можно искать символы разных типов. Последовательность действий следующая:

  1. Выделяем тот диапазон, который является изначальным и копируем его в соседнюю колонку.
  2. Затем выделяем второй диапазон.
  3. Открываем вкладку «!SEMTools». Там в самой левой части панели инструментов будет вкладка «Обнаружить».
  4. После этого открываем меню «Символы».
  5. Затем появится дополнительное меню, в котором надо найти пункт «Буквы-цифры» и нажать на него.

Поиск символа в строке таблицы Excel

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

Как найти в ячейке таблицы цифры

Иногда нужно определить ячейки, в которой есть цифры, но они находятся вместе с текстом. Когда таких ячеек становится очень много, может быть довольно нелегко определить их. Перед тем, как реализовывать эту задачу, нужно определиться с некоторыми базовыми терминами. Главное наше понятие – «обнаружить». Это означает – проверить, есть ли определенный тип символа в строке. Если да, возвращается значение «ИСТИНА», если нет «ЛОЖЬ». Если же кроме поиска цифр в ячейке пользователь хочет произвести иные действия, то можно воспользоваться дальнейшими разделами этой инструкции.

Второе понятие, которое нужно разобрать – цифры. Это интегральный термин, который обозначает аж 10 символов, которые соответствуют числам от 0 до 9. Соответственно, чтобы проверить наличие чисел, пользователю нужно 10 раз проверить диапазон. Это можно сделать с помощью функции ЕСЛИ, но такой подход требует очень много времени.

Чтобы решить эту проблему, можно воспользоваться специальной формулой, которая выполнит все проверки за один раз: =СЧЁТ(ПОИСК({1:2:3:4:5:6:7:8:9:0};A1))>0. Эта функция имеет тот же синтаксис, что и та, которая ищет кириллические символы в тексте.

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

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

Поиск символа в строке таблицы Excel

Предположим, нам нужно найти только определенные цифры из всех приведенных. Как можно это сделать? Для начала давайте покажем, как это делать с помощю !SEMTools. Использовать инструмент просто. Достаточно в скобках записывать все нужные цифры, и потом нажать кнопку ОК для подтверждения. С помощью этого же метода можно найти латиницу или найти большие буквы в строке текста. Поиск символа в строке таблицы Excel

Также можно воспользоваться формулой для того, чтобы отыскать в диапазоне ячеек необходимые цифры. Для этого надо применять комбинацию функций СЧЕТ и ПОИСК. С ее помощью можно обнаружить не только отдельные цифры, но и целые числовые последовательности: =СЧЁТ(ПОИСК({01:02:03:911:112};A1))>0.

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

Поиск символа в строке таблицы Excel

Как узнать, что ячейка Эксель содержит латиницу

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

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

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

Использование специальной функции

Основная проблема поиска латинских букв, что их в два с половиной раза больше, чем цифр. Следовательно, нужно задавать программе цикл, состоящий из 26 итераций, что может быть довольно напряжно. Но если использовать формулу массива, состоящую из приведенных выше функций СЧЕТ и ПОИСК, то эта затея уже и не кажется настолько сложной: =СЧЁТ(ПОИСК({«a»:»b»:»c»:»d»:»e»:»f»:»g»:»h»:»i»:»j»:»k»:»l»:»m»:»n»:»o»:»p»:»q»:»r»:»s»:»t»:»u»:»v»:»w»:»x»:»y»:»z»};A1))>0. Эта формула вполне подходит для большинства ситуаций. Например, если нет возможности установить соответствующие макросы, которые бы смогли делать это проще и быстрее.

В описанной выше формуле A1 – это та ячейка, в которой осуществляется проверка. Соответственно, вам нужно поставить ту, которая подходит в вашей ситуации. В результате проверки с помощью этой функции возвращается логическое значение. Если совпадения обнаруживаются, то оператор возвращает ИСТИНА, если их нет – ЛОЖЬ.

Функция ПОИСК не дает возможности учитывать регистр при поиске символов. Чтобы это сделать, надо воспользоваться оператором НАЙТИ, который выполняет те же операции, имеет такие же самые аргументы, только уже учитывает регистр. Еще один способ – сделать описанную выше формулу формулой массива. В таком случае она будет иметь следующий вид:{=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(65:90));A1))>0}.

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

Если же нужно найти кириллицу, последовательность действий аналогичная, только в качестве диапазона поиска нужно задавать всю последовательность кириллических символов. =СЧЁТ(ПОИСК({«а»:»б»:»в»:»г»:»д»:»е»:»ё»:»ж»:»з»:»и»:»й»:»к»:»л»:»м»:»н»:»о»:»п»:»р»:»с»:»т»:»у»:»ф»:»х»:»ц»:»ч»:»ш»:»щ»:»ъ»:»ы»:»ь»:»э»:»ю»:»я»};A1))>0. Также можно юзать функцию СИМВОЛ, чтобы сделать это. {=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(192:223));A1))>0}

Эта формула должна записываться так, как формула массива. Следовательно, нужно нажать комбинацию клавиш Ctrl + Shift + Enter вместо простого нажатия клавиши ввода. Но есть некоторые исключения, при которых эта функция не будет работать. Нужно предварительно убедиться в том, что язык по умолчанию для программ не в кодировке Unicode стоит русский. В этом случае проблем возникнуть не должно. Эти формулы имеют некоторые отличия между собой. Вместо 33 букв последняя формула применяет только 32. То есть, она не учитывает букву ё, как кириллическую.

В этом случае, аналогично, как и в предыдущем, для поиска нужных символов с учетом регистра, необходимо использовать функцию НАЙТИ. Поэтому можно искать, к примеру, половину алфавита, записанную маленькими буквами и половину, записанную большими. Аргументы те же самые.

Как найти слова в ячейке, которые содержат кириллицу и латиницу

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

Как найти в ячейке заглавные буквы

Чтобы найти заглавные буквы, необходимо воспользоваться функцией НАЙТИ, а в качестве аргументов указать заглавные кириллические буквы (или элементы латинского алфавита, если нужно найти их) или же их коды.

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

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

  1. Делаем нижний регистр значений в отдельной ячейке.
  2. Сравниваем результаты с первоначальными.
  3. После этого используем следующую формулу: =НЕ(СОВПАД(СТРОЧН(A1);A1))

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

Поиск символов в Excel при помощи регулярных выражений

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

Приятная новость: эти функции можно использовать как в Гугл таблицах, так и в Excel с этой настройкой.

Первая регулярная функция – REGEXMATCH, которая умеет проверять, похож ли этот паттерн на тот, который был в другой ячейке. Синтаксис: =REGEXMATCH(«текст»;»RegEx-паттерн для поиска»). Эта функция возвращает одно из двух значений: истинное или ложное. Что именно – зависит от того, действительно ли наблюдается соответствие или нет. Вторая функция – =REGEXEXTRACT(«текст»;»RegEx-паттерн для поиска») Она позволяет извлечь нужные символы из строки.

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

Ну и наконец, нужно воспользоваться этой формулой для того, чтобы заменить текст: =REGEXREPLACE(«текст»;»RegEx-паттерн для поиска»;»текст, которым заменяем найденное»).

Что делать с найденными символами

Хорошо. Предположим, мы нашли символы. А что с ними можно делать дальше? Здесь есть несколько возможных вариантов, как можно поступить. Например, можно их удалить. Например, если мы среди кириллических значений нашли латиницу. Также можно заменить ее на аналогичный символ, только в кириллице (например, большую английскую М на русскую М) или же извлечь этот символ для использования в другой формуле.

Удаление лишних символов в Excel

Существует множество способов, как убрать ненужные знаки в Excel. Как один из вариантов – использование функции «Найти и заменить», где заменить тот символ, который нужно убрать, на пустую строку “». Можно воспользоваться теми же регулярными выражениями, которые используются для замены найденного символа.

Извлечение определенных символов в Excel

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

Изменение символов в Excel

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

Оцените качество статьи. Нам важно ваше мнение:

 

Добрый вечер, уважаемые форумчане!  

  Может кто знает как из текстовой строки извлечь слова, написанные прописными буквами?  

    С уважением,    
Василий.

 

vikttur

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

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

Вам только название нужно? Если в нем встретятся строчные? Если прописные будут не только в этом слове?

 

{quote}{login=vikttur}{date=16.12.2009 01:10}{thema=}{post}Вам только название нужно? Если в нем встретятся строчные? Если прописные будут не только в этом слове?{/post}{/quote}  

  Строчные не встретятся. А вот прописные буквы могут быть в начале строки. Но с этим я справлюсь.

 

vikttur

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

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

Показываем второе слово:  
=ПСТР(B5;НАЙТИ(» «;B5)+1;НАЙТИ(» «;B5;НАЙТИ(» «;B5)+1)-НАЙТИ(» «;B5)-1)  
Или нужно именно «прописное» в любом месте текста?

 

{quote}{login=vikttur}{date=16.12.2009 01:25}{thema=}{post}Показываем второе слово:  
=ПСТР(B5;НАЙТИ(» «;B5)+1;НАЙТИ(» «;B5;НАЙТИ(» «;B5)+1)-НАЙТИ(» «;B5)-1)  
Или нужно именно «прописное» в любом месте текста?{/post}{/quote}  

  Да, в любом месте текста. Эти прописные слова идут в 99 % одно за другим.

 

ytk5kyky

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

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

Прописные русские или латиница?  
Идут непрерывно? Т.е. «Мандарины МАДАГАСКАРСКИЕ высший СОРТ» не будет? и что делать первой буквой в слове «Мандарины»? А так быть не может: «Мандарины МАДАГАСКАРСКИЕ Высший Сорт»?  
>>Эти прописные слова идут в 99 % одно за другим.  
т.е. между словами может быть пробел?  

    Видите, как с текстом сложно…

 

ytk5kyky

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

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

Вот формула, которая берет все что между первой и последней прописной.  
Только русские.  
ф-ла массива, вводится стрл+шифт+ентер

 

{quote}{login=Лузер™}{date=16.12.2009 01:44}{thema=}{post}Прописные русские или латиница?  
Идут непрерывно? Т.е. «Мандарины МАДАГАСКАРСКИЕ высший СОРТ» не будет? и что делать первой буквой в слове «Мандарины»? А так быть не может: «Мандарины МАДАГАСКАРСКИЕ Высший Сорт»?  
>>Эти прописные слова идут в 99 % одно за другим.  
т.е. между словами может быть пробел?  

    Видите, как с текстом сложно…{/post}{/quote}  

  Тогда давайте ограничимся 3 вариантами. Они в файле.    
ПС: а ведь есть формула,которая вытаскивает слова целиком?

 

Sh_Alex

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

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

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

 

{quote}{login=Лузер™}{date=16.12.2009 01:54}{thema=}{post}Вот формула, которая берет все что между первой и последней прописной.  
Только русские.  
ф-ла массива, вводится стрл+шифт+ентер{/post}{/quote}  

  Да. работает формула. Единственное что приходится — убирать прописные буквы в первых словах.    

  Если это конечный вариант, то тему можно закрывать.

 

{quote}{login=Sh_Alex}{date=16.12.2009 01:59}{thema=}{post}Пользовательская функция выбирает все прописные буквы из ячейки, за исключением первой.  
С уважением, Александр.{/post}{/quote}  

    Благодарю!

 

vikttur

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

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

Добейте, мне некогда:  
=ПСТР(B5;ПОИСКПОЗ(0;ЕСЛИ(КОДСИМВ(ПСТР(ПОДСТАВИТЬ(B5;» «;»я»);СТРОКА(2:100);1))>223;СТРОКА(2:100);0);0)+1;100)  
Формула массива. Нужно определить длину извлекаемого (в формуле стоит 100).

 

{quote}{login=vikttur}{date=16.12.2009 02:04}{thema=}{post}Добейте, мне некогда:  
=ПСТР(B5;ПОИСКПОЗ(0;ЕСЛИ(КОДСИМВ(ПСТР(ПОДСТАВИТЬ(B5;» «;»я»);СТРОКА(2:100);1))>223;СТРОКА(2:100);0);0)+1;100)  
Формула массива. Нужно определить длину извлекаемого (в формуле стоит 100).{/post}{/quote}  

  Спасибо огромное!

 

vikttur

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

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

#14

17.12.2009 10:12:34

Полная формула:  
=ПСТР(B5;ПОИСКПОЗ(0;ЕСЛИ(КОДСИМВ(ПСТР(ПОДСТАВИТЬ(B5;» «;»я»);СТРОКА(ДВССЫЛ(«2:»&ДЛСТР(B5)));1))>223;СТРОКА(ДВССЫЛ(«2:»&ДЛСТР(B5)));0);0)+1;СУММ((КОДСИМВ(ПСТР(ПОДСТАВИТЬ(B5;» «;»я»);СТРОКА(ДВССЫЛ(«2:»&ДЛСТР(B5)));1))<224)*1))  
Находит первую прописную (без учета самой первой в текстовой строке) и показывает количество символов, равное количеству прописных (опять же, без учета первой).

0 / 0 / 0

Регистрация: 29.08.2010

Сообщений: 13

1

Отфильтровать слова с заглавными буквами

29.08.2010, 05:56. Показов 26941. Ответов 7


Студворк — интернет-сервис помощи студентам

Excel. Есть столбец с 3000 наименованиями материалов, но часть из них написана ЗАГЛАВНЫМИ буквами (пример: BEARING EQUALIZER BAR), а часть строчными (пример: Cotter Pin). Нужно вытащить (отфильтровать или отсортировать) все строки где первое слово целиком состоит из ЗАГЛАВНЫХ букв. Помогите люди добрые, сам не могу найти =).



0



Частенько бываю

749 / 330 / 42

Регистрация: 20.06.2007

Сообщений: 854

29.08.2010, 08:10

2



0



671 / 177 / 10

Регистрация: 28.07.2010

Сообщений: 253

29.08.2010, 11:02

3

Может так?:

Код

=НАЙТИ(ПРОПИСН(ПСТР(A2;1;ПОИСК(" ";A2)-1));A2)



0



956 / 596 / 11

Регистрация: 11.06.2010

Сообщений: 1,345

29.08.2010, 11:53

4

Если я правильно понял из примера, то условие

все строки где первое слово целиком состоит из ЗАГЛАВНЫХ букв

тождественно «все строки где все слова целиком состоят из ЗАГЛАВНЫХ букв».
Тогда можно немного упростить формулу уважаемого DV68, до такого варианта:

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



0



0 / 0 / 0

Регистрация: 29.08.2010

Сообщений: 13

29.08.2010, 12:31

 [ТС]

5

Всем ОГРОМНОЕ спасибо!!! Вариант Serge 007 выдает более чистый результат учитывая
в том случае если в названии нет пробелов (HANDLE,RESET) или оно состоит только из одного слова(WEAR) а так же одного слова в сочетании с цифрами (O-RING128). Плюс можно потом обрабатывать список фильтрами, и делать другие выборки, ну и гениальная простота.
Еще раз Всем ОГРОМНОЕ спасибо, ОЧЕНЬ выручили!



0



671 / 177 / 10

Регистрация: 28.07.2010

Сообщений: 253

29.08.2010, 14:01

6

Цитата
Сообщение от Serge 007
Посмотреть сообщение

Если я правильно понял из примера, то условие тождественно «все строки где все слова целиком состоят из ЗАГЛАВНЫХ букв».

Просто как считать строки 10 и 19? В примере разные формулы выдают разный результат. Но тут автору решать.
Предлагаю объединить эти формулы:

Код

=ЕСЛИ(ЕОШ(ПОИСК(" ";A15)-1);--СОВПАД(A15;ПРОПИСН(A15));НАЙТИ(ПРОПИСН(ПСТР(A15;1;ПОИСК(" ";A15)-1));A15))



0



671 / 177 / 10

Регистрация: 28.07.2010

Сообщений: 253

29.08.2010, 14:14

7

Т.е. для второй строчки:

Код

=ЕСЛИ(ЕОШ(ПОИСК(" ";A2)-1);--СОВПАД(A2;ПРОПИСН(A2));НАЙТИ(ПРОПИСН(ПСТР(A2;1;ПОИСК(" ";A2)-1));A2))



0



0 / 0 / 0

Регистрация: 14.11.2015

Сообщений: 1

14.11.2015, 22:08

8

А если нужно вытащить (отфильтровать или отсортировать) все строки где первое буква слово состоит из ЗАГЛАВНЫХ букв. а так тогда вытащить первое ЗАГЛАВНЫХ буква слово например Автобус машина колесо Тормоз



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

14.11.2015, 22:08

8

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

{=MATCH(1,(CODE(MID(B2,ROW($A$1:$A$255),1))<=90)*(CODE(MID(B2,ROW($A$1:$A$255),1))>=65),FALSE)}

Как работает формула:

  • Поскольку это формула массива, ее необходимо завершить с помощью Control+Shift+Enter .
  • Формула предполагает, что заглавная буква будет не более 255 символов.
  • С Match , 1 is for TRUE .
  • CODE(MID(B2,ROW($A$1:$A$255),1)) , возвращает массив символов ASCII, составляющих строку, возвращает массив из 255 элементов.

Предположим, что в B2 значение TxtDate .

  • Затем формула возвращается, {84;120;116;68;97;116;101} .

CODE(MID(B2,ROW($A$1:$A$255),1))<=90 , возвращает массив значений TRUE и FALSE зависимости от того, является ли код ASCII меньше или равен 90, где 90 — это код ASCII для заглавной Z и вернется,

{TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE}

Здесь 1-й алфавит T имеет код ASCII меньше 90.

3-я часть формулы проверяет коды ASCII, большие или равные 65, где 65 — заглавная буква A, возвращает аналогичный массив, который затем умножается на первый массив.

В Excel значение FALSE равно zero а TRUEone . После того, как Формула умножит этот набор Массивов, она получит Массив с Ones & Zeros . Который выглядит так

{1;0;0;1;0;0;0}

Показывает, в позициях 1 и 4 — заглавные буквы. Теперь Формула использует MATCH function чтобы найти первые массивы в массиве и возвращает 1 .

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

Понравилась статья? Поделить с друзьями:
  • Как найти если в excel 2003
  • Как найти ежемесячный платеж по кредиту в excel
  • Как найти дубляжи в excel
  • Как найти дублирующиеся ячейки в excel
  • Как найти дублирующиеся значения excel