Формула Excel: лише специфічні символи для перевірки даних -

Загальна формула

=COUNT(MATCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),allowed&"",0))=LEN(A1)

Резюме

Щоб використовувати перевірку даних, щоб дозволити список лише певних символів, ви можете використовувати досить складну формулу масиву, засновану на функціях COUNT, MATCH та LEN. У наведеному прикладі перевірка даних застосовується за такою формулою:

=COUNT(MATCH(MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1),allowed&"",0))=LEN(B5)

де "дозволеним" є названий діапазон D5: D11.

Пояснення

Працюючи зсередини, функція MID використовується для створення масиву з тексту, введеного в B5 за допомогою цього фрагмента:

MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)

докладно пояснюється тут Результат - такий масив:

("A";"A";"A";"-";"1";"1";"1")

який переходить у MATCH як значення підстановки. Для масиву підстановки ми використовуємо названий діапазон "дозволено", об'єднаний у порожній рядок (""):

allowed&""

Конкатенація перетворює будь-які числа в рядки, так що ми підбираємо яблука до яблук. Результат - такий масив:

("A";"B";"C";"1";"2";"3";"-")

Останній аргумент у MATCH, match_type встановлюється рівним нулю, щоб змусити точне збіг. Оскільки ми надаємо MATCH кілька значень пошуку, ми отримуємо масив із декількома результатами:

(1;1;1;7;4;4;4)

Кожне число в цьому масиві представляє збіг. Якщо збіг не знайдено для символу, масив буде містити помилку # N / A.

Нарешті, використовується функція COUNT, для підрахунку чисел у масиві результатів, який порівнюється з підрахунком усіх символів у комірці, обчисленим за допомогою функції LEN. Коли MATCH знаходить відповідність для всіх символів, підрахунок дорівнює, формула повертає TRUE, і перевірка даних успішна. Якщо MATCH не знаходить відповідності жодному символу, замість числа повертається # N / A. У цьому випадку підрахунок не збігається, і перевірка даних не вдається.

Примітка: ця формула покладається на грубу силу для виконання роботи. Якщо у вас кращий підхід, залиште коментар нижче.

Цікаві статті...