: Coloque seu e-mail aqui para receber GRATUITAMENTE o meu EBOOK - - 10 Funções que podem fazer de você um perito em EXCEL
Excel na Web

26 Função PROCV com duas condições Como usar


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 Interiorestá 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.

Ricardo Fialkoski é o fundador do blog Excel na Web. Trabalha com Excel há mais de dez anos desenvolvendo Soluções Avançadas em Excel e VBA.

Comentário(s):

26 comentários :

  1. Olá, gostaria de pedir sua ajuda, andei pesquisando sobre isso e nao encontrei nada até agora.. o problema é o seguinte:
    Tenho 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!

    ResponderExcluir
  2. 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!

    ResponderExcluir
  3. preciso 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

    ResponderExcluir
    Respostas
    1. Boa noite Dario! Obrigado pela visita! Veja se isto lhe ajuda: http://erredoze.blogspot.com/2014/03/funcao-procv-como-retornar-todos-resultados.html

      Excluir
  4. Boa noite,
    Precisava 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

    ResponderExcluir
    Respostas
    1. 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!

      Excluir
    2. Boa noite,

      Resolvido!! Muito obrigado pela ajuda! :)
      Assim serve perfeitamente!!

      Excluir
    3. Que bom que lhe ajudou silva1878. Sempre que puder deixe um comentario aqui no blog combinado? Abraço!

      Excluir
  5. Ricardo, bom dia!
    Tenho 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?

    ResponderExcluir
    Respostas
    1. 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!

      Excluir
  6. Boa 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()?

    ResponderExcluir
    Respostas
    1. Boa 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!

      Excluir
  7. Ola, Ricardo!

    A minha dúvida é a mesma do Marcelo Silveira.

    ResponderExcluir
    Respostas
    1. 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!

      Excluir
  8. Olá Ricardo, primeiramente parabéns pelo site e obrigado por nos ensinar!
    Quero 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!

    ResponderExcluir
    Respostas
    1. 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!

      Excluir
  9. Muito boa dica! Obrigado, Ricardo.

    ResponderExcluir
  10. Excelente material!
    Percebi que não funciona com células mescladas, todavia é só manter uma copia das linhas necessárias e ocultar a coluna :)

    ResponderExcluir
  11. Opa...
    Cancela o post anterior
    esqueci de apertar Ctrl+Shift+Enter rsrsrsr

    ResponderExcluir
    Respostas
    1. 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!

      Excluir
  12. Cara, 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.

    ResponderExcluir
    Respostas
    1. Wooow Juliano! Que feedback sensacional! Fico muito feliz por saber que nossos conteúdos estão sendo úteis para você!

      Forte abraço!

      Excluir
  13. Boa tarde Ricardo,

    Preciso 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

    ResponderExcluir
    Respostas
    1. Boa tarde Bruno! Em primeiro lugar você deve criar um novo registro para cada uso da maquina e operador. Ex:

      Coluna 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!

      Excluir