Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Проверка данных на ввод (валидация ввода) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Проверка данных на ввод (валидация ввода) (Формулы/Formulas)
Проверка данных на ввод (валидация ввода)
Exabyte Дата: Среда, 17.05.2017, 19:48 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте.
Пытаюсь сконструировать формулу для проверки введенных данных с двумя условиями:
1. Ввод разрешен только латиницы
2. Ввод не должен быть более 14 символов
в regex выглядит так (0-9a-zA-Z){14}
Пока сделал так
Код
=OR(LEN(A1)>14),(ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))))
Но эта формула не работает
Подскажите, пожалуйста, где я ошибаюсь
 
Ответить
СообщениеЗдравствуйте.
Пытаюсь сконструировать формулу для проверки введенных данных с двумя условиями:
1. Ввод разрешен только латиницы
2. Ввод не должен быть более 14 символов
в regex выглядит так (0-9a-zA-Z){14}
Пока сделал так
Код
=OR(LEN(A1)>14),(ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))))
Но эта формула не работает
Подскажите, пожалуйста, где я ошибаюсь

Автор - Exabyte
Дата добавления - 17.05.2017 в 19:48
Nic70y Дата: Среда, 17.05.2017, 20:14 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
(0-9a-zA-Z){14}
Код
=(СУММПРОИЗВ(--ЕЧИСЛО(ПОИСК(ПСТР(СТРОЧН(A1);СТРОКА(1:14);1);"0123456789qwertyuiopasdfghjklzxcvbnm")))+(ДЛСТР(A1)<15))=15


ЮMoney 41001841029809
 
Ответить
Сообщение
(0-9a-zA-Z){14}
Код
=(СУММПРОИЗВ(--ЕЧИСЛО(ПОИСК(ПСТР(СТРОЧН(A1);СТРОКА(1:14);1);"0123456789qwertyuiopasdfghjklzxcvbnm")))+(ДЛСТР(A1)<15))=15

Автор - Nic70y
Дата добавления - 17.05.2017 в 20:14
Exabyte Дата: Среда, 17.05.2017, 22:29 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Цитата
=(SUMPRODUCT(--ISNUMBER(SEARCH(MID(LOWER(A1),ROW(1:14),1),"0123456789qwertyuiopasdfghjklzxcvbnm")))+(LEN(A1)<15))=15

Спасибо большое :)
 
Ответить
Сообщение
Цитата
=(SUMPRODUCT(--ISNUMBER(SEARCH(MID(LOWER(A1),ROW(1:14),1),"0123456789qwertyuiopasdfghjklzxcvbnm")))+(LEN(A1)<15))=15

Спасибо большое :)

Автор - Exabyte
Дата добавления - 17.05.2017 в 22:29
vikttur Дата: Среда, 17.05.2017, 23:50 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

ПОИСК не различает строчные и заглавные, СТРОЧН() лишняя. Ссылки в СТРОКА() лучше закрепить, иначе сдвинутся при копировании/вставке ячейки.
Вариант:
Код
=И(ЕЧИСЛО(ПОИСК(ПСТР(A1;СТРОКА($1:$14);1);"0123456789qwertyuiopasdfghjklzxcvbnm"));ДЛСТР(A1)<15)


Сообщение отредактировал vikttur - Четверг, 18.05.2017, 00:09
 
Ответить
СообщениеПОИСК не различает строчные и заглавные, СТРОЧН() лишняя. Ссылки в СТРОКА() лучше закрепить, иначе сдвинутся при копировании/вставке ячейки.
Вариант:
Код
=И(ЕЧИСЛО(ПОИСК(ПСТР(A1;СТРОКА($1:$14);1);"0123456789qwertyuiopasdfghjklzxcvbnm"));ДЛСТР(A1)<15)

Автор - vikttur
Дата добавления - 17.05.2017 в 23:50
Nic70y Дата: Четверг, 18.05.2017, 07:03 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
СТРОЧН() лишняя
таки да - это остаток от экспериментов (хотел с кодом символа - передумал), не заметил :(


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Четверг, 18.05.2017, 07:05
 
Ответить
Сообщение
СТРОЧН() лишняя
таки да - это остаток от экспериментов (хотел с кодом символа - передумал), не заметил :(

Автор - Nic70y
Дата добавления - 18.05.2017 в 07:03
_Boroda_ Дата: Четверг, 18.05.2017, 07:18 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Извращательный вариант
Код
=СУММ(Ч(ТИП.ОШИБКИ(ДВССЫЛ({"A";""}&ПСТР(A1;СТРОКА($1:$14);1)&{"";1}))=3))=ДЛСТР(A1)
К сообщению приложен файл: 1676879.xlsx (9.3 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеИзвращательный вариант
Код
=СУММ(Ч(ТИП.ОШИБКИ(ДВССЫЛ({"A";""}&ПСТР(A1;СТРОКА($1:$14);1)&{"";1}))=3))=ДЛСТР(A1)

Автор - _Boroda_
Дата добавления - 18.05.2017 в 07:18
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Проверка данных на ввод (валидация ввода) (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!