sexta-feira, 12 de agosto de 2016

Problema Resolvido - DETERMINAR A DURAÇÃO DE UMA TAREFA (Solved Problem - How to determine an activity duration)

Um leitor (Obrigado Denis) precisou de ajuda para determinar a data de conclusão da montagem de uma máquina, sabendo que:
A blog reader (Thanks Denis) asked me for help in determining the date of completion of the assembly of a machine, knowing that:

A duração da montagem é de 30 horas de trabalho.
The duration of the assembling is 30 working hours.

O turno regular é de 8:48 horas, das 8:00 às 17:48, incluindo o intervalo de 1:00 para almoço.
Regular shift is 8:48 hours, from 8:00 to 17:48, including the 1:00 for lunch.

A data de início da montagem é 21/09/2014 10:00.
The start date of the assembly is 21/09/2014 10:00.

Passemos então à demonstração:
A distribuição das 30 horas seria efectuada da seguinte forma:
The 30 hours distribution would be performed as follows:








Início Turno
30:00
Almoço
Fim Turno


21-09-2014 10:00
06:48
01:00
21-09-2014 17:48


22-09-2014 08:00
08:48
01:00
22-09-2014 17:48


23-09-2014 08:00
08:48
01:00
23-09-2014 17:48


24-09-2014 08:00
05:36

24-09-2014 13:36








A montagem da máquina terminaria no dia 24 de Setembro de 2014, às 13:36.
The machine assembly end on September 24, 2014, at 13:36.

Método de cálculo:
Method of calculation:

Em primeiro lugar, vamos converter “8:48” (duração do turno) em valor decimal, aplicando uma rega de três – Se “8:00” é igual a 8, “8:48” será igual a “x”
First, we convert "8:48" (shift duration) in decimal value by applying a simple rule of three - If "8:00" is equal to 8 then "8:48" is equal to "x"

Fórmula - =”8:48” / 8 x “8:00” – a que corresponde o resultado de 8,8
Formula - = "8:48" / 8 x "8:00" - which corresponds to the result of 8.8

Construindo a fórmula:
Building formula:


A
B
C
1
30:00
21 set 2014 10:00
24 set 2014 13:36
2



3




Fórmula em C1 - =B1+(INT(A1*24/8,8)+RESTO(A1*24;8,8)/24)

Formula em C1 - =B1+(INT(A1*24/8.8)+MOD(A1*24,8.8)/24)

segunda-feira, 1 de agosto de 2016

CALCULAR TEMPO ENTRE LOTES DE PRODUÇÃO (Calculating Time Between Production Batches)

Este problema foi apresentado por um leitor e seguidor (Obrigado Maxwell)

This problem was presented by a reader and follower (Thanks Maxwell)

Trata-se de calcular o atraso entre lotes de produção, tendo em consideração um valor tempo definido entre lotes, e realçando os valores tempo entre lotes superiores ao valor pré-definido (neste exemplo - 02:35)

This is to calculate the delay between production batches , considering a set time value between lots, and highlighting the time values ​​between batches greater than the default value (in this example - 02:35 )




1- A fórmula em C6: =B6+$E$3
2- A fórmula em E6: =SE(D6>C6;RESTO(D6-C6;1);RESTO(C6-D6;1))

1- Formula in C6: =B6+$E$3
2- Formula in E6: =IF(D6>C6,MOD(D6-C6,1),MOD(C6-D6,1))


Como sempre, estou disponível para sugestões de melhoria e para ajudar nas questões que eventualmente estejam omissas, através dos comentários no blog ou por mail blog.excelcoisas@gmail.com
Espero que seja útil.


As always, I am available to suggestions for improvement and to help answer questions that are possibly missing through comments on the blog or via email blog.excelcoisas@gmail.com.
Hope that is useful.


domingo, 20 de julho de 2014

CONVERTER HORAS EM DIAS DE TRABALHO (Convert Hours to Workdays)

Converter horas em dias, segundos em minutos, dias em meses ou anos, etc. é muito simples.
Basta mudarmos a formatação do valor que pretendemos.
Por exemplo, se queremos converter 33:00 Horas em dias, só temos que alterar a formatação para dd hh mm.

Convert hours in days, seconds in minutes,  days in months or years, etc.. is very simple. 
You just have to format the cells as wish. 
For example, if you want to convert 33:00 hours on days you only have to change the format to dd hh mm.



