Ir ao conteúdo
  • Cadastre-se

Excel ProcV com vários resultados, mostrando na mesma célula


Ir à solução Resolvido por Patropi,

Posts recomendados

  • Membro VIP
  • Solução

Boa tarde @samuk2008

 

Confira na planilha e não se esqueça de habilitar as macros quando acessar a planilha.

Utilizei uma UDF, ou seja, é uma função definida pelo usuário, com VBA, pois o Excel não possui ferramenta nativa que faça isso.

 

Se foi útil, clique em Curtir.

Se a resposta solucionou a dúvida, marque o tópico como Resolvido.(Na minha assinatura tem um link para uma instrução de como proceder).

 

[]s

18_08_19_Concatenar conforme a marca_Patropi.zip

  • Curtir 1
  • Obrigado 2
Link para o post
Compartilhar em outros sites
  • 2 semanas depois...
  • 6 meses depois...
  • Membro VIP

@Matheusr1

 

Seja bem-vindo ao fórum!

 

Foi feito com programação VBA.

 

Pra facilitar anexe um arquivo Excel, demonstrando o resultado esperado, pois cada caso é um caso e você não conseguirá adaptar numa planilha com estrutura diferente.

 

[]s

  • Amei 1
Link para o post
Compartilhar em outros sites
13 horas atrás, Patropi disse:

@Matheusr1

 

Seja bem-vindo ao fórum!

 

Foi feito com programação VBA.

 

Pra facilitar anexe um arquivo Excel, demonstrando o resultado esperado, pois cada caso é um caso e você não conseguirá adaptar numa planilha com estrutura diferente.

 

[]s

 

Segue arquivo.

 

Boa noite,

 

 

A base é a aba GERAL.

image.thumb.png.3ab4f8c7e96194f3646dedfb4ecc54de.png 

Na aba DADOS eu preciso que na coluna K me retorne as cores que estão faltando no estoque atual com base no modelo e tamanho.

EX. MODELO 55 TAMANHO PREMATURO

image.png.683b21cf86d92983eaf220154343a52a.png

 

Mas se faltasse mais cores em estoque ficaria assim

EX MODELO 55 TAMANHO PREMATURO

image.png.b4f08645a3418a03a5ce3d1eccb6499c.png

 

Na coluna P ele retornasse as cores que vão estar zeradas com base na projeção estoque 

EX MODELO 55 TAMANHO PREMATURO

image.png.698a16df0a2e834a124c68f471927a21.png

 

Na coluna Q ele retornasse as corres que não vão estar zeradas com base na projeção estoque - 90dias

EX MODELO 55 TAMANHO PREMATURO

image.png.e88930d485faac9126cae13f864fd0b6.png

 

 

adicionado 0 minutos depois

Muito obrigado desde já!Pasta1.rar

 

image.png

image.png

image.png

image.png

Link para o post
Compartilhar em outros sites
  • Membro VIP

Sugestão: nas colunas K, P e Q coloque os resultados esperados e explique como obteve cada um deles. Indique com exatidão os endereços das células de origem dos dados lançados nos resultados, não basta escrever "Mas se faltasse mais cores em estoque ficaria assim". Por exemplo nesse caso, é preciso indicar como e onde vamos consultar para avaliar se faltam mais cores: planilha, coluna, linha, célula, ...

Link para o post
Compartilhar em outros sites

@osvaldomp Eu consegui usando o código que você escreveu, mas mudei algumas coisas

 

Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, CriteriaTRange As Range, ConditionT As Variant, CriteriaQRange As Range, ConditionQ As Variant, ConcatenateRange As Range, Optional Separator As String = "/") As Variant

'ESSA FORMULA É PARA ENCONTRAR A REFERENCIA EXATA DO QUE ESTAMOS PROCURANDO
'EXEMPLO DE FORMULA
'=@ConcatenateIf(A1:A7;F2;C1:C7;G2;D1:D7;0;C1:C7;" / ")
'EX. 'A1:A7 = ONDE A REFERENCIA DE BUSCA ESTA
'EX. F2 = O QUE DEVE PROCURAR
'EX. B1:B7 = CRITÉRIO 1 DE PROCURA, ONDE DEVE PROCURAR
'EX. G2 = CRITÉRIO 1 DE BUSCA, NESSE EXEMPLO É O QUE TAMBÉM DEVE SER BUSCADO
'EX. D1:D7 = CRITÉRIO 2 DE PROCURA, ONDE DEVE PROCURAR
'EX. 0 = CRITÉRIO 2 DE BUSCA, NESSE EXEMPLO 0 É O QUE DEVE SER BUSCADO
'EX. C1:C7 = É ONDE ESTÃO OS RESULTADOS QUE PODEM SER RETORNADOS
'EX. OPCIONAL = COMO ELE IRA SEPARAR OS RESULTADOS ENCONTRADOS (NESSE EXEMPLO ELE IRA SEPARAR COM /

Dim xResult As String

On Error Resume Next

If CriteriaRange.Count <> ConcatenateRange.Count Then
    ConcatenateIf = CVErr(xlErrRef)
    Exit Function
End If

If CriteriaQRange.Count <> ConcatenateRange.Count Then
    ConcatenateIf = CVErr(xlErrRef)
    Exit Function
End If


For i = 1 To CriteriaRange.Count
    If CriteriaRange.Cells(i).Value = Condition And CriteriaTRange.Cells(i).Value = ConditionT And CriteriaQRange.Cells(i).Value = ConditionQ Then
        xResult = xResult & Separator & ConcatenateRange.Cells(i).Value
    End If
Next i


If xResult <> "" Then
    xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
End If
ConcatenateIf = xResult
Exit Function
End Function

 

EX 1.

image.png.5104df2f1d66c0b6e37156f830cc70c6.png

EX. 2

image.png.6fc8c93c8de50c7a45c266b0c60d84c9.png

 

18_08_19_Concatenar conforme a marca_Patropi.rar

Link para o post
Compartilhar em outros sites
  • mês depois...
Em 18/08/2019 às 16:45, Patropi disse:

Boa tarde @samuk2008

 

Confira na planilha e não se esqueça de habilitar as macros quando acessar a planilha.

Utilizei uma UDF, ou seja, é uma função definida pelo usuário, com VBA, pois o Excel não possui ferramenta nativa que faça isso.

 

Se foi útil, clique em Curtir.

Se a resposta solucionou a dúvida, marque o tópico como Resolvido.(Na minha assinatura tem um link para uma instrução de como proceder).

 

[]s

18_08_19_Concatenar conforme a marca_Patropi.zip 12 kB · 17 downloads

Amigo,

 

Consigo fazer isto utilizando também Procv?

 

Essa é a fórmula: PROCV(A2;Dados!A:N;10;0)

 

Tenho uma lista com várias colunas e várias linhas, e algumas linhas repetem o número do pedido, mas tem o nome do produto diferente.

 

Tabela de resultados (Negócios)

image.thumb.png.e24ab69a0edeef48b9fffc7f2f5070db.png

 

 

Tabela de dados (Dados)

image.thumb.png.638d999984c19e73ea5932bccb361a4d.png

 

Note que eu tenho um número de pedido com 4 descrições diferentes na planilha de dados. Preciso que ao preencher a célula A2 na planilha negócios, retorne o valor de todas as descrições na O2. 

Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
  • Quem está navegando aqui   0 membros estão online

    Nenhum usuário registrado visualizando esta página.



Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!