PROC (Função PROC)
Este artigo descreve a sintaxe da fórmula e o uso da FUNÇÃO PROC no Microsoft Excel.
Descrição
A função PROC retorna um valor de um INTERVALO de uma linha ou uma coluna ou de uma MATRIZ . A função PROC tem duas formas de sintaxe: a forma vetorial e a forma matricial.
| Se quiser | Consulte então | Uso |
|---|---|---|
| Examina um valor em um vetor, move-o para a posição correspondente em um segundo vetor e retorna este valor. | Forma vetorial | Use a forma vetorial quando você tiver uma lista grande de valores para procurar ou quando os valores sofrem alterações ao longo do tempo. |
| Examina o valor especificado na primeira linha ou coluna de uma matriz e retorna um valor da mesma posição na última linha ou coluna da matriz. | Forma matricial | Use a forma matricial quando você tiver uma pequena lista de valores que permanecem constantes ao longo do tempo. |
Observações
- Você também pode usar a função PROC como alternativa para a função SE para testes elaborados ou que excedem o limite para o aninhamento de funções. Consulte os exemplos na forma matricial.
- Para que a função PROC funcione corretamente, os dados que estão sendo pesquisados devem ser classificados em ordem crescente. Se isso não for possível, considere o uso da função PROCV, PROCH ou CORRESP.
Forma vetorial
Um vetor é um intervalo de apenas uma linha ou uma coluna. A forma vetorial de PROC procura em um intervalo de uma linha ou uma coluna (chamado de vetor) por um valor e retorna um valor da mesma posição em um segundo intervalo de uma linha ou uma coluna. Use essa forma da função PROC quando quiser especificar o intervalo que contém os valores que você deseja corresponder. A outra forma de PROC procura automaticamente a primeira coluna ou linha.
Sintaxe
PROC(valor_proc, vetor_proc, [vetor_result])
A sintaxe da forma vetorial da função PROC tem os seguintes ARGUMENTOS :
- valor_procurado Necessário. Um valor que PROC procura no primeiro vetor. valor_procurado pode ser um número, um texto, um valor lógico ou um nome ou uma referência associado a um valor.
- vetor_proc Necessário. Um intervalo que contém apenas uma linha ou uma coluna. Os valores em vetor_proc podem ser um texto, números ou valores lógicos.
Importante Os valores em vetor_proc devem ser colocados em ordem crescente: ..., -2, -1, 0, 1, 2, ..., A-Z, FALSO, VERDADEIRO; caso contrário, PROC poderá não retornar o valor correto. Textos em maiúsculas e minúsculas são equivalentes.
- vetor_result Opcional. Um intervalo que contém apenas uma linha ou coluna. O argumento vetor_result deve ter o mesmo tamanho de valor_proc.
Comentários
- Se a função PROC não conseguir localizar valor_procurado, a função corresponderá o maior valor em valor_procurado que seja menor do que ou igual a valor_procurado.
- Se valor_procurado for menor do que o menor valor em vetor_proc, PROC retornará o valor de erro #N/D.
Exemplos de vetor
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.
| Frequência | Cor | |
|---|---|---|
| 4,14 | vermelho | |
| 4,19 | laranja | |
| 5,17 | amarelo | |
| 5,77 | verde | |
| 6,39 | azul | |
| Fórmula | Descrição | Resultado |
| =PROC(4,19, A2:A6, B2:B6) | Pesquisa 4,19 na coluna A e retorna o valor da coluna B que está na mesma linha. | laranja |
| =PROC(5,75, A2:A6, B2:B6) | Pesquisa 5,75 na coluna A, corresponde o valor menor mais próximo (5,17) e retorna o valor da coluna B que está na mesma linha. | amarelo |
| =PROC(7,66, A2:A6, B2:B6) | Pesquisa 7,66 na coluna A, corresponde o valor menor mais próximo (6,39) e retorna o valor da coluna B que está na mesma linha. | azul |
| =PROC(0, A2:A6, B2:B6) | Procura 0 na coluna A e retorna um erro porque 0 é menor que o menor valor (4,14) na coluna A. | #N/D |
Forma matricial
A forma matricial de PROC procura na primeira linha ou coluna de uma MATRIZ pelo valor especificado e retorna um valor da mesma posição, na última linha ou coluna da matriz. Use essa forma de PROC quando os valores que você deseja corresponder estiverem na primeira linha ou coluna da matriz. Use a outra forma de PROC quando quiser especificar o local da coluna ou linha.
Dica Em geral, convém usar a função PROCH ou PROCV no lugar da forma matricial da função PROC. Essa forma de PROC é fornecida por questões de compatibilidade com outros programas de planilha.
Sintaxe
PROC(valor_procurado,matriz)
A sintaxe da forma matricial de PROC tem estes ARGUMENTOS :
- valor_procurado Necessário. Um valor que PROC pesquisa em uma matriz. O argumento valor_procurado pode ser um número, um texto, um valor lógico ou um nome ou uma referência associado a um valor.
- Se PROC não conseguir localizar o valor de valor_procurado, ela usará o maior valor na matriz que for menor do que ou igual a valor_procurado.
- Se o valor de valor_procurado for menor do que o menor valor na primeira linha ou coluna (dependendo das dimensões da matriz), PROC retornará o valor de erro #N/D.
- matriz Necessário. Um intervalo de células que contém texto, números ou valores lógicos que se deseja comparar com valor_procurado.
A forma matricial de PROC é muito semelhante às funções PROCH e PROCV. A diferença está no fato de que PROCH pesquisa o valor de valor_procurado na primeira linha, PROCV pesquisa a primeira coluna e PROC pesquisa de acordo com as dimensões da matriz.
- Se a matriz abranger uma área cuja largura é maior do que a altura (mais colunas do que linhas), PROC procurará o valor de valor_procurado na primeira linha.
- Se uma matriz for quadrada ou tiver a altura maior do que a largura (mais linhas do que colunas), PROC pesquisará na primeira coluna.
- Com as funções PROCH e PROCV, você pode indexar para baixo ou na transversal, mas PROC sempre seleciona o último valor na linha ou coluna.
Importante Os valores em matriz devem ser colocados em ordem crescente: ..., -2, -1, 0, 1, 2, ..., A-Z, FALSO, VERDADEIRO; caso contrário, PROC poderá não retornar o valor correto. Textos em maiúsculas e minúsculas são equivalentes.
Exemplos de Matriz
Os exemplos na Planilha2 na pastade trabalho mostram a forma matriz usada com a função.
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.
| Fórmula | Descrição | Resultado |
|---|---|---|
| =PROC("C", {"a","b","c","d";1,2,3,4}) | Procura "C" e localiza o valor mais próximo que é menor que ou igual a "C". Nesse caso, localiza uma correspondência exata, pois PROC não faz distinção entre maiúsculas e minúsculas. Retorna o valor (3) na última linha que se encontra na mesma coluna (terceira). | 3 |
| =PROC("bump", {"a",1;"b",2;"c",3}) | Procura "bump" e não localiza uma correspondência exata. Localiza o maior valor que é menor que ou igual a "bump", que é "b" (na linha 2) e retorna o valor (2) na última coluna que se encontra na mesma linha que "b". | 2 |
A Planilha3 na mesma pasta de trabalho usa uma matriz de números para atribuir uma nota de letra a uma pontuação de teste.
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.
| Resultado | ||
|---|---|---|
| 45 | ||
| 90 | ||
| 78 | ||
| Fórmula | Descrição | Resultado |
| =PROC(A2, {0,60,70,80,90}, {"F","D","C","B","A"}) | Procura o valor em A2 (45) na primeira linha da matriz, localiza o maior valor menor que ou igual a ele (0) e depois retorna o valor na última linha da matriz que se encontra na mesma coluna. | S |
| =PROC(A3, {0,60,70,80,90}, {"F","D","C","B","A"}) | Procura o valor em A3 (90) na primeira linha da matriz, localiza o maior valor menor que ou igual a ele (90) e depois retorna o valor na última linha da matriz que se encontra na mesma coluna. | A |
| =PROC(A4, {0,60,70,80,90}, {"F","D","C","B","A"}) | Procura o valor em A4 (78) na primeira linha da matriz, localiza o maior valor menor que ou igual a ele (70) e depois retorna o valor na última linha da matriz que se encontra na mesma coluna. | C |
| =PROC(A2, {0,60,63,67,70,73,77,80,83,87,90,93,97}, {"F","D-","D","D+","C-","C","C+","B-","B","B+","A-","A","A+"}) | Procura o valor em A2 (45) na primeira linha da matriz, localiza o maior valor menor que ou igual a ele (0) e depois retorna o valor na última linha da matriz que se encontra na mesma coluna. | S |
| =PROC(A3, {0,60,63,67,70,73,77,80,83,87,90,93,97}, {"F","D-","D","D+","C-","C","C+","B-","B","B+","A-","A","A+"}) | Procura o valor em A3 (90) na primeira linha da matriz, localiza o maior valor menor que ou igual a ele (90) e depois retorna o valor na última linha que se encontra na mesma coluna. | A- |
| =PROC(A4, {0,60,63,67,70,73,77,80,83,87,90,93,97}, {"F","D-","D","D+","C-","C","C+","B-","B","B+","A-","A","A+"}) | Procura o valor em A4 (78) na primeira linha da matriz, localiza o maior valor menor que ou igual a ele (77) e depois retorna o valor na última linha que se encontra na mesma coluna. | C+ |