quarta-feira, 4 de janeiro de 2017

Trabalhando com datas no LibreOffice Calc

Qualquer um que trabalha com folha de pagamento ou contas a pagar e a receber sabe que a maioria das obrigações tem seus vencimentos em dias úteis. E isso torna difícil um planejamento mais elaborado em planilhas eletrônicas, uma vez que o sistema não saberia o que seria um feriado para não calculá-lo. Isso não é totalmente verdade e mostraremos isso. Nesse tutorial apresentaremos as soluções do LibreOffice Calc para operações com datas.

O presente tutorial é uma adaptação ao material elaborado por Wagner Ferreira de Souza e publicado na Revista LibreOffice Magazine, em sua edição número 7, de outubro de 20131.
Pessoas que precisam calcular juros ou o valor futuro de um empréstimo ou encargos no pagamento de um boleto podem precisar determinar a diferença de dias entre duas datas. Entre outros casos é preciso calcular o número de dias que um produto ficou em estoque, para se calcular um prazo de armazenamento num ciclo operacional.
Calcular quantos dias há num intervalo entre duas datas: Para começar, vamos imaginar a seguinte situação: a sua empresa adquiriu itens de informática para revenda. São computadores completos, com monitor, teclado, memória, fontes, processador e discos rígidos. Foram comprados em 1° de agosto de 2016 e antes do fim do mês foram todos vendidos, conforme apresentado na planilha a seguir, elaborada pelo departamento de compras para controle de estoque. A saber:
Para o preenchimento da coluna de Tempo de estoque de nossa planilha utilizaremos a função chamada dias360 (ou Day360, caso seu sistema esteja em inglês). Esta função permite calcular quantos dias há num intervalo entre duas datas, sendo que como podemos ver no próprio nome da fórmula, trata de um ano comercial, de 360 dias (12 meses com média de 30 dias cada um).
Na linha E2, digite a fórmula =DAYS360(C2;D2; )2 e pressione a tecla <Enter>. Retornará o número 19, que é a quantidade de dias em que o produto esteve em estoque (do dia 1º ao 20º).
A função é a mesma para os demais produtos, mudando apenas as referências das células, que será atualizada para cada linha a ser inserida. Assim, para a linha do produto mouse usaremos C3 e D3. Mas vamos falar sério, né: a tabela pode ficar melhor com uma indicação após cada resultado numérico. Então vamos criar um meio para indicar que após cada quantidade haja a palavra “dias”. Para tanto, aperte a tecla F2 para editar a fórmula ou vá à barra de fórmulas acima das colunas e após a fórmula digite & “ dias). Apenas para detalhar, entre com o símbolo do “E” comercial, dê espaço, abra aspas, dê mais um espaço, escreva dias e feche aspas.
Agora vamos apresentar mais uma função: a de calcular intervalos de dias entre datas mas considerando apenas os dias úteis.
Calcular total de dias úteis entre duas datas: tomando o mesmo exemplo dos itens para estoque vamos supor que a empresa precise de um controle para seu planejamento de ciclo operacional mas que não envolva finais de semana, contando assim apenas os dias úteis. Neste exemplo, precisamos saber quais são os dias úteis no intervalo entre duas datas.
Para resolver utilizaremos a função: diatrabalhototal3 e como fizemos para os dias em estoque, completaremos com & “ dia”. Assim temos o seguinte:
No mês de agosto, temos 2 sábados e 2 domingos dentro do intervalo do dia 1° ao dia 20 e como havíamos calculado antes um total de 19 dias corridos, deveria retornar algo igual a 19 menos 4, o que resulta em 15 dias úteis dos materiais em estoque.
A função diatrabalhototal inclui o primeiro dia diferente da função dias360, que não o inclui. [Total de dias > 20] - [Dias que não são úteis > 9] = 15 dias.
Uma aplicação muito prática desse função é o cálculo de dias trabalhados por um funcionário diarista dentro de um mês, uma vez que retorna para nós os dias líquidos de fato trabalhados. Vamos supor o exemplo na próxima figura: o primeiro funcionário começou a trabalhar no primeiro dia do mês de agosto até o último.
Se nenhum dos funcionário apresentar falta todos terão trabalhados 23 dias. Mas vamos supor as faltas na figura para contabilização e embora o mês de agosto não tenha feriados, vamos considerar um feriado no dia 23 e um de folga no dia 22:
Como ficou mostrado na figura, calcular o total de dias úteis entre duas datas pode ser obtido segundo a estrutura da função do diatrabalhototal, mas desta vez, após o segundo sinal de ponto e vírgula entramos com o intervalo de datas que deverão ser excluídas do cálculo. Ao final apenas inserimos uma função simples de subtração para retirar ainda as faltas.
Dias úteis até o vencimento de uma data: vamos apresentar agora mais uma função do LibreOffice Calc para nos ajudar em nossos dias trabalhando com datas e dias úteis e o seu nome não poderia ser mais sugestivo: diaútil.
Neste último exemplo, imagine que você fez uma compra no dia 01/08/2013 e o pagamento vencerá após 15 dias. A pergunta é: Qual será a data do vencimento?
Para isso, utilizaremos a função diaútil. Veja a seguir: marcamos 01/01/2016 em A2, 15 em B2 e entramos com a fórmula =DIAÚTIL(A2;B2; ) em C2. Em imagem:
E agora nossa última função deste tutorial a exclusão de feriados.
Função para excluir feriados: Caso queira aplicar a função para excluir os feriados, crie uma coluna com os dias referentes aos feriados, assim como foi feito na fórmula do DIATRABALHOTOTAL, insira o intervalo após o segundo ponto e vírgula) e dê enter. Verá que o resultado aumentará.

1Wagner Ferreira de Souza é Técnico de Suporte em Telecomunicações, Tecnólogo em Redes de Computadores. Trabalha no ramo da informática onde iniciou as atividades ministrando aulas e seguindo com técnico em informática na área de suporte a usuários, infraestrutura, servidores Linux e Windows. Atualmente está na área de telecomunicações.
2Nós poderíamos afirmar que tanto faz escrever dias360 ou day360, mas se o fizéssemos estaríamos incorrendo em erro. O que acontece é que esta versão do LibreOffice está com interface em inglês e caso tentemos colocar dias360 o Calc retornará um erro, pois não entenderá a função. Isso pode ser resolvido simplesmente instalando o idioma em português do Brasil para o Sistema Operacional e LibreOfice, mas optamos por não fazê-lo aqui, apenas para mostrar as diferenças.

3Para facilitar, utilizaremos aqui uma versão do LibreOffice com interface em Português do Brasil. Criamos a planilha num OpenSUSE e agora a estamos editando num CentOS. È mais uma forma para mostrar o quanto o LibreOffice é multiplataforma.