XPROC
A função XPROC pesquisa um valor especificado num intervalo e devolve o valor da mesma linha noutra coluna.
XPROC(valor‑pesquisa; intervalo‑pesquisa; intervalo-devolver; se‑não‑encontrado; tipo‑correspondência; tipo-pesquisa)
valor‑pesquisa: O valor a ser pesquisado em intervalo-pesquisa. valor-pesquisa pode conter qualquer valor ou uma cadeia REGEX.
intervalo‑pesquisa: As células a pesquisar.
intervalo-devolver: As células a devolver.
se‑não‑encontrado: Um argumento opcional que especifica a mensagem a apresentar se não for encontrado nenhum resultado.
tipo‑correspondência: Um argumento opcional que especifica o tipo de correspondência a pesquisar.
exato ou menor mais próximo (-1): Se não coincidirem, devolve um erro.
correspondência exata (0 ou omitida): Se os valores não coincidirem exatamente, devolve um erro.
exato ou maior mais próximo (1): Se não coincidirem, devolve um erro.
carácter de substituição (2): *, ? e ~ têm um significado específico. REGEX apenas pode ser usada em XPROC se usar um carácter de substituição.
tipo‑pesquisa: Um argumento opcional que especifica a ordem pela qual a pesquisa deve ser efetuada no intervalo.
Binária decrescente (-2): Pesquisa binária que requer um intervalo por ordem decrescente; caso contrário, devolve um erro.
Último para primeiro (-1): Pesquisar no intervalo do último para o primeiro.
Primeiro para último (1 ou omitido): Pesquisar no intervalo do primeiro para o último.
Binária crescente (2): Pesquisa binária que requer um intervalo por ordem crescente; caso contrário, devolve um erro.
Notas
Se intervalo‑pesquisa ou devolver‑intervalo for uma referência ao intervalo (tal como “B”), os cabeçalhos e rodapés são ignorados automaticamente.
Para devolver resultados de uma tabela, utilize ÍNDICE com XPROC.
Exemplos |
---|
Tendo em conta a seguinte tabela: |
A | B | C | |
---|---|---|---|
1 | Nome | Idade | Salário |
2 | Ana | 35 | 71000 |
3 | Mateus | 27 | 81000 |
4 | Cláudia | 42 | 86000 |
5 | Sofia | 51 | 66000 |
6 | Jaime | 28 | 52000 |
7 | Tomás | 49 | 62000 |
8 | Artur | 63 | 89000 |
9 | Maria | 22 | 34000 |
10 | Alice | 29 | 52000 |
11 | Bruno | 35 | 52500 |
=XPROC(49;B2:B11;C2:C11) tem como resultado “62000”, que é o salário do primeiro empregado cuja idade é 49. =XPROC(60000,C2:C11;B2:B11,“Sem correspondência”) tem como resultado “Sem correspondência”, uma vez que não há qualquer empregado cujo salário seja 60 000 $. =XPROC(REGEX("^C.*"), A2:A11; B2:B11; FALSO; 2) tem como resultado “42,” a idade de "Cláudia”, a primeira empregada no intervalo cujo nome começa com “C”. =ÍNDICE(XPROC(A2;A2:A11;B2:C11);2) tem como resultado 71000, o segundo valor na tabela devolvida por XPROC. |