
Загальна формула
=IF(COUNTIF(A1,"??-????-???"),"","invalid")
Резюме
Функція IF не підтримує символи підстановки, але ви можете поєднати IF з COUNTIF або COUNTIFS, щоб отримати базову функцію підстановки. У наведеному прикладі формула в С5 має вигляд:
=IF(COUNTIF(B5,"??-????-???"),"","invalid")
Пояснення
На відміну від деяких інших часто використовуваних функцій, функція IF не підтримує символи підстановки. Однак ви можете використовувати функції COUNTIF або COUNTIFS всередині логічного тесту IF для базових функцій підстановки.
У наведеному прикладі формула в С5 має вигляд:
=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 разом автоматично виконують збіг типу "містить", тому символи підстановки не завжди потрібні. На цій сторінці наведено базовий приклад.