Проверка при вводе данных по маске (госномер РФ)
makswer
Дата: Четверг, 07.11.2024, 06:50 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Добрый день, коллеги! Подскажите как можно учесть в формуле при проверке данных следующие параметры ввода: 1. маски ввода следующего вида БЧЧЧББ ЧЧ БЧЧЧББ ЧЧЧ ББЧЧЧЧ ЧЧ ББЧЧЧЧ ЧЧЧ где Б- буквы (АВЕКМНОРСТУХ), Ч-Число от 0 до 9 2. Длина строки 9 или 10 символов 3. Пробел на 7 позиции может быть, а может и не быть. 4. регистр не важен 5. реализация формулой (не макросом)
Добрый день, коллеги! Подскажите как можно учесть в формуле при проверке данных следующие параметры ввода: 1. маски ввода следующего вида БЧЧЧББ ЧЧ БЧЧЧББ ЧЧЧ ББЧЧЧЧ ЧЧ ББЧЧЧЧ ЧЧЧ где Б- буквы (АВЕКМНОРСТУХ), Ч-Число от 0 до 9 2. Длина строки 9 или 10 символов 3. Пробел на 7 позиции может быть, а может и не быть. 4. регистр не важен 5. реализация формулой (не макросом) makswer
Ответить
Сообщение Добрый день, коллеги! Подскажите как можно учесть в формуле при проверке данных следующие параметры ввода: 1. маски ввода следующего вида БЧЧЧББ ЧЧ БЧЧЧББ ЧЧЧ ББЧЧЧЧ ЧЧ ББЧЧЧЧ ЧЧЧ где Б- буквы (АВЕКМНОРСТУХ), Ч-Число от 0 до 9 2. Длина строки 9 или 10 символов 3. Пробел на 7 позиции может быть, а может и не быть. 4. регистр не важен 5. реализация формулой (не макросом) Автор - makswer Дата добавления - 07.11.2024 в 06:50
китин
Дата: Четверг, 07.11.2024, 07:19 |
Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7029
Репутация:
1078
±
Замечаний:
0% ±
Excel 2007;2010;2016
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение Почитайте ЭТУ ТЕМУ может пригодится Автор - китин Дата добавления - 07.11.2024 в 07:19
makswer
Дата: Четверг, 07.11.2024, 09:18 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Спасибо, китин. Навели на такой путь:Код
=ИЛИ(И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;6;5};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{2:3:4:8:9};1));ДЛСТР(A1)<=10);И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;2};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{3:4:5:6:8:9};1));ДЛСТР(A1)<=10))
Спасибо, китин. Навели на такой путь:Код
=ИЛИ(И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;6;5};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{2:3:4:8:9};1));ДЛСТР(A1)<=10);И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;2};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{3:4:5:6:8:9};1));ДЛСТР(A1)<=10))
makswer
Ответить
Сообщение Спасибо, китин. Навели на такой путь:Код
=ИЛИ(И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;6;5};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{2:3:4:8:9};1));ДЛСТР(A1)<=10);И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;2};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{3:4:5:6:8:9};1));ДЛСТР(A1)<=10))
Автор - makswer Дата добавления - 07.11.2024 в 09:18
elovkov
Дата: Четверг, 07.11.2024, 09:54 |
Сообщение № 4
Группа: Друзья
Ранг: Обитатель
Сообщений: 406
Репутация:
73
±
Замечаний:
0% ±
Excel 2013
Немного усовершенствовал:Код
=ИЛИ(И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;6;5};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{2:3:4:8:9};1));ДЛСТР(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;НАЙТИ(" ";A1);1;"");A1))<=9);И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;2};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{3:4:5:6:8:9};1));ДЛСТР(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;НАЙТИ(" ";A1);1;"");A1))<=9))
А то при отсутствии пробела 4-х значный регион проходил проверку
Немного усовершенствовал:Код
=ИЛИ(И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;6;5};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{2:3:4:8:9};1));ДЛСТР(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;НАЙТИ(" ";A1);1;"");A1))<=9);И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;2};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{3:4:5:6:8:9};1));ДЛСТР(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;НАЙТИ(" ";A1);1;"");A1))<=9))
А то при отсутствии пробела 4-х значный регион проходил проверкуelovkov
Умное лицо это еще не признак ума. Все глупости на земле делаются именно с этим выражением лица
Ответить
Сообщение Немного усовершенствовал:Код
=ИЛИ(И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;6;5};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{2:3:4:8:9};1));ДЛСТР(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;НАЙТИ(" ";A1);1;"");A1))<=9);И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;2};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{3:4:5:6:8:9};1));ДЛСТР(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;НАЙТИ(" ";A1);1;"");A1))<=9))
А то при отсутствии пробела 4-х значный регион проходил проверкуАвтор - elovkov Дата добавления - 07.11.2024 в 09:54
Nic70y
Дата: Четверг, 07.11.2024, 10:01 |
Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 9005
Репутация:
2369
±
Замечаний:
0% ±
Excel 2010
если заменить на то регистр не важен апдэйт, для разнообразияКод
=ЕЧИСЛО(ПОИСК(СУММПРОИЗВ(ЗНАК(ПОИСК(ПСТР(ЛЕВБ(ПОДСТАВИТЬ(A8;" ";)&"0v";10);СТРОКА(A$1:A$9);1);"АВЕКМНОРСТУХ_0123456789")-13)/СТРОКА(A$1:A$9));"0,0956349206349206-0,171031746031746"))
вдруг правильно
если заменить на то регистр не важен апдэйт, для разнообразияКод
=ЕЧИСЛО(ПОИСК(СУММПРОИЗВ(ЗНАК(ПОИСК(ПСТР(ЛЕВБ(ПОДСТАВИТЬ(A8;" ";)&"0v";10);СТРОКА(A$1:A$9);1);"АВЕКМНОРСТУХ_0123456789")-13)/СТРОКА(A$1:A$9));"0,0956349206349206-0,171031746031746"))
вдруг правильно Nic70y
ЮMoney 41001841029809
Сообщение отредактировал Nic70y - Четверг, 07.11.2024, 11:23
Ответить
Сообщение если заменить на то регистр не важен апдэйт, для разнообразияКод
=ЕЧИСЛО(ПОИСК(СУММПРОИЗВ(ЗНАК(ПОИСК(ПСТР(ЛЕВБ(ПОДСТАВИТЬ(A8;" ";)&"0v";10);СТРОКА(A$1:A$9);1);"АВЕКМНОРСТУХ_0123456789")-13)/СТРОКА(A$1:A$9));"0,0956349206349206-0,171031746031746"))
вдруг правильно Автор - Nic70y Дата добавления - 07.11.2024 в 10:01
makswer
Дата: Четверг, 07.11.2024, 11:58 |
Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
=ИЛИ(И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;6;5};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{2:3:4:8:9};1));ДЛСТР(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;НАЙТИ(" ";A1);1;"");A1))<=9);И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;2};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{3:4:5:6:8:9};1));ДЛСТР(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;НАЙТИ(" ";A1);1;"");A1))<=9))
Наиболее корректный вариант. Проверил по разным заведомо некорректным и корректным значениям.
=ИЛИ(И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;6;5};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{2:3:4:8:9};1));ДЛСТР(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;НАЙТИ(" ";A1);1;"");A1))<=9);И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;2};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{3:4:5:6:8:9};1));ДЛСТР(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;НАЙТИ(" ";A1);1;"");A1))<=9))
Наиболее корректный вариант. Проверил по разным заведомо некорректным и корректным значениям.makswer
Ответить
Сообщение =ИЛИ(И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;6;5};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{2:3:4:8:9};1));ДЛСТР(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;НАЙТИ(" ";A1);1;"");A1))<=9);И(ЕЧИСЛО(НАЙТИ(ПСТР(A1;{1;2};1);"АВЕКМНОРСТУХавекмнорстух")*ПСТР(A1&0;{3:4:5:6:8:9};1));ДЛСТР(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A1;НАЙТИ(" ";A1);1;"");A1))<=9))
Наиболее корректный вариант. Проверил по разным заведомо некорректным и корректным значениям.Автор - makswer Дата добавления - 07.11.2024 в 11:58