Dica
Tente usar a nova função XMATCH , uma versão aprimorada do MATCH que funciona em qualquer direção e retorna correspondências exatas por padrão, tornando-a mais fácil e conveniente de usar do que seu antecessor.
A função CORRESP procura um item especificado em um intervalo de células e retorna a posição relativa desse item no intervalo. Por exemplo, se o intervalo A1:A3 contiver os valores 5, 25 e 38, a fórmula =CORRESP(25,A1:A3,0) retornará o número 2, porque 25 é o segundo item no intervalo.
Dica
Use CORRESP no lugar de uma das funções PROC quando precisar da posição de um item em um intervalo em vez do item propriamente dito. Por exemplo, você pode usar a função CORRESP para fornecer um valor para o argumento row_num da função ÍNDICE .
Sintaxe
CORRESP(valor_procurado, matriz_procurada, [tipo_correspondência])
A sintaxe da função CORRESP tem os seguintes argumentos:
lookup_value Obrigatório. O valor que você deseja corresponder no lookup_array. Por exemplo, quando você procura o número de alguém na lista telefônica, está usando o nome da pessoa como valor de pesquisa, mas o número do telefone é o valor desejado.
O argumento valor_procurado pode ser um valor (número, texto ou valor lógico) ou uma referência de célula para um número, texto ou valor lógico.
lookup_array Obrigatório. O intervalo de células que estão sendo pesquisadas.
match_type Opcional. O número -1, 0 ou 1. O argumento match_type especifica como o Excel corresponde a lookup_value com valores em lookup_array. O valor padrão para este argumento é 1.
A tabela a seguir descreve como a função localiza valores com base na configuração do argumento tipo_correspondência.
| Tipo_correspondência | Comportamento |
|---|---|
| 1 ou não especificado | CORRESP localiza o maior valor que é menor ou igual a lookup_value. Os valores no argumento lookup_array devem ser colocados em ordem ascendente, por exemplo: ...-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE. |
| 0 | CORRESP localiza o primeiro valor que é exatamente igual a lookup_value. Os valores no argumento lookup_array podem estar em qualquer ordem. |
| -1 | CORRESP localiza o menor valor que seja maior ou igual alookup_value. Os valores no argumento lookup_array devem ser colocados em ordem decrescente, por exemplo: TRUE, FALSE, Z-A, ... 2, 1, 0, -1, -2, ..., e assim por diante. |
- CORRESP retorna a posição do valor correspondido dentro de lookup_array, não o valor em si. Por exemplo, CORRESP("b",{"a","b","c"},0) retorna 2, que é a posição relativa de "b" dentro da matriz {"a","b","c"}.
- CORRESP não faz distinção entre letras maiúsculas e minúsculas ao fazer a correspondência entre valores de texto.
- Se CORRESP não conseguir localizar um valor coincidente, ele retornará o valor de erro #N/D.
- Se match_type for 0 e lookup_value for uma cadeia de texto, você poderá usar os caracteres curinga — o ponto de interrogação (?) e o asterisco (*) — no argumento lookup_value . Um ponto de interrogação coincide com qualquer caractere único; um asterisco coincide com qualquer cadeia de caracteres. Se você quiser localizar um ponto de interrogação ou asterisco real, digite um til (~) antes do caractere.
Exemplo
Copie os dados de exemplo da tabela a seguir e cole-os na célula A1 de uma nova planilha do Excel. Para as fórmulas mostrarem resultados, selecione-as, pressione F2 e pressione Enter. Se precisar, você poderá ajustar as larguras das colunas para ver todos os dados.
| Produto | Contagem | |
|---|---|---|
| Bananas | 25 | |
| Laranjas | 38 | |
| Maçãs | 40 | |
| Peras | 41 | |
| Fórmula | Descrição | Resultado |
| =CORRESP(39;B2:B5;1) | Como não existe uma correspondência exata, é retornada a posição do próximo valor mais baixo (38) no intervalo B2:B5. | 2 |
| =CORRESP(41;B2:B5;0) | A posição do valor 41 no intervalo B2:B5. | 4 |
| =CORRESP(40;B2:B5;-1) | Retorna um erro porque os valores no intervalo B2:B5 não estão em ordem decrescente. | #N/D |