MS Excel - проверка данных

292
OpenTage

Я ищу формулу, которую я могу использовать в инструменте проверки данных в Excel.

Существует тип поля, к которому я хочу применить правила:

  1. Только цифры и символы (без альфа)

Я в полной растерянности, перепробовал несколько поисков Google безрезультатно. Только числовой, или текстовый, кажется легким, но удалить только 1 тип символов, а оставшиеся 2 - сложно.

Я хотел бы сделать это с помощью инструмента проверки данных Excel, а не какого-либо дополнения.

Кто-нибудь может помочь?

Есть ли способ, которым я могу заявить =AND(ISNUMBER(A1)и затем перечислить все символы, чтобы разрешить? !@#$%^&*-()'";:/?.><,?

Попытка 1 Должен быть лучший способ, чем приведенный ниже (также проверка данных в Excel не позволяет вводить формулу достаточно долго, чтобы включать даже буквенные символы в нижнем регистре)

=AND(ISERROR(FIND("a",N14)),ISERROR(FIND("b",N14)),ISERROR(F‌​IND("c",N14)),ISERRO‌​R(FIND("d",N14)),ISE‌​RROR(FIND("e",N14)),‌​ISERROR(FIND("f",N14‌​)),ISERROR(FIND("g",‌​N14)),ISERROR(FIND("‌​h",N14)),ISERROR(FIN‌​D("i",N14)),ISERROR(‌​FIND("j",N14)),ISERR‌​OR(FIND("k",N14)),IS‌​ERROR(FIND("l",N14))‌​,ISERROR(FIND("m",N1‌​4)),ISERROR(FIND("n"‌​,N14)),ISERROR(FIND(‌​"o",N14)),ISERROR(FI‌​ND("p",N14)),ISERROR‌​(FIND("q",N14)),ISER‌​ROR(FIND("r",N14)),I‌​SERROR(FIND("s",N14)‌​)) 

Попытка 2 Нижеследующее работает как для прописных, так и для строчных букв Alpha, но только если вводится один символ, например, «A», как только вы вводите «AB», решение не удается

= И (N14 <> "а", N14 <> "б", N14 <> "с", N14 <> "д", N14 <> "е", N14 <> "е", N14 <> "г », N14 <> "ч", N14 <> "я", N14 <> "J", N14 <> "к", N14 <> "л", N14 <> "м", N14 <> "п", N14 <> "о", N14 <> "р", N14 <> "д", N14 <> "г", N14 <> "s", N14 <> "т", N14 <> "и", N14 <> "v", N14 <> "ш", N14 <> "х", N14 <> "у", N14 <> "г")

Обновление: чтобы уточнить, мне нужно, чтобы пользователь мог ввести максимум 12 символов. например, '- $ 4000,00' (мне удобно добавлять в LEN (N14) <13

3

1 ответ на вопрос

1
Sam

используйте следующую формулу в Проверке данных, Пользовательский, Формула:
=OR(AND(CODE(A1)>90,CODE(A1)<97),CODE(A1)<65,CODE(A1)>122,A1="")
это позволит использовать числа и знаки препинания, но не az, AZ
Если или возвращает True
Для более чем одного символа в ячейке:

=AND(OR(AND(CODE(A1)>90,CODE(H1)<97),CODE(A1)<65,CODE(A1)>122),NOT(ISNUMBER(LOOKUP(2^15,SEARCH(CHAR(ROW(INDIRECT("65:90"))),A1))))) 

все, что написано первым символом или посередине, оно обнаружит, потому
что код будет проверять только первый символ

Обновление
Чтобы быть проще, просто используйте:
=NOT(ISNUMBER(LOOKUP(2^15,SEARCH(CHAR(ROW(INDIRECT("65:90"))),A1))))

Привет, Сэм. Это работает, если первым вводимым символом является альфа, но ввод числа / символа, а затем альфа, например, «4cheese», не приводит к ошибке :( OpenTage 7 лет назад 0
Я думаю, что OP хотел, чтобы строки были больше, чем просто один символ. Herb 7 лет назад 0
Эпическая! спасибо @Sam, это прекрасно :-) OpenTage 7 лет назад 0

Похожие вопросы