Excel na Web
Coloque seu e-mail aqui para receber GRATUITAMENTE o meu EBOOK →

→ 10 Funções que podem fazer de você um perito em EXCEL

23 Procv Como procurar em Varias Planilhas

Como fazer o PROCV em 3 tabelas.

Quando o assunto é pesquisa de valores no Excel, a Função PROCV é a primeira alternativa que nos vem à mente. Dependendo da estrutura da planilha esta função pode apresentar limitações quanto ao seu uso. Recentemente recebi um e-mail de um leitor que perguntou: É possível usar a Função PROCV para pesquisar em varias planilhas? A boa notícia é sim, podemos! Para isso devem-se utilizar funções auxiliares ou métodos alternativos de pesquisa. Uma solução é utilizar a Função SEERRO em conjunto com a Função PROCV.


Para se aprofundar mais em funções de pesquisa e aprender como usar a Função PROCV Excel na sua forma natural e como usar a Função PROCV com duas colunas leia:


PROCV COMO PESQUISAR EM VÁRIAS PLANILHAS

Como exemplo imagine uma pasta de trabalho para cadastro de produtos de diversos fornecedores. Para cada fornecedor existe uma planilha de cadastro.

planilha-cadastro-produtos-fornecedores


A figura abaixo mostra a estrutura da planilha em que os dados são retornados a partir do código do produto.


O desafio é fazer o PROCV pesquisar o termo procurado na primeira planilha e caso não encontre, procurar na próxima planilha, e assim por diante.

pesquisar-valores-multiplas-planilhas-excel


Para entender melhor a solução que será proposta em seguida recomendo que leia:



Como procurar em várias planilhas com PROCV

Partindo do principio de que a fórmula PROCV retorna o erro #N/D toda vez que não encontra o termo procurado, uma das soluções para procurar por um valor em múltiplas planilhas é aninhar várias Funções SEERRO agrupadas com a Função PROCV. 

Assim, a Função SEERRO irá verificar o resultado de retorno da Função PROCV na primeira planilha e caso ele seja #N/D, sabe-se que nenhuma correspondência foi encontrada. Então, a Função SEERRO irá verificar a próxima planilha e assim sucessivamente até que um valor válido seja retornado.

=SEERRO(PROCV(B3;'FORNECEDOR A'!$A$1:C$11;2;0);SEERRO (PROCV(B3;'FORNECEDOR B'!$A$1:$C$11;2;0);SEERRO(PROCV(B3;'FORNECEDOR C'!$A$1:$C$11;2;0);"")))

O Excel irá interpretar da seguinte forma:

=Procure o código do produto em B3 na planilha "FORNECEDOR A" e retorne o valor da coluna 2 do intervalo A1:C11; caso não encontre uma correspondência exata em  "FORNECEDOR A" verifique em "FORNECEDOR B"; se não encontrar novamente verifique em "FORNECEDOR C"; e se mesmo assim não encontrar deixe em branco..

exemplo-planilha-funcao-procv-seerro


Esta solução é ideal para procurar um valor em duas ou três planilhas. Qualquer quantidade superior a esta, o ideal é desenvolver uma fórmula que troque de planilha dinamicamente usando para isso uma lista de planilhas. Isto será explicado em uma próxima oportunidade.


Baixe aqui a planilha utilizada neste exemplo e pratique inserindo as fórmulas no restante das linhas.

Mesmo que nunca seja usado, este é um exemplo de como usar o Excel, e assim aprender mais e também adaptar a outra situação que eventualmente possa vir a ocorrer um dia.

Conteúdo VIP

Coloque o seu email abaixo para receber gratuitamente as atualizações do blog!


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.

