quinta-feira, 8 de dezembro de 2016

Montando uma planilha para lançamentos contábeis no LibreOffice: parte 1

Certa vez no escritório fui apresentado a uma planilha elaborada no Microsoft Office Excel feita para se lançar registros contábeis, tendo como diferencial a comodidade de ao se digitar um número de histórico, as contas de débito e de crédito já seriam preenchidas. Gostei muito da ideia, que baseava-se na utilização da fórmula PROCV do referido software de planilhas eletrônicas. No entanto vi que a coisa poderia ser melhorada, pois era muito chato ter que toda hora mudar de planilha (aba) para localizar os históricos, afinal, era isso, decorar os números ou imprimir para consultar a cada lançamento novo. Pesquisei em meus cadernos da faculdade e encontrei a caixa de combinação. Montei uma planilha com os mesmos parâmetros, mas com a tal caixa de combinação, em que bastava selecionar o texto e o histórico era informado. Porém, com o passar do tempo descobri o LibreOffice, algo totalmente novo para mim e resolvi criar uma planilha daquele jeito para o novo programa. E aqui está ela.


A planilha funciona com seis planilhas menores: De Digitação, que é onde o sistema é alimentado com os lançamentos; Históricos, que é onde são cadastrados os históricos, que serão por sua vez puxados pela planilha de Digitação; a planilha de Diário, que organiza os dados da digitação em forma de um Livro Diário; o Balancete, que é onde cadastramos as contas, o Balanço, que organiza e sintetiza os dados em forma de Balanço Patrimonial e; a DRE, que organiza os dados em forma de uma Demonstração do Resultado do Exercício.
Essa planilha pode ser baixada clicando Aqui para a versão em ODS (planilha feita no LibreOffice Calc) ou para o MS Office Excel, clicando aqui.
Aqui nós não iremos nos reter às formatações, pois isso varia conforme o gosto do usuário.
Em Digitação criamos as colunas de dados a seguir: Código, Data, Valor, Histórico, Texto do histórico, Complemento, D, Débito, C, Crédito.

Código
Coluna que registrará automaticamente os números dos lançamentos, sendo que cada célula só é preenchida quando o campo de data ou valor forem preenchidos. Para que a célula fique em branco quando a condição não é satisfeita entramos com a sintaxe: =SE(D7>0;1;" "). Simplificando, quando a célula D7 (coluna onde são digitados os valores dos lançamentos a débito e a crédito) tiver número maior que zero, o resultado será “1”, caso contrário – ou seja, para qualquer valor negativo – será em branco. Para a célula de baixo usamos a fórmula =SE(D8>0;1+B7;" "), que somará ao resultado o resultado da célula de cima, assim, fazendo com que automaticamente os valores novos sigam uma ordem crescente.

Data
Não tem nada demais, apenas preenchemos com a data, que deve estar no formato de data completa xx/xx/xxxx (Mês / Data / Ano).

Valor
Também não tem nada de segredo. Basta preencher o valor do lançamento, em forma de numeral e com duas casas decimais.

Histórico
Não tem nenhuma fórmula nessa célula ou coluna, mas o seu preenchimento é fundamental para que as células das colunas seguintes sejam corretamente completadas, bem como todos os relatórios de Balancete, Diário, Balanço e DRE.

Texto do Histórico
Aqui fica o primeiro desafio em fórmulas desta planilha, pois o seu resultado depende da junção de duas funções do Calc (o SE e PROCV) e depende que os dados sejam cadastrados na planilha de Históricos. A sua fórmula é =SE(E7>0;(PROCV($Digitação.E7;$Históricos.$A$2:$F$201;6;0));" ").

