Найти заглавные или строчные буквы в Excel
Возможности !SEMTools
↑ Навигация по задачам в Excel и возможностям надстройки !SEMTools ↑

Проверить, есть ли в ячейке Excel заглавные буквы любого алфавита, проще всего формулой =НЕ(СОВПАД(СТРОЧН(A1);A1)): СТРОЧН переводит текст в нижний регистр, а СОВПАД с учётом регистра сравнивает результат с исходным — если они не совпали, в ячейке есть хотя бы одна прописная буква. Только заглавную латиницу ищет =СЧЁТ(НАЙТИ(СИМВОЛ(СТРОКА(ДВССЫЛ("65:90")));A1))>0, а отметить все ячейки с заглавными буквами без формул можно процедурой !SEMTools «Обнаружить → Символы → Заглавные».

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

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

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

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

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

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

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

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

Данная формула вернет ИСТИНА, если в ячейке A1 есть хотя бы одна заглавная английская буква. Во избежание смещения диапазона лучше использовать закреплённый диапазон ($65:$90), иначе формула при копировании в ячейки ниже и выше исходной будет смещать диапазон искомых букв.

Если есть вероятность, что в лист, на котором расположена формула, могут быть вставлены строки внутри или выше диапазона 65:90, лучше использовать текстовую адресацию функцией ДВССЫЛ:

=СЧЁТ(НАЙТИ(СИМВОЛ(СТРОКА(ДВССЫЛ("65:90")));A2))>0
  • ДВССЫЛ("65:90") создает ссылку на диапазон строк с номерами от 65 до 90.
  • СТРОКА(...) возвращает массив чисел от 65 до 90 (коды ASCII заглавных латинских букв A-Z).
  • СИМВОЛ(...) преобразует коды ASCII в соответствующие символы (A,B,C,...,Z).
  • НАЙТИ(...; A2) ищет каждую заглавную букву в тексте ячейки A2 и возвращает позицию вхождения или ошибку.
  • СЧЁТ(...) подсчитывает количество числовых значений (успешных поисков), игнорируя ошибки.
  • >0 возвращает ИСТИНА, если найдена хотя бы одна заглавная латинская буква, и ЛОЖЬ в противном случае.

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

В последних версиях Excel формула массива не требует ввода сочетанием клавиш, а вводится как обычная формула.

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

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

=СЧЁТ(НАЙТИ(СИМВОЛ(СТРОКА(ДВССЫЛ("192:223")));A2))>0

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

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

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

=СЧЁТ(НАЙТИ({"А":"Б":"В":"Г":"Д":"Е":"Ё":"Ж":"З":"И":"Й":"К":"Л":"М":"Н":"О":"П":"Р":"С":"Т":"У":"Ф":"Х":"Ц":"Ч":"Ш":"Щ":"Ы":"Э":"Ю":"Я"};A1))>0

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

Функция не отличается изящностью, но это лучшее, что предоставляет нам 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))
Формула для поиска заглавных букв в ячейке Excel
Поиск заглавных букв формулами
B4=НЕ(СОВПАД(СТРОЧН(A4);A4))
ABC
1ТекстЕсть заглавные?Есть заглавная латиница?
2купить iphoneЛОЖЬ=НЕ(СОВПАД(СТРОЧН(A2);A2))ЛОЖЬ=СЧЁТ(НАЙТИ(СИМВОЛ(СТРОКА(ДВССЫЛ("65:90")));A2))>0
3купить iPhoneИСТИНА=НЕ(СОВПАД(СТРОЧН(A3);A3))ИСТИНА=СЧЁТ(НАЙТИ(СИМВОЛ(СТРОКА(ДВССЫЛ("65:90")));A3))>0
4МоскваИСТИНА=НЕ(СОВПАД(СТРОЧН(A4);A4))ЛОЖЬ=СЧЁТ(НАЙТИ(СИМВОЛ(СТРОКА(ДВССЫЛ("65:90")));A4))>0
5ооо ромашкаЛОЖЬ=НЕ(СОВПАД(СТРОЧН(A5);A5))ЛОЖЬ=СЧЁТ(НАЙТИ(СИМВОЛ(СТРОКА(ДВССЫЛ("65:90")));A5))>0

«Москва» содержит заглавную кириллическую М — первая формула её находит, вторая (только латиница A–Z) — нет. Функция НАЙТИ, в отличие от ПОИСК, различает регистр, поэтому подходит для такой проверки.

В английском Excel: =NOT(EXACT(LOWER(A2),A2))

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

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

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

Инструмент "Обнаружить заглавные буквы" в !SEMTools

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

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

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

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

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

Почему заглавные буквы не находятся

  • Формула с ПОИСК находит и строчные буквы. ПОИСК не различает регистр — для заглавных используйте НАЙТИ или СОВПАД.
  • Кириллица не находится через СИМВОЛ(192…223). Коды зависят от языка системы Windows — используйте вариант со списком букв или СОВПАД.
  • Формула возвращает только ЛОЖЬ в Excel 2019 и раньше. Варианты с СЧЁТ(НАЙТИ(…)) нужно вводить через Ctrl+Shift+Enter.
  • Ячейка с «Ё» не находится. Буква Ё не входит в диапазон кодов 192–223 — добавьте её в список отдельно.

Заглавные буквы в Excel — частые вопросы

Как проверить, есть ли в ячейке заглавные буквы?

Формулой =НЕ(СОВПАД(СТРОЧН(A1);A1)) — работает для любого алфавита.

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

=И(СОВПАД(ПРОПИСН(A1);A1);НЕ(СОВПАД(СТРОЧН(A1);A1))) — ИСТИНА, если текст не меняется при переводе в верхний регистр и в нём есть буквы.

Как найти строчные буквы?

=НЕ(СОВПАД(ПРОПИСН(A1);A1)) — ИСТИНА, если в ячейке есть хотя бы одна строчная буква.

Как изменить регистр найденных букв?

Смотрите как изменить регистр в Excel.

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

Итоги: как найти заглавные буквы в Excel

Надеюсь, на этой странице вы нашли то, что искали. Для любых алфавитов достаточно НЕ(СОВПАД(СТРОЧН(A1);A1)), для латиницы или кириллицы отдельно — СЧЁТ и НАЙТИ с кодами символов, а без формул — процедура «Заглавные» в !SEMTools.

Комментарий:

Спасибо добрый человек, дай Аллах тебе здоровья и счастья в обоих мирах!

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*