Converter horas em dias de trabalho já é um bocadinho mais complexo.
Tendo como exemplo o mesmo valor acima, e tendo por base um dia de trabalho de 8 horas, a conversão teria de resultar em 2 dias e 7 horas.
Aqui se demonstra várias formas de chegar ao mesmo resultado.

Convert hours in working days is a bit more complicated. 
Taking the above example, and based on a 8 hrs working day, the conversion would result in 2 days and 7 hours. 
Here is some ways to get same result. 



Há, porém, um pequeno problema quando se trata de calcular tempo no EXCEL:
O EXCEL utiliza dois sistemas de datas - 1900 e 1904.
O primeiro é o mais utilizado e é também o pré-definido na maior parte dos sistemas operativos. O sistema de 1904 está normalmente associado às versões de EXCEL para APPLE.
Acontece que, quando trabalhamos num ficheiro que nos foi enviado por outrém, podemos ter a surpresa de o cálculo das fórmulas de tempo desse ficheiro não corresponderem aos resultados esperados.
Devemos por isso verificar sempre qual o sistema de datas ativo no sistema de datas que nos é enviado. Se o sistema é diferente do nosso, temos de proceder à correspondente alteração nas opções do EXCEL ou adaptar as fórmulas de tempo (data e hora) incluídas nesse ficheiro.

There is however a small problem when it comes to calculating time in EXCEL: 
EXCEL uses two systems dates - 1900 and 1904. 
The first is the most widely used and is also the default one in most operating systems. The 1904 system is usually associated with versions of EXCEL for APPLE. 
Happens that when you work on a workbook that was sent to you by someone else, you may have the surprise of the calculation formulas of time that file do not match the expected results. 
you should therefore always verify which date system is of activatedin the received workbook. If the system is different from yours, you have to make the corresponding change in EXCEL options or adapt date and time formulas included in that workbook. 

Para saber qual o sistema ativo no seu computador, abra um documento NOVO no Excel, vá depois a opções do Excel > Avançadas > Ao calcular este livro > Verifique se a opção "Utilizar sistema de datas de 1904". Se estiver marcada, então está a usar o sistema de 1904. Se não estiver marcada, então está a utilizar o sistema de 1900 que é o mais utilizado.

To find the active system on your computer, open a NEW workbook in Excel, then go to Excel Options> Advanced> When calculating this workbook> Make sure the "Use 1904 date system". If checked, then you are using the 1904 Date System. If not checked, then the system in using is 1900 Date System, which is the most used. 

Compare aqui as diferenças nas fórmulas usadas para cada um dos sitemas de datas, para convertermos horas em dias de trabalho.


 Here is a comparision of the differences in the formulas used for each date system to convert hours in working days.



Como sempre, estou disponível para sugestões de melhoria e para ajudar nas questões que eventualmente estejam omissas, através dos comentários no blog ou por mail blog.excelcoisas@gmail.com 
Espero que seja útil.


As always, I am available to suggestions for improvement and to help answer questions that are possibly missing through comments on the blog or via email blog.excelcoisas@gmail.com.
Hope that is useful.

quinta-feira, 22 de maio de 2014

CALCULAR HORAS EXTRA, TURNO NOCTURNO, HORAS NEGATIVAS, ETC - Versão 2 (Overtime Calculation, Night Shift, Negative Hours, Etc. - Version 2)

Em resposta a algumas sugestões, apresento um novo modelo com alterações relativas ao cálculo de horas extra, tendo particularmente em consideração o cálculo utilizado em Portugal:
A 1ª hora extra calculada a 125%
As horas extra seguintes a 137.5%

Mais uma vez, o modelo é completamente editável e facilmente adaptável à maioria das situações relacionadas profissionais.
Como sempre, estou disponível para sugestões de melhoria e para ajudar nas questões que eventualmente estejam omissas, através dos comentários no blog ou por mail blog.excelcoisas@gmail.com 
Espero que seja útil.




In response to some suggestions, I present a new model with changes regarding the calculation of overtime, taking into particular account the calculation used in Portugal: The 1st overtime calculated at 125% The following extra hours at 137.5%
Again, the template is fully editable and readily adaptable to most business situations. As always, I am available to suggestions for improvement and to help answer questions that are possibly missing through comments on the blog or via email blog.excelcoisas@gmail.com.

domingo, 24 de novembro de 2013

INSERIR CARIMBO DE TEMPO (Insert a Timestamp)

