Como utilizar PROCV com dois ou mais critérios. O Excel é um aplicativo que se destaca pela sua flexibilidade e variedade em ferramentas de pesquisa. O PROCV é uma das funções de pesquisa mais úteis do Excel que permite retornar um valor, com base em um critério específico. No entanto existem situações em que é necessário utilizar a Função PROCV com dois critérios ou uma Função PROCV com três critérios para retornar o valor desejado. Veja como é fácil criar uma fórmula de pesquisa com múltiplos critérios.
PROCV no Excel com duas colunas ou mais
A sintaxe original da Função PROCV
não permite utilizar mais de uma condição para procurar o valor desejado. Para relembrar a sintaxe da
Função PROCV leia:
Sendo assim devem-se usar métodos
e funções auxiliares para obter o resultado. Uma solução é construir uma
fórmula matricial para definir uma função de pesquisa que utilize múltiplas
condições para encontrar o resultado em uma tabela de dados.
Com base na figura acima fez-se a seguinte pergunta:
Qual é o valor mínimo
de frete para o interior do estado de Goiás?
A primeira coisa a fazer é definir uma área para inserir os
critérios da pesquisa e outra área para retornar os valores da pesquisa.
Neste exemplo foi utilizada a validação de dados para criar
uma lista dos possíveis critérios de seleção. Se quiser saber mais sobre a
validação de dados ou como criar uma lista no Excel leia:
Em seguida, na célula de retorno, que neste exemplo é B16, deve-se inserir a fórmula
responsável por realizar a pesquisa.
=ÍNDICE(C2:C11;CORRESP(B13&B14;A2:A11&B2:B11;0))
Ao final da fórmula pressione CTRL+SHIFT+ENTER para torná-la matricial. Este procedimento é
fundamental para que a fórmula funcione corretamente.
O resultado é mostrado na figura abaixo:
O Excel interpreta esta fórmula assim:
=ÍNDICE(retorne
o valor no intervalo da tabela C2:C11 cuja
célula corresponda a interseção de CORRESP (linha que “GO” concatenado com ”Interior”está
localizado))
COMO ESTA FÓRMULA FUNCIONA
A Função CORRESP
A Função CORRESP retorna a
posição relativa de um item em uma lista.
Então temos que: =CORRESP(“GO”&”Interior”;A2:A11&B2:B11;0)
A Função CORRESP irá procurar
pelo conteúdo de B13 (“GO”) concatenado
com B14
(“Interior”) no intervalo A2:A11 concatenado
com o intervalo B2:B11
e retornar a posição em que o valor se encontra no intervalo especificado.
O resultado é a posição
6 do intervalo de células A2:A11
Para relembrar a sintaxe da
Função CORRESP leia:
A FUNÇÃO ÍNDICE
A Função ÍNDICE usa o resultado
da Função CORRESP para preencher o argumento núm_linha da sua sintaxe.
Para relembrar como funciona a
Função ÍNDICE leia:
Sabemos que a matriz de retorno é
o intervalo C2:C11, então temos:
=ÍNDICE(C2:C11;6)
A vantagem deste método é poder
trabalhar com múltiplos critérios de pesquisa sem a necessidade de alterar a estrutura
da planilha. O resultado é obtido de forma simples e satisfatória sem usar a
Função PROCV.
É proibido a reprodução parcial ou integral dos artigos deste blog. Copiar na íntegra qualquer conteúdo aqui publicado, implica em crime previsto no Código Penal
Agora é com você!
Utilize esta técnica de pesquisa e encontre os
valores para o Frete Peso e o Frete Valor. Se ficar com dúvidas deixe-as nos
comentários.
E você conhece outra técnica para
realizar pesquisas no Excel que exigem duas ou mais condições?
Se você
gostou, compartilhe na sua rede social: Facebook, Twitter ou Google+ usando os botões abaixo,
isso ajuda a incentivar o trabalho.
Olá, gostaria de pedir sua ajuda, andei pesquisando sobre isso e nao encontrei nada até agora.. o problema é o seguinte:
ResponderExcluirTenho um conjunto de planilhas do Excel, preciso procurar um valor "x" inconstante dentro de todas as celulas de uma coluna x em cada planilha, e retornar onde este valor está, não o endereço da celula mas o conteudo da celula de onde o texto foi encontrado. A questão é que o texto que estou procurando nao é constante, gostaria que localizar todos os resultados que contenham todo ou parte da busca, por exemplo se eu buscar "paulo", ele tambem retornaria "paulotinha" caso existe na tabela..
Pode me ajudar a solucionar? Obrigado
Meu email é wagnerfsj@hotmail.com
Aguardo sua resposta, parabens pelo blog!
Olá Wagner! Você consegue filtrar os dados desta forma utilizando o filtro avançado do Excel utilizando caracteres coningas (*). Porém como no seu caso a pesquisa deve ocorrer em várias planilhas este filtro não serve. Creio que somente com o auxílio de programação VBA. Deixo aberto os comentários para sugestões de outros leitores que queiram colaborar. Obrigado pela visita!
ResponderExcluirpreciso de fazer uma PROCV buscar os dados em outra planilha onde tem varios resultados e preciso colocar uma condicao para retornar um intervalor. como fazer
ResponderExcluirBoa noite Dario! Obrigado pela visita! Veja se isto lhe ajuda: http://erredoze.blogspot.com/2014/03/funcao-procv-como-retornar-todos-resultados.html
ExcluirBoa noite,
ResponderExcluirPrecisava da sua ajuda, o que pretendia é semelhante ao seu exemplo mas não estou a conseguir fazer com excepção para o primeiro valor.
Tenho duas abas, uma com funcionários e vendas para um ano, a outra apenas para um mês. O que queria era na que apenas tem um mês, bastava eu alterar o mês e os dados actualizam. De momento estou a conseguir fazer isso apenas para o primeiro funcionário, para os restantes a formula da erro. Consegue ajudar-me por favor?
Tem aqui o exemplo se quiser perceber melhor: https://www.dropbox.com/s/gcdyhruw9ze543y/Objectivos%20Gaia%20FY15.xlsx?dl=0
Boa noite, devido a estrutura da sua planilha não é possível aplicar este conceito de PROCV. Para que funcione é necessário alterar a estrutura da planilha e acrescentar uma coluna para os meses. Desta forma o Excel irá concatenar mês&funcionario para retornar o valor correto. Verifique o arquivo edtado com as minhas sugestões: http://goo.gl/BKfuYe. Obrigado pela visita!
ExcluirBoa noite,
ExcluirResolvido!! Muito obrigado pela ajuda! :)
Assim serve perfeitamente!!
Que bom que lhe ajudou silva1878. Sempre que puder deixe um comentario aqui no blog combinado? Abraço!
ExcluirRicardo, bom dia!
ResponderExcluirTenho uma questão no mínimo interessante. Eu possuo uma tabela que informa o valor total pago e preciso associar o pagamento a um cliente, porém, na tabela de pagamentos existem dois pagamentos (ou mais) que resultam no primeiro. Ex.: pagamento de 900,00 que é a soma de 345+555.
Existe alguma forma de testar quais valores somam este total?
Boa noite Cristiano, realmente uma questão muito interessante. Creio que seja possível testar a soma utilizando a Função SE, desde que cada valor esteja em uma célula distinta. Se preferir utilize o formulário de contato para maiores detalhes via e-mail. Obrigado pela visita!
ExcluirBoa noite, tenho uma planilha que utilizo a função procv(), mas devido a necessidade de verificar 4 argumentos, ficou enviável, pelo que vi no exemplo a possibilidade de se verificar mais de um argumentos, criei uma função () mas o excel demora muito processar, há possibilidade de substituir a função definida pelo usuario por procv()?
ResponderExcluirBoa noite Marcelo! Por se tratar de uma fórmula matricial é comum a lentidão no processo para grande quantidade de dados. Como alternativa você pode utilizar uma outra técnica utilizando o PROCV, criando uma coluna auxiliar concatenada de acordo com o exemplo que fiz pra você disponível para download aqui: http://migre.me/o143F Obrigado pela visita!
ExcluirOla, Ricardo!
ResponderExcluirA minha dúvida é a mesma do Marcelo Silveira.
Ariana, boa noite! Verifique a resposta ao Marcelo Silveira. Experimente utilizar a técnica do PROCV concatenado. Link para download da planilha de exemplo: http://migre.me/o143F Obrigado pela visita! Um abraço!
ExcluirOlá Ricardo, primeiramente parabéns pelo site e obrigado por nos ensinar!
ResponderExcluirQuero ver se pode me ajudar, tenho uma planilha que preciso fazer quase a mesma coisa que você ensinou agora, porém, em vez de pegar apenas um resultado, eu preciso pegar todos, por exemplo, vamos supor que a opção GO e INTERIOR repetem em várias linhas e cada uma com um valor diferente, eu preciso de uma fórmula que ao digitar GO e INTERIOR, apareça pra mim todos os resultados com os respectivos valores! consegue me ajudar? desde já obrigado!
Boa noite Marcelo, eu tenho a solução para o seu caso. É necessário desenvolver uma fórmula que utilize dois conceitos ja publicados aqui no blog: Função Procv com duas condições + Função PROCV todos os resultados. Por favor informe o seu e-mail para que eu lhe envie uma planilha de exemplo ou entre em contato comigo através deste link: http://goo.gl/AUYyyh Obrigado pela visita!
ExcluirMuito boa dica! Obrigado, Ricardo.
ResponderExcluirÓtima dica, me ajudou muito!
ResponderExcluirObrigada!
Que ótimo Jacqueline! Um grande abraço!
ExcluirExcelente material!
ResponderExcluirPercebi que não funciona com células mescladas, todavia é só manter uma copia das linhas necessárias e ocultar a coluna :)
Opa...
ResponderExcluirCancela o post anterior
esqueci de apertar Ctrl+Shift+Enter rsrsrsr
Oi Ariana, quando trabalhar com fórmulas comuns, você deve pressionar ENTER ao finalizar a fórmula; ja Com fórmulas matriciais você deve pressionar CTRL + SHIFT + ENTER, ou não funcionará. Abraços!
ExcluirCara, salvou minha vida! Valeu pela dica, entendi a lógica rapidinho e já mandei calcular ali, demora um pouco pela quantidade de comparações que as matrizes precisam calcular, mas vai me poupar um trabalhão.
ResponderExcluirWooow Juliano! Que feedback sensacional! Fico muito feliz por saber que nossos conteúdos estão sendo úteis para você!
ExcluirForte abraço!
Boa tarde Ricardo,
ResponderExcluirPreciso encontrar nomes que tem critério em comum. Por exemplo: Coluna A tem as máquinas (varias máquinas) e na coluna B os operadores (vários operadores). Para uma mesma máquina vários operadores podem ter operado a mesma. O meu objetivo é saber quem operou uma máquina dentre inúmeros operadores listados.
Grato.
Bruno
Boa tarde Bruno! Em primeiro lugar você deve criar um novo registro para cada uso da maquina e operador. Ex:
ExcluirColuna A - Coluna B
Maquina1 - Colaborador 1
Maquina2 - Colaborador 2
Maquina1 - Colaborador 3
Então para gerar um relatório dos operadores por máquina você precisa aplicar o conceito de "Procv todos os Resultados":
http://www.excelnaweb.com.br/2014/03/funcao-procv-como-retornar-todos-resultados.html
Acesse o link acima e teste, acredito que vai ser útil.
Abraços!
Olá!
ResponderExcluirMuitos boas as dicas, em específico a de "PROCV no Excel com duas colunas ou mais" me foi de grande auxilio no trabalho.
Abraço!!
Muito obrigado pelo seu comentário!
ExcluirSempre que puder e desejar, deixe um comentário aqui no blog, combinado?
Eles são meu maior indicativo de que estou caminhando na direção correta.
Forte Abraço e sucesso!