Bom dia, galera do Planilhando.
Vim com um problema que foi muito bem resolvido pelo noss amigo, Fernando Fernandes, no tópico http://www.planilhando.com.br/forum/viewtopic.php?f=20&t=8189.
A minha dúvida no tópico anterior era de como destacar células duplicadas a partir da segunda ocorrência. Minha planilha estava destacando todas as ocorrências duplicadas, só que com a primeira ocorrência. Aí, eu dei um jeito e funcionou com um
=SE(CONT.SE($A$1:A;A)=1;A***;"Duplicado")
.
Daí, tive uma outra situação pesada para ser resolvida. Essa formula ia destacar apenas por ocorrência na ordem em que se encontrava. Mas eu precisava destacar a primeira incidência de um ITEM de acordo com uma data.
O Fernando conseguiu resolver muito bem a questão:
=SE(MAIOR(($A$2:$A$1001*($B$2:$B$1001=$B2));CONT.SE($B$2:$B$1001;$B2))&$B2=$A2&$B2;"ITEM NOVO";ÍNDICE($C$2:$C$1001;CORRESP(MAIOR(($A$2:$A$1001*($B$2:$B$1001=$B2));CONT.SE($B$2:$B$1001;$B2))&$B2;$A$2:$A$1001&$B$2:$B$1001;0);1))
http://www.planilhando.com.br/forum/download/file.php?id=8633
Funcionou. Minha cabeça deu TILT na hora ao tentar ler a fórmula.
Daí eu fui analisando a fórmula toda e consegui entender como funciona a ideia. Na medida do possível. Pois sou iniciante.
E agora, pra me sacanear, o chefe pediu que eu busque o status anterior ao atual.
Tá. Daí começou a queimar a cabeça de novo...
-----------------------------------------------------------------------------------------
Vamos dizer que temos 5 registros.
com data crescente, mesmo
01.01.2013 - Item_A - Status_1
02.01.2013 - Item_B - Status_2
03.01.2013 - Item_C - Status_3
04.01.2013 - Item_D - Status_4
05.01.2013 - Item_E - Status_5
Digamos que a data é a coluna A, item é a coluca B e status a C. Logo...
Na fórmula anterior, vemos que ele faz uma busca a data e compara com a atual. Se for igual, é um item novo, se não, ele faz uma busca e trás o status que está na data mais antiga.
SE a menor data for igual a data atual (que seria a de origem), isso é porque é um item novo.
=SE(MAIOR(($A$1:$A$5*($B$1:$B$5=$B1));CONT.SE($B$1:$B$5;$B1))&$B1=$A1&$B1;"Novo item"; ....)
se o maior valor encontrado na função MAIOR, concatenado com B1 = a mesma data concatenado com B1, é um novo item.
CONT.SE($B$1:$B$5;$B1)
o CONT.SE vai trazer como resultado (seguindo o exemplo fictício apresentado anteriormente) a data mais antiga.
Visto que, seria
CONT.SE(de'01.01.2013':até'05.01.2013';encontre o 5º valor mais alto).
e seria 01.01.2013
E, SE 01.01.2013_Item1 for igual à 01.01.2013_Item1, é pq este é um item novo.
...
Tranquilo?
Mas para encontrar sempre o item anterior de cada ocorrência..
o valor k da fórmula =MAIOR(matriz,k) deve ser variável.
Tomando como exemplo o item anterior, que tem 5 registros, ele deveria buscar, para o Item_E, o Status_4.
Então, o MAIOR poderia ter o valor k sendo 2, para que busque o segundo valor mais alto.
Mas como fazer pra, automaticamente, o Item_D buscar o Status_3 ?
É aí que minha cabeça travou.
E os valores que aparecerem só uma vez? Não poderão ser calculados com o k sendo 2.
Ai ai ai... será que consegui explicar direito?
Se vocês baixarem o arquivo em anexo, poderão ver que tem as ocorrências em ordem de posição, da mais antiga.. e estou procurando agora, a fórmula pra trazer sempre a anterior de cada uma.
T__T
Postado : 24/05/2013 8:26 am