![](https://cdn.wiki-base.com/4887529/excel_formula_range_contains_one_of_many_values__2.png.webp)
Fórmula genérica
=SUMPRODUCT(--(rng=values))>0
Resumo
Para testar se um dos vários valores existe em um intervalo de células, você pode usar uma fórmula baseada na função SUMPRODUCT. No exemplo mostrado, a fórmula na célula F5 é:
=SUMPRODUCT(--(rng=B5:D5))>0
onde "rng" é o intervalo nomeado H4: H10 e contém os valores a serem procurados.
Explicação
Cada item em rng é comparado a cada item em valores e o resultado é uma matriz de valores TRUE ou FALSE.
O duplo negativo forçará os valores TRUE e FALSE para 1 e 0, respectivamente. Como SUMPRODUCT recebe apenas um array, ele simplesmente adiciona os itens no array e retorna o resultado.
Logicamente, qualquer resultado maior que zero significa que existe pelo menos um valor no intervalo. Portanto, a etapa final é avaliar o resultado SUMPRODUCT para ver se é maior que zero. Qualquer resultado maior que zero retorna VERDADEIRO e qualquer resultado igual a zero retorna FALSO.
Com valores embutidos em código
Você também pode codificar os valores de pesquisa na fórmula, usando o que é conhecido como "constante de matriz". Por exemplo, se você deseja procurar 3 valores: vermelho, ciano e magenta dentro do intervalo H2: H8, você pode usar:
=SUMPRODUCT(--(H2:H8=("red","cyan","magenta")))>0
No exemplo acima ("vermelho", "ciano", "magenta") é a constante da matriz, que é uma maneira de fornecer vários valores em um único argumento.
Correspondências parciais ou substrings
A fórmula acima testa apenas a equivalência e não encontrará correspondências parciais ou substrings no intervalo. Se você precisar procurar substrings, poderá usar esta fórmula.