Fórmula do Excel: pesquisa de correspondência exata com SUMPRODUCT -

Índice

Fórmula genérica

=SUMPRODUCT(--(EXACT(val,lookup_col)),result_col)

Resumo

Pesquisas que diferenciam maiúsculas de minúsculas no Excel

Por padrão, as pesquisas padrão no Excel não diferenciam maiúsculas de minúsculas. Ambos VLOOKUP e INDEX / MATCH irão simplesmente retornar a primeira correspondência, ignorando maiúsculas e minúsculas.

Uma maneira direta de contornar essa limitação é usar uma fórmula de matriz baseada em INDEX / MATCH com EXACT. No entanto, se você estiver procurando apenas valores numéricos, SUMPRODUCT + EXACT também oferece uma maneira interessante e flexível de fazer uma pesquisa com distinção entre maiúsculas e minúsculas.

No exemplo, estamos usando a seguinte fórmula

=SUMPRODUCT(--(EXACT(E3,B3:B8)),C3:C8)

Embora esta fórmula seja uma fórmula de matriz, ela não precisa ser inserida com Control + Shift + Enter, uma vez que SUMPRODUCT trata matrizes nativamente.

Explicação

SUMPRODUCT foi projetado para funcionar com arrays, que ele multiplica e depois soma.

Nesse caso, somos dois arrays com SUMPRODUCT: B3: B8 e C3: C8. O truque é executar um teste nos valores da coluna B e, em seguida, converter os valores TRUE / FALSE resultantes em 1's e 0's. Executamos o teste com EXACT assim:

EXACT(E3,B3:B8)

Que produz esta matriz:

(FALSO; FALSO; VERDADEIRO; FALSO; FALSO; FALSO)

Observe que o valor verdadeiro na posição 3 é o nosso par. Em seguida, usamos o duplo negativo (ou seja -, que é tecnicamente um "duplo unário") para forçar esses valores VERDADEIRO / FALSO em 1 e 0. O resultado é esta matriz:

(0; 0; 1; 0; 0; 0)

Neste ponto do cálculo, a fórmula SUMPRODUCT tem a seguinte aparência:

=SUMPRODUCT((0;0;1;0;0;0),(875;750;775;675;800;825))

SUMPRODUCT então simplesmente multiplica os itens em cada matriz para produzir uma matriz final:

(0; 0; 775; 0; 0; 0)

Qual SUMPRODUCT soma e retorna 775.

Portanto, a essência desta fórmula é que os valores FALSE são usados ​​para cancelar todos os outros valores. Os únicos valores que sobrevivem são aqueles que eram VERDADEIROS.

Observe que, como estamos usando SUMPRODUCT, essa fórmula vem com uma peculiaridade: se houver várias correspondências, SUMPRODUCT retornará a soma dessas correspondências. Isso pode ou não ser o que você deseja, então tome cuidado se esperar várias correspondências!

Lembre-se de que esta fórmula só funciona para valores numéricos, porque SUMPRODUCT não manipula texto. Se você deseja recuperar o texto, use INDEX / MATCH + EXACT.

Artigos interessantes...