Это массив формула:
=OR(IFERROR(FIND(MID(A1,ROW($A$1:INDEX($A:$A,LEN($A1))),1),$B1),FALSE))
Чтобы ввести / подтвердить формулу массива , удерживайте нажатой клавишу ctrl + shift при нажатии введите . Если вы сделаете это правильно, Excel поместит фигурные скобки {...}
вокруг формулы, отображаемой на панели формул.
Для обычно вводимой формулы, если у вас есть функция AGGREGATE
, вы можете использовать:
=IFERROR(AGGREGATE(14,6,FIND(MID(A1,ROW($A$1:INDEX($A:$A,LEN($A1))),1),$B1),1)>0,FALSE)
В формуле учитывается регистр. Чтобы сделать это без учета регистра, измените FIND
на SEARCH
Алгоритм:
- Split
A1
в массив из одного символьного элемента: MID($A1,ROW($A$1:INDEX($A:$A,LEN($A1))
- Попробуйте
FIND
каждый символ в этом массиве в B1 - Это будетвозвращает массив
#VALUE!
ошибок и цифр в зависимости от того, найден символ или нет.
IFERROR
для возврата FALSE, так как FIND
вернет ошибку, если это не такнайти персонажа. - Теперь у нас есть массив
{TRUE,FALSE}
OR
, затем вернет TRUE
, если будет найден какой-либо из символов, иначе FALSE
Для функции AGGREGATE
- Возвращается число> 0, если
FIND
соответствует чему-либо в B1. AGGREGATE
можно настроить так, чтобы игнорировать ошибки
- Опять же, если ничего не найдено,
AGGREGATE
вернет ошибку, так как нет цифр,и IFERROR
преобразует это в FALSE