Vamos entender melhor para que serve a função dupla, aplicando o entendimento à equação da figura, para facilitar visualmente no entendimento: =SE(E19>0;(PROCV($Digitação.E19;$Históricos.$A$2:$F$201;6;0));" ").
Quando inserimos a função PROCV estamos dizendo para a planilha que queremos que ela procure algum texto numa célula específica ou outra planilha baseando-se num conjunto de uma tabela (sequência de células e colunas) segundo a ordem definida pelo último numeral. No exemplo do quadro acima temos a seguinte situação:
$Digitação.E19: é a célula em que deverá ficar o resultado da função na planilha atual. Aqui, devemos procurar o padrão pelo que está digitado em E19 (onde informamos o número do histórico). O Calc entenderá que se na célula E19 tem o número 33, o resto da equação deverá procurar por 33 e algo relacionado a 33. O $Digitação indica qual a planilha em que se encontra a célula E19, no caso, a planilha (ou aba) de Digitação.
$Históricos.$A$2:$F$201: indica qual é a planilha (no caso, Históricos) e indica qual o intervalo de colunas e células que serão usadas pela função de procura. Na sintaxe aqui, temos que é solicitado ao Calc que este procure alguma coisa que esteja entre as células que englobam o intervalo composto por C (código), D (débito), Coluna 1 (descrição do débito), C (crédito), Coluna 2 (descrição do crédito) e Descrição (o texto propriamente dito do histórico). Uma obrigação para que o PROCV funcione é que a primeira coluna esteja, a partir da segunda linha, em ordem crescente de cima para baixo. No exemplo vale destacar que travamos o intervalo das colunas A (códigos) até F (texto do histórico) e as células de linha 2 a 201, por meio do carácter $ antes de cada valor.

6;0: o último pedaço da sintaxe da função do PROCV traz um numeral, um ponto e vírgula e um zero. O que os valores representam é que, para aquela célula em que digitamos a fórmula deverá sair o resultado da coluna de número x daquele intervalo de dados daquela outra planilha. Tá certo, mas por que 6? Simples, naquele intervalo de dados havia quantas colunas? Vamos contar: código + débito + descrição + crédito + descrição + texto. São 6 (seis) colunas e nós solicitamos à função que procure pela sexta. E qual é a sexta função? A lógica é contar da esquerda para a direita. Assim, queremos um resultado que retornará o conteúdo de uma célula específica na coluna de dados que tem preenchida a descrição do histórico.
E voltando então ao começo da função, no resumo da ópera, temos que solicitamos ao Calc que procure na planilha Históricos ($Históricos), no intervalo A2-F201, na sua sexta coluna ou coluna de número 6 (descrição) um texto que seja comparável ao que foi preenchido na célula E19 e que deverá corresponder ao número da primeira coluna em Histórico.
Assim, em esquema: o sistema deverá procurar na planilha Históricos o texto da sexta coluna que tenha em sua primeira coluna o número 33 que está informado na célula e da planilha Digitação.
É, mas como eu avisei, a fórmula na célula é uma junção de duas funções de LibreOffice Cal, a saber, o SE e o PROCV. Então vamos agora ao Se.
A função Se tem a sintaxe: Se determinado dado numa célula for igual, maior, menor do que alguma outra coisa, há um retorno verdadeiro ou, um retorno falso. Para o caso na figura temos se:
E19>0 = A nossa condição a ser confrontada é que se o conteúdo da célula que tem o número de histórico que preenchemos manualmente for verdadeiramente maior do que zero (exclui-se aqui o menor e o igual), deverá retornar na condição que vem a seguir.
(PROCV(...)) = o preenchimento que confirme a primeira sentença será expresso pelo resultado da função definida em PROCV, mas caso não seja verdadeiro;
“ “ = o resultado será em branco, vazio, nada será preenchido. Caso em E19 esteja em branco, a sentença E19 não será maior que zero, logo, o retorno não sera a função PROCV mas sim, um campo vazio como resultado.
Na próxima postagem daremos continuidade à elaboração da planilha de digitação de lançamentos contábeis e emissão de relatórios, seguindo o decurso normal da planilha Digitação e a inserção das caixas de pesquisa e combinação.