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

 

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

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

Excel 2010
Здравствуйте.
Пытаюсь сконструировать формулу для проверки введенных данных с двумя условиями:
1. Ввод разрешен только латиницы
2. Ввод не должен быть более 14 символов
в regex выглядит так (0-9a-zA-Z){14}
Пока сделал так
=ИЛИ(ДЛСТР(A1)>14);(ЕЧИСЛО(СУММПРОИЗВ(ПОИСК(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1);"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))))
Но эта формула не работает
Подскажите, пожалуйста, где я ошибаюсь
 
Ответить
СообщениеЗдравствуйте.
Пытаюсь сконструировать формулу для проверки введенных данных с двумя условиями:
1. Ввод разрешен только латиницы
2. Ввод не должен быть более 14 символов
в regex выглядит так (0-9a-zA-Z){14}
Пока сделал так
=ИЛИ(ДЛСТР(A1)>14);(ЕЧИСЛО(СУММПРОИЗВ(ПОИСК(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1);"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))))
Но эта формула не работает
Подскажите, пожалуйста, где я ошибаюсь

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

Excel 2010
Цитата Exabyte, 17.05.2017 в 19:48, в сообщении № 1 ( писал(а)):
(0-9a-zA-Z){14}
=(СУММПРОИЗВ(--ЕЧИСЛО(ПОИСК(ПСТР(СТРОЧН(A1);СТРОКА(1:14);1);"0123456789qwertyuiopasdfghjklzxcvbnm")))+(ДЛСТР(A1)<15))=15


ЮMoney 41001841029809
 
Ответить
Сообщение
Цитата Exabyte, 17.05.2017 в 19:48, в сообщении № 1 ( писал(а)):
(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
Группа: Друзья
Ранг: Экселист
Сообщений: 9141
Репутация: 2416 ±
Замечаний: 0% ±

Excel 2010
Цитата vikttur, 17.05.2017 в 23:50, в сообщении № 4 ( писал(а)):
СТРОЧН() лишняя
таки да - это остаток от экспериментов (хотел с кодом символа - передумал), не заметил :(


ЮMoney 41001841029809

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

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

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
  • Страница 1 из 1
  • 1
Поиск:

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