Есть ли в слове в MS EXCEL латинские буквы, цифры, ПРОПИСНЫЕ символы

Определим, имеется ли в текстовой строке буквы из латиницы, цифры или ПРОПИСНЫЕ символы. Научимся определять наличие нежелательных символов одной формулой.

Каждому символу соответствует свой код, в это верит функция КОДСИМВ(), которая старательно возвращает код для каждого символа. Соответствие кодов символам можно посмотреть через меню Вставка/ Текст/ Символ.

Интересующие нас символы объединены в диапазоны (см. файл примера).

С помощью формулы массива заставим функцию КОДСИМВ() определять коды не только для одного символа, а для всей текстовой строки (например, из ячейки A14):
=КОДСИМВ(ПСТР($A14;СТРОКА(ДВССЫЛ("A1:A"&ДЛСТР($A14)));1))

Разберем подробнее:

  • Формула СТРОКА(ДВССЫЛ("A1:A"&ДЛСТР($A14))) возвращает массив вида {1:2:3:4:5}, представляющий собой порядковые числа от 1 до числа, равного количеству символов текстового значения.
  • Функция ПСТР() последовательно по одному возвращает символы из всей строки;
  • Функция КОДСИМВ() последовательно возвращает их коды.

Теперь, записав громоздкую, но простую для понимания формулу массива, подсчитаем, количество искомых символов в нужном нам диапазоне кодов:
=СУММ(ЕСЛИ((КОДСИМВ(ПСТР($A14;СТРОКА(ДВССЫЛ("A1:A"&ДЛСТР($A14)));1))>=C14)*
(КОДСИМВ(ПСТР($A14;СТРОКА(ДВССЫЛ("A1:A"&ДЛСТР($A14)));1))<=D14);1;0))

Теперь можно создать форму для ответов на вопросы: есть ли в слове русские буквы?, есть ли ПРОПИСНЫЕ англ. буквы?

Например, для ответа на вопрос "Есть ли в тектовой строке русские буквы?" нужно задать следующие границы диапазона кодов: 192 (заглавная буква "А") и 255 (строчная буква "я").

Связанные статьи

Похожие задачи
Прочитайте другие статьи, решающие похожие задачи в MS Excel. Это позволит Вам решать широкий класс подобных задач.
Средняя: 4.7 (3 оценок)