segunda-feira, 2 de janeiro de 2017

Intervalo de banco de dados no LibreOffice Calc

Não é raro de ocorrer que precisemos inserir dados de clientes ou fornecedores em planilhas eletrônicas, e menos raro ainda pessoas sem conhecimento aprofundado em alguns programas de procurarem cadastros na unha, manualmente e desconsiderando funções muitas vezes tão úteis que poderiam economizar muito tempo. Neste tópico apresentaremos um exemplo prático em queremos que após a seleção do nome numa lista “drop-down” numa célula, o LibreOffice Calc retorne o telefone, a cidade e o endereço nas células seguintes.

O presente material tem base no texto elaborado por André Nunes1 para a Revista LibreOffice Magazine, em sua edição de número 10, de abril de 2014. trata-se de uma atualização do que foi abordado por Antunes, para verificar se as funções daquela época funcionam numa versão do programa bem mais recente – e é claro que funciona.
Nós compartilhamos o mesmo sentimento que o primeiro autor e utilizamos aqui a explicação de Antunes: “Quando senti a necessidade de criar um formulário no qual era preciso colocar várias informações de clientes de forma rápida, utilizei a combinação de dois recursos bem legais do Calc, o que me rendeu economia de algumas horas de trabalho de digitação”. De fato, as pessoas não conhecem as funções do LibreOffice Calc e sem ter vontade de conhecer saem por aí atacando o programa e elevando suíte concorrente proprietária, da Microsoft. Por esta razão estamos aqui apresentando funções “desconhecidas”, tanto para testar suas potencialidades para o uso diário, quanto para mostrar aos que torcem o nariz para o Calc o quanto o programa é completo.
A primeira coisa a se fazer, após a montagem da estrutura da planilha de cadastro de clientes (vide figura anterior) é a definição do intervalo de dados. Para começar, vamos definir o que é um intervalo no Calc e para tanto usaremos as palavras de André Antunes: Intervalos são grupamentos de células que recebem um nome, facilitando na hora de utilizar algumas formulas.
Dessa forma, vamos selecionar com o mouse as células que forma a tabela em nossa planilha, sem contar a primeira linha, pois nela constam apenas os títulos das colunas de dados. Assim temos a seleção das células da coluna de Clientes B2 até B6, se bem que podemos indicar mais, afinal podemos posteriormente acrescentar muitos novos dados no cadastro. Por exemplo, pode ficar de B2:B1000.
No entanto um intervalo coerente não poderia conter apenas nomes de clientes. Então, você poderia pensar em seguir sem tirar da seleção, usamos as teclas de direção do teclado e selecionamos as colunas B, C e D, respectivamente, as que contém os números de telefones, cidades e endereços. Mais ou menos certo, pois o intervalo de que estamos falando não funciona assim. Estamos criando intervalos de dados, e não apenas seleção de tabelas.
Devemos selecionar as células de cada coluna (sendo uma coluna por vez) que desejamos definir como intervalo e clicamos no menu Dados > Definir Intervalo....
Em nosso exemplo primeiramente, definiremos o intervalo que contem os nomes, depois os demais: endereços, telefones e cidades de todos os clientes. Para tanto, selecionamos a primeira e última célula da coluna A que contenha os nomes dos clientes, ou ainda as linhas vazias, caso queiramos inserir novos contatos depois. Depois, com a seleção feita clicamos em Dados, na barra de menus, e em Definir Intervalo. Abrir-se-á uma janela em que o intervalo já está selecionado, mas precisamos ainda acrescentar o nome deste intervalo. E para nosso exemplo, chamaremos de “Nome”.
Como dica, é bom que alteremos o final da fórmula para um número maior. Ex: 1000. como mencionamos, um cadastro normalmente tem mais vários contatos acrescentados ao longo do tempo e ter linhas sobrando nunca é ruim, muito pelo contrário.
Lembrando que:
  • o sinal de dólar - $ - serve para marcar o endereço da célula como uma referência fixa,
  • Clientes no início indica o nome da planilha de trabalho.
