Página 1 de 1

DIATRABALHOTOTAL não funciona com números negativos?

Enviado: 24 Mar 2017 às 10:22
por rogerpenna
Estou fazendo uma planilha que é um mapa de Planos de Lubrificação de diferentes máquinas e veiculos da empresa.

O mapa se move automaticamente para a esquerda conforme a data atual, sempre mostrando 30 dias no futuro, e os dias dos PLs.

Quando chega 50 horas antes do PL, baseado na média de horímetro diário da máquina, a planilha começa a mostra o veículo/máquina e quantos dias faltam para chegar seu PL, sendo que cada dia aparece quantas horas faltam para o horímetro chegar na data calculada, assim como horas passadas após o PL (pois nem sempre as máquinas/veículos podem parar a produção e serem entregues no dia exato)


Primeiro, eu estava fazendo este mapa somente fazendo um simples calculo comparando a data do dia da célula vs data do PL.

Então ficava assim pra uma máquina com 5 horas diárias de média de trabalho

4a (-15), 5a (-10), 6a (-5), sab (PL), dom (5), 2a (10), 3a (15)

etc


Como as máquinas não trabalham fim de semana, o mapa ficava muito errado

O que resolvi então fazer foi usar a formula DIATRABALHOTOTAL. Pra minha surpresa, a formula não funciona direito com números negativos, e fiz vários testes que deram o mesmo resultado.

Como fica agora

4a (-15), 5a (-10), 6a (-5), sab (-5), dom (-5), 2a (PL), 3a (10)

Se eu substituir a condição que mostra o PL qdo o dia da célula é o mesmo do dia do PL, ele vai mostra 5.

Ou seja, enquanto a máquina faz 5 horas diárias, qdo passa do negativo pro positivo o número de -5 para 5, ou seja, teria feito 10 horas diárias.

Ali estou multiplicando o número de dias pela média de horas diárias, mas quem não notou este problema, sugiro que façam um simples teste:

Coloquem uma sequencia de dias. Escolham um dia do meio dessa sequencia para ser a data fixa contra a qual os outros dias serão comparados.

Agora usem a formula, comparando cada dia com aquela data fixa.

Resultado esperado: -3, -2, -1, 0, 1, 2,
Resultado que o Excel dá: -3, -2, 1, 2, 3

Notem que do -2 pulou para 1! Ou seja, 3 dias de diferença.

Agora fica fácil de entender pq dá errado qdo multiplica pelas horas médias trabalhadas por dia:

-3*5 (-15), -2*5 (-10), 1*5 (5), 2*5 (10), 3*5 (15)

Por que diabos diatrabalhototal não retorna os números -1 e 0???

Notem que o dia da PL, que é o mesmo dia da célula, devia aparecer como 0 dias de diferença. Entretanto DiatrabalhoTotal calcula como sendo 1 (UM) dia de diferença. E os dias anteriores, também ficam todos errados, claro, pois começam do -2.


Alguém sabe por que exatamente ocorre isso? Qual a lógica do Excel? E se tem algum modo de corrigir isso?

DIATRABALHOTOTAL não funciona com números negativos?

Enviado: 24 Mar 2017 às 11:20
por rogerpenna
Ok, corrigi isso adicionando uma condição extra

se diadetrabalhototal (data1; data2) -1 <0, então diadetrabalhototal (data1; data2)+1; diadetrabalhototal (data1; data2)-1)

analisando aquela sequencia que o Excel dá

-3, -2, 1, 2, 3

então ele analisa todos esses números -1: -4, -3, 0, 1, 2. Se for menor que 0 (-4 e -3), ele adiciona 1. Sequencia vira -3, -2, 0, 1, 2, 3. Como caso contrário (ou seja, 0 ou maior) ele vai diminuir 1, sequencia vira -3, -2, -1 (0-1), 0 (1-1), 1 (2-1), etc


Mas ainda não entendo pq esse calculo original esquisito dessa função.