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
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!
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.
Legal a função, mas não consegui usar.
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
Muito inteligente o código.
Me foi útil aqui em várias planilhas para procurar determinada ocorrência no procv.
Parabéns!
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
.
Como usar essa função? Ela é fundamental para quem usa a função PROCV
Se eu quiser os valores separados com ; maiores que o valor procurado. Como faço?
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
Gente. Taí uma função que falta no excel!
Muito boa a expansão.
Eu adicionei o Procvmúltiplo mas não consegui retornar os VALORES
Teria um exemplo?
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.
Sensacional!!! Muito útil!!!
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.
[…] 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 […]
Não consegui baixar o arquivo PROCV_MULT.XLS, deu erro na página, será que alguém poderia me passar por email, por favor? E-mail: bzsurf@gmail.com
Obrigado!!!
Te mandei o link por email.
pode enviar o arquivo para melariasilva@gmail.com?