
Fórmula genérica
=XLOOKUP(1,--EXACT(range1,"RED"),range2)
Resumo
Para construir uma correspondência exata com distinção entre maiúsculas e minúsculas, você pode usar a função XLOOKUP com a função EXACT. No exemplo mostrado, a fórmula em F5 é:
=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15)
que corresponde a "RED" (diferencia maiúsculas de minúsculas) e retorna a linha inteira.
Explicação
Por si só, a função XLOOKUP não faz distinção entre maiúsculas e minúsculas. Um valor de pesquisa de "RED" corresponderá a "red", "RED" ou "Red". Podemos contornar essa limitação construindo uma matriz de pesquisa adequada para XLOOKUP com uma expressão lógica.
Trabalhando de dentro para fora, para dar ao XLOOKUP a capacidade de combinar maiúsculas e minúsculas, usamos a função EXATA como esta:
EXACT(B5:B15,"RED") // test for "RED"
Como existem 11 valores no intervalo E5: D15, EXACT retorna uma matriz com 11 resultados TRUE FALSE como este:
(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
Observe que a posição de TRUE corresponde à linha onde a cor é "RED".
Por brevidade (e para permitir que a lógica seja facilmente estendida com a lógica booleana), forçamos os valores TRUE FALSE para 1s e 0s com o negativo duplo:
--EXACT(B5:B15,"RED") // convert to 1s and 0s
que produz uma matriz como esta:
(0;0;0;0;1;0;0;0;0;0;0)
Observe que a posição 1 corresponde à linha onde a cor é "VERMELHO". Essa matriz é retornada diretamente para a função XLOOKUP como o argumento da matriz de pesquisa.
Agora podemos simplesmente a fórmula para:
=XLOOKUP(1,(0;0;0;0;1;0;0;0;0;0;0),B5:D15)
Com um valor de pesquisa de 1, XLOOKUP encontra o 1 na 5ª posição e retorna a 5ª linha na matriz de retorno, B9: D9.
Estendendo a lógica
A estrutura da lógica pode ser facilmente estendida. Por exemplo, para restringir a correspondência para "VERMELHO" no mês de abril, você pode usar uma fórmula como esta:
=XLOOKUP(1,EXACT(B5:B15,"RED")*(MONTH(C5:C15)=4),B5:D15)
Aqui, como cada uma das duas expressões retorna uma matriz de valores TRUE FALSE e como essas matrizes são multiplicadas juntas, a operação matemática força os valores TRUE e FALSE para 1s e 0s. Não é necessário usar o duplo negativo.
Como o valor da pesquisa permanece 1, como na fórmula acima.
Primeira e última partida
Ambas as fórmulas acima retornarão a primeira correspondência de "VERMELHO" em um conjunto de dados. Se precisar da última correspondência, você pode realizar uma pesquisa reversa definindo o argumento do modo de pesquisa para XLOOKUP como -1:
=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15,,,-1) // last match
Se você precisar retornar resultados de várias correspondências, consulte a função FILTER.