Em virtude de ter recebido várias solicitações relacionadas com carimbos temporais, achei pertinente a publicação de um artigo sobre o assunto.
Because having received several requests related to timestamps, I found relevant to submit a post with this the subject.
Todos os dias temos necessidade de registar a data e/ou a hora actuais de um evento (agendamentos, registo de despesas, etc.). A estes registos chamam-se carimbos de tempo.
Every day we need to record the date and/or time of a current event (scheduling, expense registration, etc.). To these records we call timestamps.
Todavia, se tivermos de repetir o processo múltiplas vezes, torna-se aborrecido ter de reescrever constantemente a data e a hora.
However, if we repeat the process multiple times, it becomes boring and time consuming having to constantly rewrite the date and time.
Um modo de substituir a introdução manual data e/ou a hora actuais é utilizar as fórmulas HOJE() e AGORA().
A method of replacing the manual input of the current date and/or time is to use existing formulas TODAY() and NOW().
A primeira insere automaticamente a data actual. A segunda, além da data, insere também a hora.
The first automatically inserts the current date. The second enters the current date and time.
Exemplo:
Em A1, inserimos =HOJE(), obteremos a data actual (Ex. 24/11/2013 - podemos formatar a data como quisermos).
Em A2, inserimos =AGORA(), obteremos a data e hora actual (Ex. 24/11/2103 1:55 PM)
Example:
In A1, insert =TODAY(), we get the current date (eg. 11/24/2013 - format date as we wish).
In A2, insert =NOW(), we get the current date and time (eg. 11/24/2103 1:55 PM)
O problema da utilização destas fórmulas é que elas estão constantemente a actualizar o resultado. Ou seja, se no dia seguinte, às 10:00, abrirmos o ficheiro, A1 apresentará a data de 25/11/2013 e A2 terá o valor 25/11/2013 10:00 AM. Não servem por isso para criar registos de tempo que permitam uma análise posterior dos dados.
The problem of the use of these formulas is that they are constantly updating the result. That is, if the next day, at 10:00, we open the file, A1 will display the date of 11/25/2013 and A2 will have the value 11/25/2013 10:00 AM. Therefore they do not serve to create timestamps to allow further analysis of the data.
Para obtermos realmente um carimbo de tempo, temos de utilizar os seguintes atalhos de teclado:
1.    CTRL+SHIFT+; - Insere automaticamente a data actual
2.    CTRL+SHIFT+: - Insere automaticamente a hora actual
3.    CTRL+SHIFT+; ESPAÇO CTRL+SHIFT+: - Insere automaticamente a data e a hora actuais
To obtain a timestamp, we use the following keyboard shortcuts:
1.    CTRL+SHIFT+; - Automatically inserts the current date
2.    CTRL+SHIFT+: - Automatically inserts the current time
3.    CTRL+SHIFT+; SPACE CTRL+SHIFT+: - Automatically inserts the current date and time
Uma forma ainda mais rápida de escrever a data e a hora é substituir o atalho 3 por um atalho de teclado personalizado (ex: CTRL+t) associando-lhe a seguinte macro:
An even faster way to write the date and time is to replace the shortcut 3 for a custom keyboard shortcut (eg CTRL+t) and link the following macro:
Sub CarimboTempo()
Dim CT
'Atalho de Teclado (Keyboard Shortcut): Ctrl+t
CT = Format(Now, "dd/mm/yyyy hh:mm:ss AM/PM") ‘formatar como desejar (format as you wish)
ActiveCell.Select
Selection.NumberFormat = "dd/mm/yyyy hh:mm AM/PM" ‘formatar como desejar (format as you wish)
ActiveCell.Value = CT
End Sub
Onde escrever a macro
1.    Copiar o código acima
2.   Escolher no Friso Programador (*) -> Visual Basic ->



3.   Duplo click na Folha em que pretendemos correr a macro



4.   Colar o código
Como associar a macro a um atalho
5.   Escolher no Friso Programador (ou Ver) -> Macros -> Opções -> inserir CTRL+t
Where to place the macro
1.    Copy the code above
2.    In the Ribbon, choose Developer (*) > Visual Basic
3.    Double click on the sheet in which we intend to run the macro
4.    Paste the code
How to link the macro to a shortcut
5.    In the Ribbon, choose Developer (or View) > Macros > Options > Write CTRL+t



domingo, 28 de julho de 2013

