0030-Turbinando o PROCV

Criei estas duas funções para atender à limitação do PROCV de só exibir a primeira ocorrência de um valor procurado.
A função PROCVMÚLTIPLO(NomePesquisa; IntervaloPesquisa; IntervaloRetorno) pesquisa um valor num intervalo e retorna todas as ocorrências correspondentes num outro intervalo informado, separadas por ponto e vírgula.
Código:

Function PROCVMÚLTIPLO(NomePesquisa As String, IntervaloPesquisa As Range, IntervaloRetorno As Range) As String
Dim Valor, Nome
Dim k As Integer
Application.Volatile
k = 1
For Each Nome In IntervaloPesquisa
If Nome = NomePesquisa Then
Valor = IntervaloRetorno(k, 1)
PROCVMÚLTIPLO = PROCVMÚLTIPLO & Valor & "; "
End If
k = k + 1
Next Nome
PROCVMÚLTIPLO = Left(PROCVMÚLTIPLO, Len(PROCVMÚLTIPLO) - 2)
End Function

Já a função PROCVVÁRIOS(NomePesquisa; IntervaloPesquisa; IntervaloRetorno;Ocorrencia) utiliza um argumento adicional para determinar o nº da ocorrência correspondente.
Código:

Function PROCVVARIOS(NomePesquisa As String, IntervaloPesquisa As Range, IntervaloRetorno As Range, Ocorrencia As Integer)
Dim Nome
Dim k As Integer, i As Integer
Application.Volatile
k = 1
i = 1
For Each Nome In IntervaloPesquisa
If Nome = NomePesquisa Then
If k = Ocorrencia Then PROCVVARIOS = IntervaloRetorno(i, 1)
k = k + 1
End If
i = i + 1
Next Nome
End Function

Baixe o arquivo com os códigos: PROCV_MULT.XLS

Anúncios

In Excel We Trust

Marcado com: ,
Publicado em Nível: Avançado
15 comentários em “0030-Turbinando o PROCV
  1. Diego Rafael disse:

    Desculpe pela pergunta que pode ser “primária”, mas onde e como devo colocar os códigos das funções apresentadas acima para que o Excel a reconheça?

    Obrigado!

  2. Muito boas as funções… Parabéns… Serão muito úteis no meu dia a dia… Se tiver mais alguma, por favor, mande !!! Abraços.
    Se possível, gostaria de aprender bem como utilizar a função DESLOC. Se tiver algo que facilite o entendimento, conte comigo.

  3. regis disse:

    Legal a função, mas não consegui usar.

  4. kio disse:

    Po show de bola essas dicas, é bom pra agregar mais info nesse site que tem umas planilhas já prontas com graficos e tudo mais:
    http://www.lojaexcel.com.br

  5. Luiz Mesquita disse:

    Muito inteligente o código.
    Me foi útil aqui em várias planilhas para procurar determinada ocorrência no procv.

    Parabéns!

  6. André Santini disse:

    Ola, excelente dica, mas uma pergunta: Eu preciso pesquisar um cliente em uma tabela, e apresentar os dados em outra aba, como você mesmo disse o Procv, só mostrará o primeiro que ele encontrar, se copio a formula mas as linhas abaixo, isso porque o cliente aparece várias vezes na tabela, ele repete o mesmo resultado. A função criada e boa, mas como faço para ele apresentar os dados de outras colunas.
    Código = 33 -> esse cara aparece várias vezes na tabela.
    Nome – DataInicio – Datafim
    XXXX 99/99/99 99/99/99

    Valeu Abraços
    .

  7. Berg disse:

    Como usar essa função? Ela é fundamental para quem usa a função PROCV

  8. Leonardo disse:

    Se eu quiser os valores separados com ; maiores que o valor procurado. Como faço?

  9. Stela disse:

    Olá Adilson
    Boa tarde

    Como eu posso fazer com que esta função apareça um resultado em cada coluna por exemplo?.. Eu tenho uma planilha com todos os nomes que se repetem..mas eu quero fazer o resultado aparecer somente na coluna correspondente.

    Grata,
    Stela

  10. Diego disse:

    Gente. Taí uma função que falta no excel!
    Muito boa a expansão.

  11. Denis Couto disse:

    Eu adicionei o Procvmúltiplo mas não consegui retornar os VALORES

    Teria um exemplo?

  12. Como n’ao permitir que ele repita resultados iguais, por ex ele se tiver jose 2x com 10, ele retornar uma unica vez o valor 10 ou seja a partir exibir somente valores diferentes do localizado.

  13. André Torres disse:

    Sensacional!!! Muito útil!!!

  14. Danilo disse:

    Deem um prêmio para esse cara!!
    Eu usava =cont.se pra saber se repetia uma informação aqui, quando repetia eu incluía manualmente. Agora não mais!!
    Muito obrigado!!

    Pra ficar melhor, tem como incluir essa função pra todas as vezes que eu usar o excel ela já existir? Sempre uso a planilha que mandou como base ou incluo no visual basic na planilha que eu preciso usa-la.

  15. […] UDFs podem ser simples como essa acima ou mais complexas como no artigo 0030-Turbinando o PROCV. Os limites para sua criação são os mesmos da criação de macros utilizando o […]

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Visitas dos usuários
  • 2,077,129

Clique para assinar este blog e receber notificações de novos artigos por email.

Junte-se a 1.537 outros seguidores

Aumente sua interação

Siga-nos do twitter (@usuariosdoexcel).

Acesse o nosso fórum e compartilhe as suas dúvidas.

Curta nossa página no Facebook.

Junte-se ao grupo do LinkedIn.

Visite-nos utilizando o seu smartphone ou tablet.

Recomende este Blog
Visualizar notícias
Site monitorado:
Real Time Web Analytics

Clicky

%d blogueiros gostam disto: