Notifications
Clear all

pesquisar dados em célula com diversos dados

14 Posts
4 Usuários
0 Reactions
2,120 Visualizações
fabio.cmaa
(@fabio-cmaa)
Posts: 0
Estimable Member
Topic starter
 

Bom dia a todos!
 
essa trabalho é novidade, esse modo de pesquisa, pois estaria atribuindo  dentro de uma célula diverso valores como por exemplo:
 
1;2;3;4;5 ou intervalor 1-3;4;5, não sei qual seria a melhor forma do Excel entender que estou tentando pesquisar diversos valores dentro de uma célula, após encontrar todos os valores dentro de uma única célula, ele buscaria dentro de uma uma coluna ou banco, e se caso aqueles valores estivesse dentro do quadro selecionado, iria somando.. segue anexo como exemplo

 
Postado : 20/07/2016 4:49 am
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Olá Fábio!
Se no critério de pesquisa tiver somente números separados por ";", então você pode aplicar a fórmula matricial:

=SOMA(SE(ÉERROS(LOCALIZAR(";"&G2:G11&";";";"&C2&";"));"";H2:H11))

Que deve ser inserida com CTRL+SHIFT+ENTER.

Quanto ao critério separado por hifen ("-"), ainda não pensei um modo de fazer via fórmula, creio que a solução mais eficaz seria via desenvolvimento de uma UDF pelo VBA. Vou pensar mais e qualquer coisa volto a postar aqui.

Abraços!

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 20/07/2016 6:40 am
fabio.cmaa
(@fabio-cmaa)
Posts: 0
Estimable Member
Topic starter
 

Muito obrigado... aguardo um retorno, caso houver a possibilidade de fazer via VBA com intervalos

 
Postado : 20/07/2016 6:46 am
fabio.cmaa
(@fabio-cmaa)
Posts: 0
Estimable Member
Topic starter
 

Bom dia Rafael, favor fazer o teste da formula, pois o mesmo está me trazendo o valor total dos numeros que estão lá, quero que traga apenas o valores dos numero digitado entre ; tipo 1;2;3;8;9...

aguardo....

 
Postado : 20/07/2016 6:56 am
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Insira a fórmula com CTRL+SHIFT+ENTER conforme descrevi.
Abs

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 20/07/2016 7:00 am
fabio.cmaa
(@fabio-cmaa)
Posts: 0
Estimable Member
Topic starter
 

Desculpe-me, muito obrigado, está ajudando bastante no momento... o problema só é quando eu tiver um intervalo de 1-30,35;36;40-78.... terei que digitar um por um entre ;... mas já está servindo

 
Postado : 20/07/2016 7:11 am
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Juntando algumas UDF montei uma lógica que deve lhe atender.
Crie um módulo no arquivo e insira os codigos abaixo:

Function ENTRE(iIncial As Integer, iFinal As Integer)
    Dim sResultado As String
    Dim i As Long
    sResultado = iIncial
    For i = iIncial + 1 To iFinal
        sResultado = sResultado & ";" & i
    Next i
    ENTRE = sResultado
End Function
Function ExtractElement(str, n, sepChar)
    Dim x As Variant
    x = Split(str, sepChar)
    If n > 0 And n - 1 <= UBound(x) Then
        ExtractElement = x(n - 1)
    Else
        ExtractElement = ""
    End If
End Function
Function VALORES(sTexto As String)
    Dim i As Integer
    Dim sTexto2 As String
    Dim sResultado As String
    For i = 1 To VBA.Len(sTexto) - VBA.Len(VBA.Replace(sTexto, ";", "", , , vbTextCompare)) + 1
        sTexto2 = ExtractElement(sTexto, i, ";")
        If VBA.InStr(1, sTexto2, "-", vbTextCompare) > 0 Then
            sTexto2 = ENTRE(ExtractElement(sTexto2, 1, "-"), ExtractElement(sTexto2, 2, "-"))
        End If
        sResultado = sResultado & ";" & sTexto2
    Next i
    VALORES = sResultado & ";"
End Function

Agora na planilha a fórmula matricial (CTRL+SHIFT+ENTER) será:

=SOMA(SE(ÉERROS(LOCALIZAR(";"&G2:G11&";";";"&Valores(C2)&";"));"";H2:H11))

Veja modelo.

Abraços!

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 20/07/2016 8:15 am
(@vbajr10)
Posts: 34
Eminent Member
 

Bom dia!

 
Postado : 20/07/2016 9:05 am
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Olá vbajr10!
Revise seu código, pois há algumas exceções que você não esta levando em conta.
Veja que o inquiridor quer a soma por números e também por intervalos definidor pelo separador "-" (Ex: 1-5 é 1, 2, 3, 4 e 5). Além disso seu código só vai funcionar para números de 1 a 9, quando entra números com mais de 1 algarismo dará errado.
Abs!

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 20/07/2016 9:12 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Fabio

Nos fóruns é proibido manter 2 cadastros, e você postou com 2 cadastros diferentes, e você poderá ser banido por isso.

Também é proibido criar 2 tópicos sobre a mesma dúvida, por isso eu uni teus 2 tópicos

Aguardo esclarecimentos.

[]s

Patropi - Moderador

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 20/07/2016 10:11 am
fabio.cmaa
(@fabio-cmaa)
Posts: 0
Estimable Member
Topic starter
 

bom dia, poderia adicionar mais uma condição ?
se o cod 10117 estiver dentro do intervalo onde eu quero selecionar os números da coluna C e após ir no banco de dados buscar o código da fazenda e os talhões selecionados fazer a soma.
 
notamos que temos diversos código de fazenda, que estão por talhão ... Ao procurar o código da fazenda 10117 (A2) da aba DADOS, ele irar selecionar lá na coluna BANNCO DE DADOS
é como se fosse um SOMASES somar com duas condições.... segue anexo como amostra.

 
Postado : 21/07/2016 5:27 am
fabio.cmaa
(@fabio-cmaa)
Posts: 0
Estimable Member
Topic starter
 

Desculpe-me eu havia entrada no modo VBA errado, como sou novo aqui, não sei excluir ainda....

 
Postado : 21/07/2016 5:49 am
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Segue ai Fábio, proposta de solução utilizando a mesma UDF que propus anteriormente.

Os argumentos de pesquisa que forem somente numero-hifen-número, coloque uma aspas simples antes ou formate as células como texto para que o Excel não interprete como data (Ex: 1-8 deve-se digitar '1-8).

Abs!

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 21/07/2016 6:34 am
fabio.cmaa
(@fabio-cmaa)
Posts: 0
Estimable Member
Topic starter
 

Muito obrigado Rafael, ajudou bastante...

 
Postado : 21/07/2016 9:04 am