Agora definiremos mais um intervalo e desta vez englobará toda a tabela. O chamaremos de Tabela. Para finalizar essa parte vamos renomear a planilha, apenas clicando na aba na parte de baixo com o botão direito do mouse, escolhemos a opção renomear e chamaremos de Clientes.
A segunda parte para o uso de um intervalo de dados no Calc consiste na criação de uma lista. Esta é a função que nos permitirá buscar todos os dados cadastrados num intervalo rapidamente com apenas um clique. Para o exemplo, criamos uma outra planilha no mesmo arquivo que denominaremos simplesmente pelo nome de “Pesquisa”.
Selecione a célula onde quer a que a lista, sendo que nesta parte não precisa fazer mais nada, é só criar a nova planilha, escolher uma célula (por exemplo, A2)e depois proceder com um clique no menu Dados>Validação. Isso abrirá uma janela igual a da figura a seguir e não se preocupe em definir intervalo ou coisas difíceis. É bem fácil o que terá que fazer.
Na aba Critérios em Permitir selecione na caixa de seleção a opção de Intervalo de Células” e na seção Origem escolha nome, que foi um dos intervalos criados anteriormente. E para finalizar esta etapa clicamos no botão OK.
A figura a seguir exemplifica bem o que temos na primeira e na segunda ação:
Com tudo feito e dado o OK para confirmar, agora testaremos a célula, clicando nela. Há de se notar que aparecerá uma caixa de seleção e nesta constarão todos os dados (de nomes, que foi o que cadastramos na validação) cadastrados na planilha Clientes.
Para a etapa que se segue precisamos conhecer um pouco a função PROCV, que permite pesquisar valores correspondentes numa lista a parte, ou seja, temos uma tabela que tem nome, telefone, endereço e cidade do cliente na mesma linha e servirá de fonte e noutra planilha, os campos que serão preenchidos puxando os dados daquela original.
O PROCV vai corresponder esses dados conforme a solicitação.
Função base: =PROCV(valor_procurado; matriz_tabela; núm_índice_coluna; procurar_intervalo) onde:
  • PROCV - Nome da função,
  • valor_procurado - Célula que vai ditar a pesquisa a ser feita,
  • matriz_tabela - É toda a tabela de dados que vamos utilizar para fazer a pesquisa (no nosso caso o intervalo tabela vai da célula de A2:D1000),
  • num_índice_coluna - É o número da coluna que contem os dados que queremos mostrar,
  • procurar_intervalo - Se quiser retorno somente se a correspondência for exata, informe o valor “0” (o nosso caso).
Digitamos Telefone em B5, Cidade em B6 e Endereço em B7 e na frente de cada célula, entramos com as fórmulas do PROCV. E feitas as apresentações e lógicas da fórmula, vamos à construção da função PROCV:
  • Em B7 – Telefone =PROCV($B$3;Clientes.$A$2:$D$1000;2;0)
  • Em B8 – Cidade =PROCV($B$3;Clientes.$A$2:$D$1000;3;0)
  • Em B9 – Endereço =PROCV($B$3;Clientes.$A$2:$D$1000;4;0)
Pronto! Ao selecionar um nome na lista, as informações do cliente vão aparecer automaticamente nos campos abaixo. Para finalizar, acrescentamos uma formatação. E o resultado é esse:
Mais um recurso muito interessante do Calc que pode ajudar muito na confecção de formulários repetitivos, num tempo razoavelmente menor e a custo zero.

1Conforme a assinatura do autor na Revista LibreOffice Magazine, André Antunes - Técnico em Infraestrutura e Suporte de TI, estudante do curso de Tecnologia em Análise e Desenvolvimento de Sistemas da Universidade Federal do Paraná. Trabalha na Empresa Ética Soluções em TI localizada em Pinhais-PR, onde desenvolve projetos na área de Infraestrutura e suporte ao usuário final. Grande entusiasta do software livre começou a se interessar pelo assunto a mais ou menos 3 anos.