Проверить, есть ли в ячейке определённый символ, можно формулой =ЕЧИСЛО(ПОИСК("@";A2)), посчитать, сколько раз он встречается, — =ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;"-";"")), а определить неизвестный символ поможет его код: =UNICODE(A2) возвращает код первого символа ячейки. Найти символ на листе можно через Ctrl+F, а отметить ячейки с символами нужного типа — цифрами, латиницей, заглавными — процедурами !SEMTools из меню «Обнаружить символы».
Меню «Обнаружить символы» помогает в 1 клик ответить на вопрос, содержатся в ячейке определённые символы или нет.
Штатные процедуры и функции для поиска символов в Excel
Казалось бы, невелика задача, найти в ячейке Excel определённый символ или последовательность. Но для этой задачи в Excel существует и может быть использован целый зоопарк текстовых функций и процедур. Перечислим основные штатные варианты поиска символов:
- Процедура "Найти и заменить" найдет символы в книге, на листе или в диапазоне
- Функции ПОИСК и НАЙТИ укажут позицию искомых символов внутри ячейки
- Функция ПОДСТАВИТЬ (несколько окольный путь, но тоже можно!) попытается заменить символы на пустоту. Если удастся это сделать - строка станет короче, что легко выявить функцией ДЛСТР
- Процедура Фильтр
- ПОИСКПОЗ (с подстановочными символами) вернет адрес ячейки, содержащей искомый символ
- Всесильная функция ВПР (с подстановочными символами) - вернет при поиске первую содержащую символ(ы) ячейку или то, что напротив
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Текст | Есть «@»? | Сколько «-» | Код 1-го символа |
| 2 | info@site.ru | ИСТИНА=ЕЧИСЛО(ПОИСК("@";A2)) | 0=ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;"-";"")) | 105=UNICODE(A2) |
| 3 | 8 (900) 123-45-67 | ЛОЖЬ=ЕЧИСЛО(ПОИСК("@";A3)) | 2=ДЛСТР(A3)-ДЛСТР(ПОДСТАВИТЬ(A3;"-";"")) | 56=UNICODE(A3) |
| 4 | Привет | ЛОЖЬ=ЕЧИСЛО(ПОИСК("@";A4)) | 0=ДЛСТР(A4)-ДЛСТР(ПОДСТАВИТЬ(A4;"-";"")) | 1055=UNICODE(A4) |
UNICODE возвращает код первого символа: 105 — латинская «i», 56 — цифра «8», 1055 — русская «П». Так легко отличить, например, латинскую «c» (99) от русской «с» (1089). Код символа в середине строки — =UNICODE(ПСТР(A2;5;1)).
В английском Excel: =ISNUMBER(SEARCH("@",A2))
Иногда определённые трудности возникают при поиске символов ? и *, см. статью как найти звёздочки в Excel.
Однако не для всех типов символов пригодны и удобны перечисленные варианты. Когда нужно искать не 1 или 2 символа, а целые множества, использование штатных процедур и функций может быть времязатратным и сложным.
Именно для таких случаев я разработал интуитивно понятные процедуры в моей надстройке.
Как определить, что за символ в ячейке
Невидимые и похожие символы (неразрывный пробел, латинская буква вместо русской, тире разной длины) проще всего опознать по коду. =UNICODE(ПСТР(A2;N;1)) покажет код N-го символа: 32 — обычный пробел, 160 — неразрывный, 8211 — короткое тире «–», 8212 — длинное «—». Вставить символ по коду можно функцией ЮНИСИМВ.
Найти символы в Excel - возможности !SEMTools
Я выделил среди всех популярных процедур поиска поиск символов по их типу и по начертанию и сделал для них отдельные меню:

Подробнее о процедурах можно прочитать в соответствующих статьях ниже.
Найти символы по типу
- Как найти в ячейке текстовые символы? Буквы и цифры;
- Как найти в ячейке цифры;
- Как узнать, что ячейка содержит латиницу;
- Как найти в ячейке слова, содержащие и кириллицу, и латиницу;
- Как найти в ячейке заглавные буквы.
Найти символы по начертанию
Иногда пользователям нужно выявить, есть ли в ячейках символы в определенном начертании шрифта - жирном, курсиве и подчеркнутом. Для каждой выделена своя процедура.
Поиск символов с помощью регулярных выражений
Регулярные выражения в Excel есть только в Microsoft 365 (функции РЕГТЕСТ, РЕГИЗВЛЕЧЬ, РЕГЗАМЕНИТЬ). Для остальных версий их поддержку добавляет надстройка. Зная их, вы сможете найти практически любые символы в тексте ячеек.
Помимо самого их наличия, приятный бонус — функции REGEXREPLACE, REGEXEXTRACT и REGEXMATCH доступны бесплатно как в полной, так и в базовой версии.
Похожие и связанные с поиском символов процедуры
Обычно после того, как удалось найти в ячейках определенные символы или сочетания символов, следуют другие операции с ними. Например, можно извлечь, удалить их или заменить на какие-то другие (например, заменить кириллицу на латиницу). В решении подобных задач помогут соответствующие разделы сайта:
Почему символ не находится
- Не находятся «?» и «*». В ПОИСК, СЧЁТЕСЛИ и Ctrl+F это подстановочные знаки. Ставьте перед ними тильду: "~?" и "~*". НАЙТИ и ПОДСТАВИТЬ подстановочные знаки не используют.
- Символ на экране есть, а ПОИСК его не видит. Это похожий символ с другим кодом: латинская «с» вместо русской, неразрывный пробел вместо обычного. Сравните коды функцией UNICODE.
- ПОИСК возвращает #ЗНАЧ!. Символа в ячейке нет. Оберните функцию в ЕЧИСЛО, чтобы получать ИСТИНА/ЛОЖЬ.
- Регистр учитывается не так, как нужно. ПОИСК не различает регистр, НАЙТИ — различает.
Поиск символов в Excel — частые вопросы
Как найти символ в ячейке?
Формулой =ЕЧИСЛО(ПОИСК("символ";A1)) — ИСТИНА, если символ есть. Позицию символа вернёт сама ПОИСК.
Как посчитать количество определённых символов?
=ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"-";"")) — разница длин до и после удаления символа.
Как определить, какой символ в ячейке?
По коду: =UNICODE(ПСТР(A1;N;1)) вернёт код N-го символа.
Как найти звёздочку или вопросительный знак?
Поставьте перед ними тильду: ~* и ~? — в Ctrl+F, ПОИСК и СЧЁТЕСЛИ.
Отметить ячейки с цифрами, латиницей, кириллицей, заглавными буквами или символами в жирном и курсивном начертании можно в 1 клик с !SEMTools — без формул и регулярных выражений.
!SEMTools решает эту и сотни других задач в пару кликов!
Итоги: как найти символ в Excel
| Задача | Формула |
|---|---|
| Есть ли символ | =ЕЧИСЛО(ПОИСК("@";A1)) |
| Позиция символа | =ПОИСК("@";A1) |
| Сколько раз встречается | =ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"-";"")) |
| Код символа | =UNICODE(ПСТР(A1;N;1)) |
| Символы по типу | Меню «Обнаружить символы» !SEMTools |
Надеюсь, на этой странице вы нашли то, что искали. Вас наверняка заинтересуют и похожие операции: посчитать символы в ячейке и найти звёздочки в Excel.