Если ячейка, которую вы хотите проверить, находится в ячейке A1, установите для параметра Тип проверки данных значение Пользовательский вместо Списка и вставьте эту формулу в:
=AND(SUMPRODUCT(--((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>64)),--(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<91))=LEN(A1),--(IFERROR(IF(MATCH(A1,Sheet1!$S$2:$S$8,0),1),0)))
Прохождение
Эта формула использует два условия в сочетании с AND()
- во-первых, проверкой того, является ли значение верхним регистром, во-вторых, проверкой того, что значение соответствует вашему списку разрешенных опций.
=AND( SUMPRODUCT( --( (CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>64) ) ,--(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<91) )=LEN(A1) ,--(IFERROR(IF(MATCH(A1,Sheet1!$S$2:$S$8,0),1),0)))
Биты, которые выглядят CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>64
, проверяют код ASCII для каждого отдельного символа. Если они между кодами ASCII 64 и 91, мы знаем, что они прописные. Если количество символов в верхнем регистре соответствует длине строки значения, мы знаем, что все они в верхнем регистре.
В MATCH()
части проверяет значение отображается в списке валют.
Примечание: кричите на этот пост для проверки заглавных букв .