Важно: поскольку термин «найти» часто в сознании людей предполагает «найти и извлечь», сразу оговоримся, что ниже именно булевая интерпретация поиска, иначе говоря, результата два — нашёл или не нашёл. Похожая, но все же другая задача — извлечь символы латиницы.
Текст, содержащий латиницу помимо кириллицы — довольно частое явление, и выявить, в какой раскладке текст, не всегда возможно визуально. Начертание многих символов в обеих раскладках идентично.
Когда нужно просто глазами обнаружить латиницу среди кириллических символов или наоборот, кириллицу в английском тексте, есть очень простое решение — использование неклассических шрифтов в Excel.
Например, Dubai Light сделает латиницу тоньше, Dubai Medium — жирнее кириллицы, Microsoft Himalaya — ниже, а Ink Free — выделит ее курсивом.
Но когда исходных данных много, важно не просто видеть, но и иметь возможность отфильтровать или отсортировать такие ячейки. Вариантов упростить и ускорить решение задачи несколько.
Найти латиницу в Excel — функция
Задача поиска букв латинского алфавита в тексте — одна из нетривиальных в Excel, как и поиска любой длинной последовательности единичных символов. Как и в случае с поиском цифр, при обычном поиске придется перебирать все латинские буквы — а их 26, что ещё больше, чем цифр.

Составная формула массива пригодится в случаях, когда не хочется или нет возможности пользоваться макросами или пользовательскими функциями (UDF):
=СЧЁТ(ПОИСК({"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 (вместо обычного Enter). В формуле выше, где явно прописаны все буквы, фигурные скобки вводятся вручную — это явное указание строкового массива.
Найти кириллицу в Excel — функция
Как вы, наверное, догадались, найти кириллицу в тексте можно аналогичным путем:
=СЧЁТ(ПОИСК({"а":"б":"в":"г":"д":"е":"ё":"ж":"з":"и":"й":"к":"л":"м":"н":"о":"п":"р":"с":"т":"у":"ф":"х":"ц":"ч":"ш":"щ":"ъ":"ы":"ь":"э":"ю":"я"};A1))>0
Или формулой массива с функцией СИМВОЛ:
{=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(192:223));A1))>0}
Формула массива будет работать корректно, если языком системы для non-Unicode программ выбран русский.
Есть небольшая разница в двух этих формулах — вторая в отличие от первой использует 32 буквы, т.к. буква Ё не входит в диапазон символов.
Как найти прописные буквы
В отличие от «ПОИСК», «НАЙТИ» — функция регистрозависимая, что позволяет найти буквы в том регистре, в котором они перечислены.
Функция поиска прописных символов латиницы
=СЧЁТ(НАЙТИ({"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))>0
Функция поиска любых прописных символов
Поможет вам найти в ячейке символы и кириллицы, и латиницы, если они написаны заглавными буквами.
=СЧЁТ(НАЙТИ({"А":"Б":"В":"Г":"Д":"Е":"Ё":"Ж":"З":"И":"Й":"К":"Л":"М":"Н":"О":"П":"Р":"С":"Т":"У":"Ф":"Х":"Ц":"Ч":"Ш":"Щ":"Ъ":"Ы":"Ь":"Э":"Ю":"Я":"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
Для поиска цифр в ячейке можно использовать такой же синтаксис.
Функции «Найти латиницу» и «Найти кириллицу» с помощью UDF
UDF (User-defined function, пользовательская функция) — тем, кто часто использует функции такого плана, помогут упростить синтаксис на листе, т.к. содержат калькуляции в коде.
Function найтиЛатиницу(txt As String) As Boolean
найтиЛатиницу = txt Like "*[A-z]*"
End Function
Function найтиКириллицу(txt As String) As Boolean
найтиКириллицу= txt Like "*[А-яЁё]*"
End Function
Найти латинские буквы в 2 клика
Максимально быстрый способ проверки на наличие латиницы в Excel доступен пользователям !SEMTools.
Порядок действий: скопировать диапазон, выделить скопированное и вызвать макрос в меню «Найти символы» группы «ОБНАРУЖИТЬ».

Найти слова, содержащие и кириллицу, и латиницу
Иногда простой поиск в ячейке латиницы и кириллицы не решает проблему, т.к. в ячейке изначально подразумевается наличие обоих видов символов. Например, «автомобиль Tоyоta», «холодильник Siеmеns». В двух этих примерах специально вставлены буквы из другого алфавита: Tоyоta содержит кириллическую «о», а Siеmеns — кириллическую «e». Начертание этих символов идентичное, но вот для роботов это совершенно разные символы.
Как с помощью Excel проверить отличие в написании букв на латинице или кириллице в отдельных словах? Формулы выше не отличат фразы, написанные корректно, от фраз, написанных некорректно, так как отдадут «ИСТИНА» всем фразам при проверке на кириллицу и латиницу.
Решить проблему можно, если искать по конкретным словам! В !SEMTools есть два решения этой задачи:
С помощью регулярных выражений
Процедура находится в меню «ОБНАРУЖИТЬ» — «Слова» — «По паттерну». Паттерн REGEX позволяет решить задачу в один заход, т.к. в нем есть оператор «ИЛИ».
Данное выражение означает, что нужно найти слова, в которых или после кириллического символа идет символ латиницы, или наоборот. При этом между символами могут быть внутри слова любые другие символы (цифры, дефисы и любые другие, кроме пробела).
([a-zA-Z].*[а-яА-ЯёЁ]|[а-яА-ЯёЁ].*[a-zA-Z])
Важно понимать, что сам паттерн применим к любой строке вне зависимости от количества слов в ней, но в рамках указанной процедуры !SEMTools применяется к отдельным словам.

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