23 comentários :

  1. legal... eu consigo fazer isso para consultar uma tabela que tem 15mil registros e uma coluna com dados de 16caracters

    ResponderExcluir
    Respostas
    1. Boa noite Paulo, consegue sim, porem o o processamento será maior e mais demorado.

      Excluir
  2. Ola Ricardo , parabéns pelo blog!! Por favor, se eu quiser buscar dados em uma planilha, como eu faria? Exemplo: Na planilha que quero buscar tem os seguintes dados :
    Planilha Matriz (onde quero buscar os dados)
    Na coluna A = Nome da pessoas ( linha 1: Antônio, Linha 2: Primo, Linha: 3 Reinaldo, Linha 4:Antônio, Linha 5: Primo),
    Na Coluna B = Data da Compra (Linha 1: Janeiro, Linha 2:Fevereiro, Linha 3: Março, Linha 4: Abril, Linha 5, Maio).
    Na Coluna C = Valores das compras ( Linha 1: 50,00 , Linha 2: 100,00, Linha 3: 150,00, Linha 4: 200,00, Linha 5: 250,00).

    Planilha para onde quero levar os dados (Procv)

    Quero somar todos os valores por pessoa> Exemplo:
    Valor total das compras de antonio

    ResponderExcluir
    Respostas
    1. Boa noite! Para somar o total de compras de Antonio, com base na disposição dos dados que você informou, é possivel alcançar o resultado através da Função Somase:

      =SOMASE(A2:A6;B9;C2:C6)

      Substitua "B9" pela célula que você irá digitar "Antonio".

      Obrigado pela visita!

      Excluir
  3. Boa noite Ricardo! Se eu tiver o mesmo resultado nas três matrizes procuradas, qual resultado será retornado? ( será o primeiro encontrado?) se for, como retornar os outros dois?

    ResponderExcluir
    Respostas
    1. Boa tarde! Com certeza irá retornar o primeiro resultado encontrado. Para retornar todos os resultados voce teria que usar esta idéia em conjunto com a fórmula apresentada neste artigo: http://goo.gl/DF04JN. Obrigado pela visita!

      Excluir
  4. Boa noite
    Parabéns, os comentários são de boa qualidade e conhecimento do Excel.
    Tenho diversas planilhas que são utilizadas por diversas pessoas ao mesmo tempo, com função PROCV e PROCH, algumas vezes da erro "ND" na mesma hora que dá erro em um PC e outro está funcionando bem.Se redigitar a função que deu erro, fica tudo bem.
    Alguém sabe qual o problema e qual solução?

    ResponderExcluir
    Respostas
    1. Boa noite Claudio, por se tratar de uma planilha onde diversos usuários tem permissão para editar ao mesmo tempo, creio que seja comum ocorrer o erro #N/D. O erro #N/D ocorre quando o valor de retorno não está disponível. No caso, pode ser que a planilha ainda não tenha sido salva pelo seu editor e o retorno não esteja disponível. Logo, ao atualizar a fórmula o erro desaparece pois provavelmente a planilha foi salva pelo editor e já está atualizada com os valores corretos. Se preferir entre em contato pelo formulário de contato para maiores detalhes. Obrigado pela visita.

      Excluir
  5. Boa tarde Ricardo,

    tenho de pôr SE.ERRO em vez de SEERRO

    ResponderExcluir
    Respostas
    1. Boa noite, você deve utilizar igual ao exemplo =SEERRO. Esta função está disponível a partir do Excel 2007. Obrigado pela visita.

      Excluir
  6. Boa tarde Ricardo,
    A solução apresentada por você é ótima e resolveria o meu problema imediatamente, porém eu tenho muitas abas... e com isso a fórmula não funciona. No texto você menciona que em casos como o meu "o ideal é desenvolver uma fórmula que troque de planilha dinamicamente usando para isso uma lista de planilhas." Como faço isso? você já colocou esse tutorial??? Muito obrigada desde já!

    ResponderExcluir
    Respostas
    1. Oi Paola, para o seu caso é ideal trocar dinamicamente de planilha como mencionei. É um fórmula muito complexa mas posso enviar um exemplo para você por e-mail pode ser? Entre em contato comigo: excelnaweb@outlook.com. Abraços!

      Excluir
  7. Show de bola... me ajudou muito! Muito obrigada pelas informações!!!!

    ResponderExcluir
  8. Ricardo, obrigado por continuares a ajudar o pessoal. Só que o que eu pretendo, o PROCV não me resolve o problema pois dá como resultado o primeiro valor que encontra, quando eu tenho no mesmo dia três valores diferentes. Tenho uma planilha em que na coluna A tenho a data e na B os nomes dos funcionários e na C os turnos de trabalho (1º Turno, 2º Turno e 3º Turno) e o que eu pretendo é numa outra planilha por exemplo na célula A1 me dê o nome do funcionário que esteve no 1º Turno, na A2 o nome do que trabalhou no 2º Turno e A3 o nome do que trabalhou no 3º Turno e neste momento com o PROCV procura pela data e apenas me dá o nome de quem trabalhou no 1º Turno.

    ResponderExcluir
    Respostas
    1. Boa tarde, acredito que você esteja precisando de uma fórmula Procv para retornar todos os resultados. Verifique o link abaixo onde lhe apresento uma possível solução:

      http://www.excelnaweb.com.br/2014/03/funcao-procv-como-retornar-todos-resultados.html

      Abraços!

      Excluir
  9. Como faço para que a planilha me mostre caso tiver 02 valores iguais por exemplo: no fornecedores A tem o valor que procuro mais o fornecedor também tem o valor que procuro, como a formula me mostra esses dois valores?

    ResponderExcluir
    Respostas
    1. Opa Danilo, você precisa usar uma fórmula PROCV para trazer todos os valores para o valor procurado. Acesse o link abaixo e veja como fazer:

      http://www.excelnaweb.com.br/2014/03/funcao-procv-como-retornar-todos-resultados.html

      Abraços!

      Excluir
  10. Ótima dica!
    O Excel tem muitas funções e as vezes precisamos de uma delas e não sabemos como faze-la, por isso as suas dicas são ótimas, e bem objetivas.

    Valeuuu, obrigado e parabéns pelo trabalho!

    ResponderExcluir
  11. Excelente conteúdo Ricardo, parabéns pelo Blog!
    Sou Coordenador de Vendas e uso muitas formulas no Excel para trabalhar os dados que recebo, de toda a equipe e enviar a informação individualmente, você acha que aprender Macros me ajudaria nisso, ou seriam outros caminhos?

    ResponderExcluir
    Respostas
    1. Ola Edson, as macros ajudam se a tarefa seguir um padrão,ou seja, se a operação for exatamente igual todas as vezes. Acredito que o melhor caminho é extrair os dados através de tabela dinamica, que é intuitivo e de pouca complexidade.

      Abraços!

      Excluir

Comentário(s):