2013-09-24 4 views
0

мне нужно искать F$3 через F$96 для любой ячейки, которые содержат все четыре w3, , y3 и z3. Возврат TRUE, если ЛЮБЫЕ КЛЕТКИ в f$3 - F$96 содержат все четыре. как?Как искать диапазон для нескольких кусков текста

В настоящее время я использую

=AND(ISNUMBER(SEARCH(W3,F$3:F$96)),ISNUMBER(SEARCH(X3,F$3:F$96)),ISNUMBER(SEARCH(Y3,F$3:F$96)),ISNUMBER(SEARCH(Z3,F$3:F$96))) 

Но если я поместить эту формулу в AA3, он только проверяет f3, не f$3 через f$96

мне нужно проверить все ячейки в этом диапазоне и возвращает истину если ONE содержит все 4 критерия.

ответ

0

SUMPRODUCT и -- (double negative) полезны, чтобы делать то, что вы хотите. Поскольку SUMPRODUCT ожидает массив значений, все ячейки проверяются.

Это то, что я произвел в качестве примера (разделенный на несколько строк для удобства чтения):

=(SUMPRODUCT(--(F$3:F$96=W3))>0)+ 
(SUMPRODUCT(--(F$3:F$96=X3))>0)+ 
(SUMPRODUCT(--(F$3:F$96=Y3))>0)+ 
(SUMPRODUCT(--(F$3:F$96=Z3))>0) 

-- преобразует все TRUE/FALSE в 1 и 0, а затем добавляет их (как мы только давая 1 список каждому SUMPRODUCT, он не делает никакого умножения, он просто добавляет). Возвращаемое значение будет количеством ячеек, которые соответствуют требуемому значению.

Поскольку нам не важно, сколько из них соответствует, только по крайней мере один из них соответствует, мы получаем результат SUMPRODUCT, чтобы узнать, получили ли мы хотя бы одно совпадение (>0), и все результаты испытаний добавляются вместе.

Результат этого расчета будет , если все числа найдены, если только три найдены, и так далее.

Вы можете либо проверить результат на результат , либо дать людям представление о том, сколько у них было очков, просто давая им результат.

+0

Шон, это не работает по моему чтению вопроса. Я думаю, например, если 'W3: Y3' содержит a, b, c и d, тогда формула должна быть истинна, если ячейка в' F3: F96' содержит «abcd» или «bcda» и т. Д. –

Смежные вопросы