Sugestão
Experimente utilizar a nova função XMATCH , uma versão melhorada da função CORRESP que funciona em qualquer direção e devolve as combinações exatas por predefinição, o que torna a sua utilização mais fácil e conveniente do que a sua antecessora.
A função CORRESP procura um item especificado num intervalo de células e, em seguida, devolve 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) irá devolver o número 2, porque 25 é o segundo item no intervalo.
Sugestão
Utilize CORRESP em vez de uma das funções PROC quando necessitar da posição de um item num intervalo em vez do item propriamente dito. Por exemplo, pode utilizar a função CORRESP para fornecer um valor para o argumento row_num da função ÍNDICE .
Sintaxe
CORRESP(valor_proc; matriz_proc; [tipo_corresp])
A sintaxe da função CORRESP tem os seguintes argumentos:
lookup_value Obrigatório. O valor que pretende fazer corresponder com lookup_array. Por exemplo, quando procura o número do telefone de alguém numa lista telefónica, está a utilizar o nome da pessoa como o valor de pesquisa, mas o número do telefone é o valor que deseja.
O argumento valor_proc pode ser um valor (número, texto ou valor lógico) ou uma referência de célula a um número, texto ou valor lógico.
lookup_array Obrigatório. O intervalo de células onde a pesquisa é efetuada.
match_type Opcional. O número -1, 0 ou 1. O argumento match_type especifica a forma como o Excel faz corresponder lookup_value aos valores em lookup_array. O valor predefinido para este argumento é 1.
A tabela seguinte descreve a forma como a função encontra os valores com base na definição do argumento tipo_corresp.
| Tipo_corresp | Comportamento |
|---|---|
| 1 ou omisso | CORRESP localiza o valor maior menor ou igual a lookup_value. Os valores no argumento lookup_array têm de ser colocados por ordem ascendente, por exemplo: ...-2, -1, 0, 1, 2, ..., A-Z, FALSO, VERDADEIRO. |
| 0 | CORRESP localiza o primeiro valor que for exatamente igual a lookup_value. Os valores no argumento lookup_array podem estar por qualquer ordem. |
| -1 | CORRESP localiza o menor valor que seja maior ou igual alookup_value. Os valores no argumento lookup_array têm de ser colocados por ordem descendente, por exemplo: VERDADEIRO, FALSO, Z-A, ... 2, 1, 0, -1, -2, ..., e assim por diante. |
- CORRESP devolve a posição do valor correspondente dentro lookup_array, não o valor em si. Por exemplo, CORRESP("b",{"a","b","c"},0) devolve 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 corresponder valores de texto.
- Se CORRESP não conseguir localizar um valor correspondente, devolve o valor de erro #N/D.
- Se match_type for 0 e lookup_value for uma cadeia de texto, pode utilizar os carateres universais — ponto de interrogação (?) e asterisco (*) — no argumento lookup_value . Um ponto de interrogação corresponde a qualquer caráter individual, um asterisco corresponde a qualquer sequência de carateres. Se pretender localizar mesmo um ponto de interrogação ou asterisco, escreva um til (~) antes do caráter.
Exemplo
Copie os dados de exemplo que se encontram na seguinte tabela e cole-os na célula A1 de uma nova folha de cálculo do Excel. Para que as fórmulas mostrem resultados, selecione-as, prima F2 e, em seguida, prima Enter. Se pretender, pode 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) | Visto que não há uma correspondência exata, é devolvida a posição no seguinte menor valor (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) | Devolve um erro porque os valores no intervalo B2:B5 não estão em ordem descendente. | #N/D |