Notifications
Clear all

Atrasos de uma sequencia de caracteres

4 Posts
2 Usuários
0 Reactions
869 Visualizações
(@muttley)
Posts: 57
Trusted Member
Topic starter
 

Boa tarde pessoal

Gostaria de saber a melhor maneira de contar o atraso de uma parte de string e conforme a ordem da planilha,

Exemplo, olhando somente os 4 primeiros caracters das sequencias abaixo (poderia ser os 4 ultimos tb), a proxima ocorrencia soi foi na sequencia 38

01-211212X1X11211
02-X1111X12111121
03-12X11112X11X11
04-111XX222111221
...
..
37-22122111111121
38-211221X111XX22

Gostaria de saber uma maneira de conforme for colocando as sequencias, ele fosse atualizando quanto tempo ela esta atrasada, no exemplo acima
quando coloco a segunda sequencia ele indique ao lado 1 (que quer dizer que está uma atrasada)

01-211212X1X11211
02-X1111X12111121

Quando coloco a terceira linha ele indique que está 2 atrasadas, assim por diante, quando chegar na squencia 38 onde aparece os caracteres
ele atualize para 0 , tanto na linha 38 , quanto na primeira linha que foi quando ele apareceu pela ultima vez

Mando a planilha que conta a ocorrencia, mas não consegui a maneira de achar os atrasos

Toda Ajuda será bem vinda :cry:

 
Postado : 25/02/2016 10:00 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Esses números que inicial cada linha, estão em colunas diferentes?
Por favor siga as regras do forum e poste anexos menores que 2MB e preferencialmente compactados, conforme indicado pelo moderador.

Fico no aguardo do novo modelo.

p.s. Não ficou claro a regra qto a ser os primeiros caracteres e os últimos caracteres... Pode dar um exemplo com os últimos, ou com misturados ?

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

 
Postado : 25/02/2016 10:39 am
(@muttley)
Posts: 57
Trusted Member
Topic starter
 

Desculpe :-(

As sequencias estão em outra coluna,

A principio pensei localizar na linha o numero 1, e depois ir localizando os próximos 1s na coluna encontrada, mas não consegui nada efetivo ainda

 
Postado : 25/02/2016 10:52 am
(@muttley)
Posts: 57
Trusted Member
Topic starter
 

Pessoal

Consegui uma solução parcial, que talvez para voces possa parece um métdo de açougueiro

Criei uma macro, que varre o range e e vai contando as ocorrencias, trata-se
de uma função que recebe a String procurada, O range das ocorrencias, e uma letra
que quando é P ou qq outra coisa procurará nas 4 primeiras posições, e se for U procurará
nas 4 últimas

Function atrasos(valor As String, faixa As Range, POSICAO As String) As Long
Dim cnt As Long
Dim strprov As String
Dim strpos As String

cnt = 0

If UCase(POSICAO) = "U" Then
   strpos = "U"
Else
   strpos = "P"
End If

For i = 2 To faixa.Count
 If strpos = "P" Then
   strprov = Left((faixa.Cells(i, 1).Value), 4)
 Else
    strprov = Right((faixa.Cells(i, 1).Value), 4)
 End If
   If valor = strprov Then
      cnt = 0
   Else
      cnt = cnt + 1
   
   End If
   
Next
 atrasos = cnt
End Function

A planilha está anexa

Agoras gostaria de saber se há uma maneira de retornar todas as sequencias que aquela string ocorreu, sendo que da sequencia estaria numa coluna,
exemplo
a String 2112 ocorreu na primeira ocorrencias, e depois volta a ocorrer na sequencia 38 e depois somente na 173 ....etc
Gostaria de retornar algo assim

"2112" 01 38 173 ......
é possivel retornar atraves de uma função estes dados colunados ?

 
Postado : 26/02/2016 7:17 am