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
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
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
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 ?