
Обща формула
=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 заедно изпълняват автоматично съвпадение "съдържа тип", така че заместващите символи не винаги са необходими. Тази страница показва основен пример.