Fórmula do Excel: primeira correspondência entre dois intervalos -

Índice

Fórmula genérica

=INDEX(range2,MATCH(TRUE,COUNTIF(range1,range2)>0,0))

Resumo

Para recuperar a primeira correspondência em dois intervalos de valores, você pode usar uma fórmula baseada nas funções INDEX, MATCH e COUNTIF. No exemplo mostrado, a fórmula em G5 é:

=INDEX(range2,MATCH(TRUE,COUNTIF(range1,range2)>0,0))

onde "intervalo1" é o intervalo nomeado B5: B8, "intervalo2" é o intervalo nomeado D5: D7.

Explicação

Neste exemplo, o intervalo nomeado "intervalo1" refere-se às células B5: B8, e o intervalo nomeado "intervalo2" refere-se a D5: D7. Estamos usando intervalos nomeados apenas para conveniência e legibilidade; a fórmula também funciona bem com referências de células regulares.

O núcleo desta fórmula é INDEX e MATCH. A função INDEX recupera um valor de intervalo2 que representa o primeiro valor em intervalo2 encontrado em intervalo1. A função INDEX requer um índice (número da linha) e geramos esse valor usando a função MATCH, que é definida para corresponder ao valor TRUE nesta parte da fórmula:

MATCH(TRUE,COUNTIF(range1,range2)>0,0)

Aqui, o valor de correspondência é TRUE e a matriz de pesquisa é criada com COUNTIF aqui:

COUNTIF(range1,range2)>0

CONT.SE retorna uma contagem dos valores de intervalo2 que aparecem em intervalo1. Como range2 contém vários valores, COUNTIF retornará vários resultados semelhantes a este:

(0;0;1)

Usamos "> 0" para forçar todos os resultados para VERDADEIRO ou FALSO:

(FALSE;FALSE;TRUE)

Então MATCH faz seu trabalho e retorna a posição do primeiro TRUE (se houver) que aparece, neste caso, o número 3.

Finalmente, INDEX retorna o valor naquela posição, "Vermelho".

Artigos interessantes...