OUTRO EXEMPLO DE CÁLCULO DE HORAS NEGATIVAS (Another Example for Calculating Negative Hours)

Outra questão que me foi colocada recentemente relacionava-se com o cálculo de atrasos numa escala de produção. Neste caso específico, o atraso implicava que o resultado fosse negativo. E o Excel não reconhece directamente valores negativos quando se trata cálculo com unidades de tempo.
Another question I was asked recently was related to the calculation of delays on a production scale. In this particular case, the delay meant that the result was negative. And Excel does not directly recognize negative values ​​when it comes to calculation units of time.

A solução apresentada foi a seguinte:
My solution was as follows:


Fórmula da Célula E6 e seguintes:
= SE(D6>C6;RESTO(D6-C6;1);RESTO(C6-D6;1))
Formula in E6 and below:
= IF(D6>C6,MOD(D6-C6,1);MOD(C6-D6,1))
As células a vermelho realçam os casos em que o resultado é negativo e, por isso, existe um atraso  na escala.
Para que essas células apareçam com fundo vermelho, recorre-se à formatação condicional:
The red cells to enhance the cases in which the result is negative and, therefore, there is a delay in scale.

For these cells appear with red background, makes use of the conditional formatting:
Formatação Condicional / Conditional Format

sábado, 27 de julho de 2013

CALCULAR HORAS ENTRE DUAS DATAS COM UMA CONDIÇÃO (Calculate Hours Between Two Dates with a Condition)

O cálculo com unidades de tempo (horas, dias, etc.) tem sido um dos temas mais recorrentes aqui no blog.

Há alguns dias atrás, puseram-me uma questão interessante. Tratava-se de calcular o número de horas entre duas datas, subtraindo um determinado conjunto de horas (16) a cada dia do intervalo, caso esse intervalo fosse superior a 24 horas.

Apresentei duas soluções para chegar ao mesmo resultado:

Na primeira, utilizei a função SE para criar um conjunto de condições (Tabela 1).
Na segunda, utilizei as funções DATADIF (que já foi objecto de um post - http://exceleoutrascoisas.blogspot.pt/search/label/DATADIF) e TEMPO.


Fórmulas da Tabela 1:
D4 =SE((C4-B4)*24<16;(C4-B4)*24;SE(E((C4-B4)*24>=16;(C4-B4)*24<=24);(C4-B4)*24-16;SE((C4-B4)*24>24;(C4-B4)*24-(ARRED((C4-B4)*24/24;0)*16)))))
- A formatação da célula é 0,00
E4 =(SE((C4-B4)*24<16;(C4-B4)*24;SE(E((C4-B4)*24>=16;(C4-B4)*24<=24);(C4-B4)*24-16;SE((C4-B4)*24>24;(C4-B4)*24-(ARRED((C4-B4)*24/24;0)*16)))))/24 
- A formatação da célula é [hh]:mm

Fórmula da Tabela 2:
D12 =C12-B12-DATADIF(B12;C12;"d")*TEMPO(16;0;0)
- A formatação da célula é [hh]:mm

Time units calculation (hours, days, etc.) has been one of the most frequently issues here in the blog.

A few days ago, someone put me an interesting question. It was abour calculating the number of hours between two dates by subtracting a set of hours (16) in each day in the range if that range was longer than 24 hours.

I have presented two solutions to reach the same result:

In the first one, I used the IF function to create a set of conditions (Table 1).
In the second, I used DATEDIF function (which has been the subject of a post - http://exceleoutrascoisas.blogspot.pt/search/label/DATADIF) and TIME function.



Formulas in Table 1:
D4 =IF((C4-B4)*24<16,(C4-B4)*24,IF(AND((C4-B4)*24>=16,(C4-B4)*24<=24),(C4-B4)*24-16,IF((C4-B4)*24>24,(C4-B4)*24-(ROUND((C4-B4)*24/24,0)*16)))))
- Cell format is 0.00
E4 =(IF((C4-B4)*24<16,(C4-B4)*24,IF(AND((C4-B4)*24>=16,(C4-B4)*24<=24),(C4-B4)*24-16,IF((C4-B4)*24>24,(C4-B4)*24-(ROUND((C4-B4)*24/24,0)*16)))))/24 
- Cell format is [hh]: mm

Formula in Table 2:
D12 = C12-B12-DATEDIF (B12, C12, "d") * TIME (16, 0, 0)
- Cell format is [hh]: mm