Формула на Excel: АКО с заместващи символи -

Обща формула

=IF(COUNTIF(A1,"??-????-???"),"","invalid")

Обобщение

Функцията IF не поддържа заместващи символи, но можете да комбинирате IF с COUNTIF или COUNTIFS, за да получите основна функционалност на заместващи символи. В показания пример формулата в C5 е:

=IF(COUNTIF(B5,"??-????-???"),"","invalid")

Обяснение

За разлика от няколко други често използвани функции, функцията IF не поддържа заместващи символи. Можете обаче да използвате функциите COUNTIF или COUNTIFS в логическия тест на IF за основна функционалност на заместващи символи.

В показания пример формулата в C5 е:

=IF(COUNTIF(B5,"??-????-???"),"","invalid")

Работейки отвътре навън, логическият тест във функцията IF се основава на функцията COUNTIF:

COUNTIF(B5,"??-????-???")

Тук COUNTIF брои клетки, които съответстват на модела "?? - ???? - ???", но тъй като диапазонът е само една клетка, отговорът винаги е 1 или нула. Въпросният знак (?) Означава „един знак“, така че COUNTIF връща числото 1, когато текстът се състои от 11 знака с две тирета, както е описано от шаблона. Ако съдържанието на клетката не съответства на този модел, COUNTIF връща нула.

Когато броят е 1, функцията IF връща празен низ (""). Когато броят е нула, IF връща текста "невалиден". Това работи поради логическата логика, където числото 1 се оценява като TRUE, а числото нула се оценява като FALSE.

Алтернатива с функцията SEARCH

Друг начин за използване на заместващи символи с функцията IF е комбинирането на функциите SEARCH и ISNUMBER за създаване на логически тест. Това работи, защото функцията SEARCH поддържа заместващи символи. Въпреки това, SEARCH и ISNUMBER заедно изпълняват автоматично съвпадение "съдържа тип", така че заместващите символи не винаги са необходими. Тази страница показва основен пример.

Интересни статии...