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 pesquisado no intervalo-pesquisa. intervalo-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.
Exemplo |
---|
A tabela abaixo, com o título Produtos, lista produtos e os seus atributos, tal como o tamanho e o preço: |
A | B | C | D | E | |
---|---|---|---|---|---|
1 | Produto | Comprimento (cm) | Largura (cm) | Peso (kg) | Preço |
2 | Produto 1 | 16 | 17 | 10 | 82,00 $ |
3 | Produto 2 | 16 | 20 | 18 | 77,00 $ |
4 | Produto 3 | 11 | 11 | 15 | 88,00 $ |
5 | Produto 4 | 15 | 16 | 20 | 63,00 $ |
Procurar com XPROC |
---|
Com XPROC, pode inserir uma fórmula na folha de cálculo que tem como resultado qualquer valor associado, fornecendo primeiro o nome do produto e, em seguida, a coluna com o valor que pretende de resultado. Por exemplo, se pretendesse ter como resultado a largura do Produto 1 na tabela acima, poderia usar a seguinte fórmula, a qual tem como resultado 17 cm: Nesta fórmula, são usados os seguintes argumentos:
|
Definir a cadeia se‑não‑encontrado |
---|
Se pretendesse procurar um comprimento específico do produto e ter como resultado a largura correspondente, assim como o resultado caso não seja encontrada qualquer correspondência, poderia usar a seguinte fórmula, a qual tem como resultado “Sem correspondência”: Nesta fórmula, o argumento se‑não‑encontrado é usado para efetuar uma pesquisa mais específica:
|
Procurar o valor seguinte mais próximo |
---|
XPROC também pode fornecer uma procura mais ampla com base num valor específico e valores aproximados. Se alterar tipo‑correspondência da fórmula acima, pode ter como resultado a largura que corresponde a um comprimento de 13 cm ou o próximo valor mais pequeno. A fórmula abaixo tem como resultado uma largura de 11 cm: Nesta fórmula, os argumentos são os mesmos que acima, com a exceção de ser usado um valor diferente para match-type para alterar como a tabela é pesquisada:
|
Alterar a ordem da pesquisa |
---|
Em alguns casos, pode ser últil alterar a ordem pela qual a tabela é pesquisada com XPROC. Por exemplo, na tabela acima, há dois produtos com um comprimento de 16 cm, por isso existem duas correspondências possíveis se procurar por 16 cm na coluna Comprimento com valor-pesquisa e intervalo-pesquisa. Pode definir a ordem de pesquisa com uma fórmula como esta, a qual tem como resultado 20 cm: Nesta fórmula, o argumento tipo‑pesquisa é usado para definir a ordem pela qual XPROC pesquisa a tabela por uma correspondência:
|
Usar XPROC com outras funções |
---|
XPROC pode ser utilizada com outras funções, tal como SOMA. Por exemplo, pode usar uma fórmula como a que está abaixo para ter como resultado 247 $, a SOMA dos preços dos Produtos 1, 2 e 3: Neste exemplo, a primeira XPROC procura pelo preço do Produto 1 e a segunda XPROC procura pelo preço do Produto 3. Os dois pontos (:) entre as funções XPROC indicam que a SOMA deve ter como resultado não só o preço total do Produto 1 e do Produto 3, mas também quaisquer valores entre eles. |
Na fórmula abaixo, XPROC é usada com REGEX para ter como resultado o Produto 2, o primeiro produto com uma largura que começa com “2”: Neste exemplo, o “carácter de substituição (2)” é usado para tipo‑correspondência para utilizar os caracteres de substituição na função REGEX. |
Exemplos adicionais |
---|
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. |