Menu

Função CORRESP no Excel (MATCH): posição de um valor

=CORRESP(E2;A2:A6;0) retorna a posição de E2 em A2:A6: 4 se for o quarto item. Tipos de correspondência 0, 1 e -1, curingas, diferenciar maiúsculas e verificar se um valor está em uma lista.

Todas as planilhas desta página são ao vivo: mude um número ou uma fórmula e elas recalculam.

=CORRESP(E2;A2:A6;0) retorna a posição do valor de E2 dentro de A2:A6: 1 para a primeira célula, 2 para a segunda, e assim por diante. O 0 pede uma correspondência exata. A CORRESP retorna um número, não o próprio valor, e por isso quase sempre anda junto com o ÍNDICE. Em inglês, a função se chama MATCH, e a tabela mostra a fórmula assim: =MATCH(E2,A2:A6,0). Você também pode digitar as fórmulas em português, com ponto e vírgula.

Posição de um produto na lista
F2
ABCDEF
1ProductCategoryPriceLook forPosition
2AppleFruit$1.20Bread4
3PearFruit$1.50
4CarrotVegetable$0.80
5BreadBakery$2.40
6MilkDairy$1.10
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =CORRESP(E2;A2:A6;0)

Bread é a quarta célula de A2:A6, então F2 mostra 4. A contagem começa na primeira célula do intervalo, não na linha 1 da planilha: mude o intervalo para A1:A6 e a resposta passa a ser 5. Digite Kiwi em E2 e a CORRESP retorna #N/D (#N/A em inglês, como a tabela mostra).

Sintaxe da CORRESP e tipos de correspondência

=MATCH(lookup_value, lookup_array, [match_type])
match_typeEncontraA lista precisa estar
0O primeiro valor exatamente igual a lookup_value. Curingas permitidos para texto.em qualquer ordem
1 ou omitidoO maior valor menor ou igual a lookup_value.em ordem crescente
-1O menor valor maior ou igual a lookup_value.em ordem decrescente

O padrão é 1, não 0. Uma CORRESP sem o terceiro argumento em uma lista de nomes fora de ordem não reclama: ela retorna uma posição que pode ser de outra linha. Escreva o 0 sempre que procurar texto, códigos ou IDs.

Correspondência aproximada: em que faixa um valor cai

Com o tipo 1, a CORRESP responde "qual faixa": a posição do último limite que o valor alcançou. Aqui uma nota 75 passou de 0, 60 e 70, então está na faixa 3, conceito C.

Faixa de uma nota
E2
ABCDEF
1Min scoreGradeScoreBandGrade
20F753C
360D591F
470C905A
580B1005A
690A
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =CORRESP(D2;$A$2:$A$6;1)

59 ainda está abaixo de 60, então é a faixa 1 (F). 90 é igual ao último limite, e 100 fica acima dele, então os dois caem na faixa 5 (A). Os limites precisam ficar em ordem crescente: é isso que deixa a CORRESP parar no lugar certo.

O tipo -1 é o espelho, para uma lista ordenada do maior para o menor. Ele retorna a posição do menor valor que ainda é maior ou igual ao valor procurado: com os tamanhos {50;25;12;5} em uma coluna, =CORRESP(18;D2:D5;-1) retorna 2, o tamanho 25, o menor em que cabe 18.

Curingas e maiúsculas

A CORRESP ignora maiúsculas e, com o tipo 0, aceita os curingas * (quaisquer caracteres) e ? (exatamente um caractere). Para uma correspondência que diferencia maiúsculas, compare a lista com EXATO (EXACT em inglês) e procure o primeiro VERDADEIRO.

Três jeitos de comparar texto
E1
ABCDE
1ProductCategoryPriceStarts with "C"3
2AppleFruit$1.20Lower case "milk"5
3PearFruit$1.50Exactly "milk"#N/A
4CarrotVegetable$0.80
5BreadBakery$2.40
6MilkDairy$1.10
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =CORRESP("C*";A2:A6;0)

