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

history

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


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

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

С помощью формулы массива заставим функцию КОДСИМВ() определять коды не только для одного символа, а для всей текстовой строки (например, из ячейки 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 (строчная буква "я").


Комментарии

Только для авторизованных пользователей

Аноним, 9 июля 2019 г.
Скачал файл. И в колонке "есть ли русские символы" у меня светиться "нет". Символов не найдено. В чем дело?
Михаил, 11 июля 2019 г.
Перепроверил, у меня все в порядке. В столбце Количество найденных символов, скорее всего у Вас 0? что возвращает выражение ПСТР($A14;СТРОКА(ДВССЫЛ("A1:A"&ДЛСТР($A14)));1) в ячейке Е14? Выделите часть формулы и нажмите F9
(только для авторизованных пользователей)

© Copyright 2013 - 2024 Excel2.ru. All Rights Reserved