Formula para Banco de horas.
Enviado: 14 Jan 2019 às 16:16
por ljrbrasil
Boa tarde!
Tenho a formula a baixo:
=SE(F2="";"";SE(E(F2>="07:55:00"+0;F2<="08:05:00"+0);"08:00";F2))
Ela faz a seguinte leitura:
Se no F2 estiver em branco deixa branco se não e se F2 for maior que "07:55:00" e menor 08:05:00 então considera 08:00
Porem esta formula vale para segunda a sexta no sabado a regra muda para 11:55 a 12:05 gostaaria de acrescentar esta regra.
agluem pode me ajudar?
CONSIDERANDO QUE A COLULA A INFORMA O DIA DA SEMANA.
Re: Formula para Banco de horas.
Enviado: 14 Jan 2019 às 17:39
por Jimmy
Olá,
Supondo que na célula F2 tenha data e hora, as fórmulas seguintes fazer o pedido. Escolha a que melhor te atende.
A primeira compara a hora com 07:55 e 8:05: (fiz indentação e quebra de linhas só pra tormar mais fácil entender)
Código: Selecionar todos=SE(F2="";"";
SE(DIA.DA.SEMANA(F2;2)<=5;
SE( E(MOD(F2;1)>=VALOR.TEMPO("07:55:00");MOD(F2;1)<=VALOR.TEMPO("08:05:00")); INT(F2)+VALOR.TEMPO("08:00:00"); F2);
SE( E(MOD(F2;1)>=VALOR.TEMPO("11:55:00");MOD(F2;1)<=VALOR.TEMPO("12:05:00")); INT(F2)+VALOR.TEMPO("12:00:00"); F2)
)
)
A segunda compara a hora com um hora base, mais ou menos uma tolerância:
Código: Selecionar todos=SE(F2="";"";
SE(DIA.DA.SEMANA(F2;2)<=5;
SE( ABS(MOD(F2;1)-VALOR.TEMPO("08:00:00"))<=VALOR.TEMPO("0:00:05"); INT(F2)+VALOR.TEMPO("08:00:00"); F2);
SE( ABS(MOD(F2;1)-VALOR.TEMPO("12:00:00"))<=VALOR.TEMPO("0:00:05"); INT(F2)+VALOR.TEMPO("12:00:00"); F2)
)
)
Jimmy San Juan
Re: Formula para Banco de horas.
Enviado: 14 Jan 2019 às 18:28
por ljrbrasil
Jimmy San Juan
Peço desculpa eu coloque a formula errada que gostaria de ajustar.
Na verdade não seria na entrada do funcionario e sim na saida.
=SE(H2="";"";SE(E(H2>="16:55:00"+0;H2<="17:05:00"+0);"17:00";H2))
O que eu quero acresentar e se for sabado a formula será a mesma porem com mudança de horario =SE(H2="";"";SE(E(H2>="11:55:00"+0;H2<="12:05:00"+0);"17:00";H2)) pois os funcionarios so trabalham no sabado ate 12:00
Vale lembra que a coluna A ja informa o dia da semana.
Re: Formula para Banco de horas.
Enviado: 15 Jan 2019 às 07:32
por Jimmy
Olá,
Procure entender a fórmula para que tenha versatilidade de usá-la em outras condições.
Fiz em várias linhas apenas para deixar claro suas partes e finalidades. Funciona igual às que tem uma linha só: é so copiar e colocar na célula.
Troque F2 pelo endereço real onde está a data/hora. Se a data estiver em célula diferente da hora, então você tem que adaptar, ou dizer onde esta cada coisa. Para adaptar troque o F2 da segunda linha pelo endereço da célula que contém a data. Os demais F2 se referem à hora, e devem ser também alterados se a hora estiver noutro canto.
=SE(F2="";"";
SE(DIA.DA.SEMANA(F2;2)<=5;
SE( E(MOD(F2;1)>=VALOR.TEMPO("07:55:00");MOD(F2;1)<=VALOR.TEMPO("08:05:00")); INT(F2)+VALOR.TEMPO("08:00:00"); F2);
SE( E(MOD(F2;1)>=VALOR.TEMPO("11:55:00");MOD(F2;1)<=VALOR.TEMPO("12:05:00")); INT(F2)+VALOR.TEMPO("12:00:00"); F2)
)
)
A primeira linha verifica se há algo digitado. Aqui pode-se incluir uma consistência (verificação) se o digitado é realmente uma data/hora, e usar o operador lógico "E" para consistir tanto data quanto hora, se forem separados.
A segunda linha verifica se é dia de semana ou final de semana (resultados entre 6-sábado e 7-domingo). Se for dia de semana (resultados entre 1-segunda e 5 sexta) executa a terceira linha. Se for final de semana executa a quarta, que tem horários distintos da terceira.
Na terceira linha (vale para a quarta também) você tem os campos em azul que são a hora de saída a partir da qual deve ser arredondada para cima, a hora de saída até a qual deve ser arredondada para baixo, e a hora arredondada.
A segunda fórmula que passei tem a mesma estrutura, porém em vez de considerar as hora de saída, considera a hora base (hora do final do turno), a tolerância de 5 minutos (para cima ou para baixo), e a hora arredondada caso esteja dentro da tolerância.
=SE(F2="";"";
SE(DIA.DA.SEMANA(F2;2)<=5;
SE( ABS(MOD(F2;1)-VALOR.TEMPO("08:00:00"))<=VALOR.TEMPO("0:00:05"); INT(F2)+VALOR.TEMPO("08:00:00"); F2);
SE( ABS(MOD(F2;1)-VALOR.TEMPO("12:00:00"))<=VALOR.TEMPO("0:00:05"); INT(F2)+VALOR.TEMPO("12:00:00"); F2)
)
)
Ambas fazem a mesma coisa mas de formas diferentes. Escolha se prefere trabalhar com horário de baixo e de cima, ou com horário base e tolerância. Copie a form escolhida, cole na planilha, altere os endereços F2 para o endereço real que contém data/hora, e altere os horários (em azul nas fórmulas acima).
Se tiver qualquer dúvida, é só perguntar.
Jimmy San Juan
Re: Formula para Banco de horas.
Enviado: 15 Jan 2019 às 14:25
por ljrbrasil
Jimmy San Juan
Primeiramente gostaria de lhe agradece e dizer que a formula funcionou muito bem.
Código: Selecionar todosProcure entender a fórmula para que tenha versatilidade de usá-la em outras condições.
Sempre faço isso pois e importante não só copiar como entender o que esta fazendo.
Código: Selecionar todosSe a data estiver em célula diferente da hora, então você tem que adaptar, ou dizer onde esta cada coisa. Para adaptar troque o F2 da segunda linha pelo endereço da célula que contém a data. Os demais F2 se referem à hora, e devem ser também alterados se a hora estiver noutro canto.
Fiz isso sim pois e estou mandando um exemplo da planilha para voce entender melhor. o fato e que minha coluna A informa o dia da semana a C informa a data e a formula para marcação do ponto com a tolerância para dia de semana e fim de semana é na coluna I fazendo a leitura da informação importada no sistema do coluna H.
Qualquer sugestão ou melhoria na nas formula ou planilha fico grato.
Mas de qualquer forma lhe agradeço de mais.
Re: Formula para Banco de horas.
Enviado: 16 Jan 2019 às 10:18
por Jimmy
Poucas observações:
- A coluna A é o dia da semana da data da coluna C. As fórmulas das colunas K e M usar o dia da semana, logo se referenciam à A. Eu mudaria isso fazendo com que essas fórmulas se referenciem à coluna C, onde está a data. Se fizer dessa forma, não terá problemas caso, por exemplo, mude a fórmula da coluna A para =TEXTO(C2;"ddd"), passando a usar o dia da semana no formato curto (Seg em vez de Segunda-feira).
- A fórmula da coluna A pode ser alterada de =TEXTO(C2;"dddd") para =C2 se você formatar a exibição da coluna A com DDDD.
- A coluna A pode até ser extinta com a unificação das colunas A e D. Basta apagar a coluna A e mudar a formatação das células da C de dd/mm/aaaa para dddd dd/mm/aaaa. Nenhuma fórmula dependente da C seria afetada.
- As fórmulas das colunas K e M não consideram a possibilidade do DOMINGO. Não sei se é proposital ou não, mas parece não ser. Caso não seja, a fórmula seia: =SE(dia.da.semana(C2;2) >=6 ;"00:00:00";"01:00:00"). Se é pra ser apenas sabado mesmo, então a fórmula fica =SE(dia.da.semana(C2;2) =6 ;"00:00:00";"01:00:00"). Na função dia.da.semana, configurada com parâmetro 2, o retorno 6 significa sábado, e 7 domingo.
- A fórmula da coluna N não prevê período trabalhado inferior a período esperado. Quando o período trabalhado é maior que o esperado, ok. Quando não é, não calcula.
Se esta mensagem te ajudou, deixe seu LIKE clicando no ícone OBRIGADO.
Se o problema está resolvido, clique em MARCAR RESOLVIDO
Jimmy San Juan