Ir para conteúdo

A partir do dia 19/11/2018, o foco do Fórum do BABOO é apenas Windows e Segurança Digital conforme informado no início de 2018.
As áreas que não têm relação com esses dois assuntos foram arquivadas e seus tópicos estão disponíveis para consulta na área Tópicos Antigos.

Mensagem Recomendada

Boa tarde.

Estou montando uma planilha para fazer cálculos de redução de tempo baseada em uma única porcentagem. Mas não estou conseguindo chegar no resultado correto.

Digamos que eu tenha um projeto que levará 62 dias, 16 horas e 43 minutos. Para facilitar, eu converti esse tempo em segundos, que são exatos 5.416.980. Dessa maneira não tenho que digitar uma fórmula grande em todas as células que receberão o resultado. Daí quero reduzir o tempo desse projeto em 250,75% (desculpem a exatidão, mas creio que será preciso).

Consigo chegar ao valor final correto apenas neste projeto, aplicando uma regra de 3. Os outros projetos na planilha saem com o resultado de tempo errado, pois a regra de 3 de um dá uma porcentagem diferente do outro, já que o tempo original é diferente! Ou seja, preciso de uma maneira de usar uma única porcentagem para todos os projetos. Em suma, é isso.

Já tentei diversas fórmulas, como por exemplo, tempo original * (1 - porcentagem) , tempo original -(tempo orginal - porcentagem) , entre outras, mas nenhuma funciona. Eu sei o resultado (23 dias, 19hs, 59mins), mas ele não sai correto na planilha.

Encontrei um site que faz este cálculo, sempre sai o valor correto, mas não consigo "converter" a fórmula que o site usa para uma fórmula no Excel. O código que consta no site é este:
 

function computeBoost()
		{
		var day_in = document.getElementById("day_in").value;
		var hour_in = document.getElementById("hour_in").value;
		var min_in = document.getElementById("min_in").value;
		var sec_in = document.getElementById("sec_in").value;
		var totalTime = toSec(day_in,hour_in,min_in,sec_in);
		var boost1 = document.getElementById("boost1").value;
		var newTime = addBoost(totalTime,boost1);
		var newDay = getDays(newTime);
		var newHour = getHours(newTime,newDay);
		var newMin = getMin(newTime,newDay,newHour);
		var newSec = getSec(newTime,newDay,newHour,newMin);
		document.getElementById("original").innerHTML = "Original Time: " + day_in + "d: " + hour_in + "h: " + min_in + "m: " + sec_in + "s";
		document.getElementById("new").innerHTML = "New Time: " + newDay + "d: " + newHour + "h: " + newMin + "m: " + newSec + "s";
		}
	function toSec(day,hour,min,sec)
		{
		var totalTime = day*86400 + hour * 3600 + min*60 + sec*1;
		return totalTime;
		}
	function addBoost(time,boost)
		{
		var rate = 1 / time;
		var newRate = rate + rate*(boost/100);
		var newTime = 1 / newRate;
		return parseInt(newTime);
		}
	function getDays(time)
		{
		var days = time / 86400;
		return parseInt(days);
		}
	function getHours(time,days)
		{
		var hours = parseInt((time - days*86400)/3600);
		return hours;
		}
	function getMin(time,days,hours)
		{
		var minutes = parseInt((time - days*86400 - hours*3600)/60);
		return minutes;
		}
	function getSec(time,days,hours,minutes)
		{
		var minutes = parseInt(time - days*86400 - hours*3600 - minutes*60);
		return minutes;
		}

Alguma sugestão?

Grato de antemão.


1 minuto pode ser uma eternidade. Depende de que lado do banheiro você está: o de dentro, ou o de fora.

Compartilhar este post


Link para o post
Compartilhar em outros sites
18 horas atrás, Romulo Carlos disse:

Daí quero reduzir o tempo desse projeto em 250,75%

Não entendo como no campo real é possível reduzir algo em mais de 100% :bebado:

Você informa que o tempo do projeto em segundos é 5.416.980  e informa também que após aplicar a tal redução desejada de 250,75% o tempo passou para 23 dias, 19hs, 59mins, que convertido retorna 2.059.140 segundos.

Cálculo da redução com base no tempo original e no tempo reduzido que você informou:
caminho1 ~~~>relação (tempo reduzido) / (tempo original) ~~~> (2.059.140) / (5.416.980) = 0,380126934 ~~~> ou seja, o valor do tempo reduzido do projeto representa 38% do valor original, portanto para obter o percentual da redução ~~~> (1) - (0,380126934) = 0,619873066 ~~~> ou seja, foi aplicada uma redução de 61,9% no valor original

caminho2 ~~~> diferença (tempo original) - (tempo reduzido) ~~~> (5.416.980) - (2.059.140) = 3.357.840 segundos de redução, fazendo agora (redução) / (original) ~~~> (3.357.840) / (5.416.980) = 0,619873066 ~~~ou seja, foi aplicada uma redução de 61,9% no valor original.

Resumo: a redução foi de 61,9%, bem diferente dos 250,75%.

Onde estou errando ?

 


 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado, Osvaldo.

Na verdade, a porcentagem teria que ser reduzida para menos de 100%, como você bem soube. Só que eu não tinha um patamar para converter a porcentagem para os projetos, pois usando a regra de 3, cada projeto retorna uma porcentagem.

Mas consegui descobrir a fórmula num fórum gringo. Agora tá dando resultado correto, independente do tempo inicial. A porcentagem acima de 200% está sendo convertida para menos de 100% e aplicada corretamente. Não tô com a fórmula aqui, pois fiz no serviço, mas de qualquer forma agradeço a atenção.

Bom feriado!


1 minuto pode ser uma eternidade. Depende de que lado do banheiro você está: o de dentro, ou o de fora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×