Формула Excel: ЕСЛИ с подстановочными знаками -

Общая формула

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

Резюме

Функция ЕСЛИ не поддерживает подстановочные знаки, но вы можете комбинировать ЕСЛИ с СЧЁТЕСЛИ или СЧЁТЕСЛИМН, чтобы получить базовую функциональность подстановочных знаков. В показанном примере формула C5 имеет следующий вид:

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

Объяснение

В отличие от нескольких других часто используемых функций, функция ЕСЛИ не поддерживает подстановочные знаки. Тем не менее, вы можете использовать функции СЧЁТЕСЛИ или СЧЁТЕСЛИМН внутри логического теста IF для основных функций подстановочных знаков.

В показанном примере формула C5 имеет следующий вид:

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

Работая изнутри, логический тест внутри функции ЕСЛИ основан на функции СЧЁТЕСЛИ:

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

Здесь СЧЁТЕСЛИ подсчитывает ячейки, соответствующие шаблону «?? - ???? - ???», но поскольку диапазон составляет всего одну ячейку, ответ всегда равен 1 или нулю. Подстановочный знак вопросительного знака (?) Означает «один символ», поэтому СЧЁТЕСЛИ возвращает число 1, если текст состоит из 11 символов с двумя дефисами, как описано в шаблоне. Если содержимое ячейки не соответствует этому шаблону, СЧЁТЕСЛИ возвращает ноль.

Когда счетчик равен 1, функция ЕСЛИ возвращает пустую строку (""). Когда счетчик равен нулю, IF возвращает текст «недействительный». Это работает из-за логической логики, где число 1 оценивается как ИСТИНА, а число ноль оценивается как ЛОЖЬ.

Альтернатива с функцией ПОИСК

Другой способ использования подстановочных знаков с функцией ЕСЛИ - объединить функции ПОИСК и ЕЧИСЛО для создания логической проверки. Это работает, потому что функция ПОИСК поддерживает подстановочные знаки. Тем не менее, SEARCH и ISNUMBER вместе автоматически выполняют сопоставление типа "содержащий", поэтому подстановочные знаки не всегда нужны. На этой странице показан базовый пример.

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