"C*" bate com Carrot, posição 3. "milk" encontra Milk na posição 5, porque as maiúsculas são ignoradas. A versão com EXATO compara cada nome com "milk" letra por letra, não encontra nenhum VERDADEIRO e retorna #N/A. Mude A6 para milk e ela retorna 5. No Excel 2019 e anteriores, confirme a fórmula com EXATO usando Ctrl+Shift+Enter (Cmd+Shift+Enter no Mac); no Excel 2021 e no Microsoft 365, Enter basta. Um til faz um curinga valer como caractere: "~*" procura um asterisco de verdade.

Verificar se um valor está em uma lista

A CORRESP retorna um número quando encontra o valor e #N/D quando não encontra. A ÉNÚM (ISNUMBER em inglês) transforma isso em VERDADEIRO ou FALSO, um teste rápido de "isto está na lista".

Quais itens pedidos estão em estoque?
B2
ABCD
1OrderedIn stock?In stock
2PearYesApple
3KiwiNoPear
4MilkYesBread
5PlumNoMilk
6BreadYes
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =SE(ÉNÚM(CORRESP(A2;$D$2:$D$5;0));"Yes";"No")

Pear, Milk e Bread estão em D2:D5, então mostram Yes. Kiwi e Plum mostram No. CONT.SE($D$2:$D$5;A2)>0 dá a mesma resposta; a CORRESP para no primeiro achado, a CONT.SE (COUNTIF) conta todos.

CORRESP, CORRESPX e ÍNDICE

A CORRESP é metade da busca clássica =ÍNDICE(C2:C6;CORRESP(E2;A2:A6;0)), explicada na página ÍNDICE e CORRESP. O Excel 2021 e o Microsoft 365 trazem a CORRESPX (XMATCH em inglês), que tem a correspondência exata como padrão, pode procurar do último item para cima e resolve "o próximo maior" sem ordem decrescente. A CORRESP continua funcionando em qualquer lugar, inclusive em arquivos que precisam abrir no Excel 2019.

Prática: posição de um funcionário

Lista da equipe
F2
ABCDEF
1NameTeamStart yearNamePosition
2AnaSales2019Dev
3BenSupport2021
4CaraSales2018
5DevFinance2022
6EliSupport2020
7FayFinance2023
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.

Sua vez: Em F2, retorne a posição do nome em E2 dentro da lista da coluna A.

Perguntas frequentes

O que a CORRESP retorna no Excel?

Uma posição, não um valor: =CORRESP("Bread";A2:A6;0) retorna 4 quando Bread é a quarta célula de A2:A6. Junte com o ÍNDICE para pegar o valor nessa posição em outra coluna.

Qual a diferença entre os tipos de correspondência 0, 1 e -1?

0 encontra uma correspondência exata em qualquer ordem. 1 (o padrão) encontra o maior valor menor ou igual ao valor procurado e precisa da lista em ordem crescente. -1 encontra o menor valor maior ou igual a ele e precisa da lista em ordem decrescente.

A CORRESP diferencia maiúsculas de minúsculas?

Não. =CORRESP("milk";A2:A6;0) encontra Milk. Para uma correspondência que diferencia maiúsculas, use =CORRESP(VERDADEIRO;EXATO(A2:A6;"milk");0), que precisa de Ctrl+Shift+Enter (Cmd+Shift+Enter no Mac) no Excel 2019 e anteriores.

Como verifico se um valor existe em uma lista com a CORRESP?

A CORRESP retorna #N/D quando o valor não está lá, então teste se ela retornou um número: =ÉNÚM(CORRESP(A2;$D$2:$D$5;0)) dá VERDADEIRO ou FALSO. Envolva em um SE para mostrar o seu próprio texto.

Ilustração das linguagens de programação do Coddy

Aprenda a programar com o Coddy

COMEÇAR