Planilha - Spreadsheet

OpenOffice.org Calc

Uma planilha é um aplicativo de computador para organização, análise e armazenamento de dados em formato tabular . As planilhas foram desenvolvidas como análogos computadorizados das planilhas de contabilidade em papel . O programa opera com dados inseridos nas células de uma tabela. Cada célula pode conter dados numéricos ou de texto, ou os resultados de fórmulas que calculam e exibem automaticamente um valor com base no conteúdo de outras células. Uma planilha também pode se referir a um desses documentos eletrônicos.

Os usuários da planilha podem ajustar qualquer valor armazenado e observar os efeitos nos valores calculados. Isso torna a planilha útil para análises "hipotéticas", pois muitos casos podem ser investigados rapidamente sem recálculo manual. O software de planilha moderno pode ter várias folhas interativas e pode exibir dados como texto e numerais ou na forma gráfica.

Além de executar funções aritméticas e matemáticas básicas , as planilhas modernas fornecem funções integradas para contabilidade financeira comum e operações estatísticas. Cálculos como valor presente líquido ou desvio padrão podem ser aplicados a dados tabulares com uma função pré-programada em uma fórmula. Os programas de planilha também fornecem expressões condicionais, funções para converter entre texto e números e funções que operam em cadeias de texto.

As planilhas substituíram os sistemas baseados em papel em todo o mundo dos negócios. Embora tenham sido desenvolvidos inicialmente para tarefas de contabilidade ou escrituração , agora são amplamente usados ​​em qualquer contexto onde listas tabulares são construídas, classificadas e compartilhadas.

LANPAR, disponível em 1969, foi a primeira planilha eletrônica em mainframe e computadores de compartilhamento de tempo. LANPAR era um acrônimo: LANguage for Programming Arrays at Random. VisiCalc (1979) foi a primeira planilha eletrônica em um microcomputador e ajudou a transformar o computador Apple II em um sistema popular e amplamente utilizado. O Lotus 1-2-3 era a planilha líder quando o DOS era o sistema operacional dominante. O Microsoft Excel agora possui a maior participação de mercado nas plataformas Windows e Macintosh . Um programa de planilha é um recurso padrão de um pacote de produtividade de escritório ; desde o advento dos aplicativos da web , os pacotes de escritório agora também existem na forma de aplicativos da web.

Uma planilha consiste em uma tabela de células organizadas em linhas e colunas e referenciadas pelas localizações X e Y. As localizações X, as colunas, são normalmente representadas por letras, "A," "B", "C" etc., enquanto as linhas são normalmente representadas por números, 1, 2, 3, etc. Uma única célula pode ser referida endereçando sua linha e coluna, "C10". Este conceito eletrônico de referências de células foi introduzido pela primeira vez na LANPAR (Language for Programming Arrays at Random) (co-inventada por Rene Pardo e Remy Landau) e uma variante usada no VisiCalc e conhecida como "notação A1". Além disso, as planilhas têm o conceito de intervalo , grupo de células, normalmente contíguas. Por exemplo, pode-se referir às primeiras dez células na primeira coluna com o intervalo "A1: A10". A LANPAR inovou no cálculo de referência / ordem natural que não reapareceu até o Lotus 123 e o MultiPlan Versão 2 da Microsoft.

Em aplicativos modernos de planilha, várias planilhas, geralmente conhecidas como planilhas ou simplesmente planilhas , são reunidas para formar uma pasta de trabalho . Uma pasta de trabalho é fisicamente representada por um arquivo que contém todos os dados do livro, das planilhas e das células com as planilhas. As planilhas são normalmente representadas por guias que se viram entre as páginas, cada uma contendo uma das planilhas, embora o Numbers mude este modelo significativamente. As células em um livro com várias folhas adicionam o nome da folha à sua referência, por exemplo, "Folha 1! C10". Alguns sistemas estendem essa sintaxe para permitir referências de células a pastas de trabalho diferentes.

Os usuários interagem com as planilhas principalmente por meio das células. Uma determinada célula pode conter dados simplesmente inserindo-os, ou uma fórmula, que normalmente é criada precedendo o texto com um sinal de igual. Os dados podem incluir a sequência de texto hello world, o número 5ou a data 16-Dec-91. Uma fórmula começaria com o sinal de igual =5*3, mas normalmente seria invisível porque o visor mostra o resultado do cálculo, 15neste caso, não a fórmula em si. Isso pode causar confusão em alguns casos.

A principal característica das planilhas é a capacidade de uma fórmula referir-se ao conteúdo de outras células, que podem, por sua vez, ser o resultado de uma fórmula. Para fazer tal fórmula, substitui-se um número por uma referência de célula. Por exemplo, a fórmula =5*C10produziria o resultado da multiplicação do valor na célula C10 pelo número 5. Se C10 mantiver o valor, 3o resultado será 15. Mas C10 também pode conter sua fórmula referindo-se a outras células e assim por diante.

A capacidade de encadear fórmulas é o que dá à planilha seu poder. Muitos problemas podem ser divididos em uma série de etapas matemáticas individuais, que podem ser atribuídas a fórmulas individuais nas células. Algumas dessas fórmulas também podem ser aplicadas a intervalos, como a SUMfunção que soma todos os números dentro de um intervalo.

As planilhas compartilham muitos princípios e características de bancos de dados , mas planilhas e bancos de dados não são a mesma coisa. Uma planilha é essencialmente apenas uma tabela, enquanto um banco de dados é uma coleção de muitas tabelas com relacionamentos semânticos legíveis por máquina . Embora seja verdade que uma pasta de trabalho que contém três planilhas é na verdade um arquivo que contém várias tabelas que podem interagir umas com as outras, ela não possui a estrutura relacional de um banco de dados. Planilhas e bancos de dados são interoperáveis ​​- as planilhas podem ser importadas para os bancos de dados para se tornarem tabelas dentro deles, e as consultas ao banco de dados podem ser exportadas para planilhas para análise posterior.

Um programa de planilha é um dos principais componentes de um pacote de produtividade de escritório , que geralmente também contém um processador de texto , um programa de apresentação e um sistema de gerenciamento de banco de dados . Os programas dentro de um pacote usam comandos semelhantes para funções semelhantes. Normalmente, compartilhar dados entre os componentes é mais fácil do que com uma coleção não integrada de programas funcionalmente equivalentes. Isso foi particularmente uma vantagem em uma época em que muitos sistemas de computadores pessoais usavam telas e comandos em modo de texto em vez de uma interface gráfica de usuário .

História

Planilhas de papel

A palavra "planilha" veio de "espalhar" no sentido de um item de jornal ou revista (texto ou gráfico) que cobre duas páginas opostas, estendendo-se pela página central e tratando as duas páginas como uma única página grande. A palavra composta 'planilha' passou a significar o formato usado para apresentar livros contábeis - com colunas para categorias de despesas na parte superior, faturas listadas abaixo na margem esquerda e o valor de cada pagamento na célula onde está sua linha e as colunas se cruzam - que eram, tradicionalmente, uma "propagação" nas páginas opostas de um livro-razão (livro para manter registros contábeis) ou em folhas de papel grandes (denominado 'papel de análise') dividido em linhas e colunas nesse formato e aproximadamente duas vezes mais largo que o papel comum.

Implementações iniciais

Gerador de relatórios de planilha em lote BSRG

Uma "planilha" em lote é indistinguível de um compilador em lote com dados de entrada adicionados, produzindo um relatório de saída, ou seja , um 4GL ou um programa de computador em lote convencional não interativo. No entanto, esse conceito de planilha eletrônica foi delineado no artigo de 1961 "Budgeting Models and System Simulation", de Richard Mattessich . O trabalho subsequente de Mattessich (1964a, Capítulo 9, Métodos de contabilidade e analíticos ) e seu volume companheiro, Mattessich (1964b, Simulation of the Firm through a Budget Computer Program ) aplicou planilhas informatizadas a sistemas de contabilidade e orçamento (em computadores mainframe programados em FORTRAN IV ). Essas planilhas em lote lidavam principalmente com a adição ou subtração de colunas ou linhas inteiras (de variáveis ​​de entrada), em vez de células individuais .

Em 1962, este conceito de planilha, chamado BCL for Business Computer Language, foi implementado em um IBM 1130 e em 1963 foi portado para um IBM 7040 por R. Brian Walsh na Marquette University , Wisconsin . Este programa foi escrito em Fortran . O compartilhamento de tempo primitivo estava disponível nessas máquinas. Em 1968, o BCL foi portado por Walsh para a máquina de compartilhamento de tempo IBM 360/67 na Washington State University . Era usado para auxiliar no ensino de finanças para estudantes de administração. Os alunos puderam pegar as informações preparadas pelo professor e manipulá-las para representá-las e mostrar as proporções etc. Em 1964, um livro intitulado Business Computer Language foi escrito por Kimball, Stoffells e Walsh e tanto o livro quanto o programa tinham direitos autorais em 1966 e anos mais tarde esse copyright foi renovado.

A Applied Data Resources tinha um pré-processador FORTRAN chamado Empires.

No final dos anos 1960, a Xerox usou o BCL para desenvolver uma versão mais sofisticada para seu sistema de compartilhamento de tempo.

Compilador de planilhas LANPAR

Uma invenção chave no desenvolvimento de planilhas eletrônicas foi feita por Rene K. Pardo e Remy Landau, que em 1970 registrou a patente dos EUA 4.398.249 em um algoritmo de cálculo de ordem natural automática de planilha . Embora a patente tenha sido inicialmente rejeitada pelo escritório de patentes como sendo uma invenção puramente matemática, após 12 anos de recursos, Pardo e Landau ganharam um caso de corte histórico no Tribunal Predecessor do Circuito Federal (CCPA), derrubando o Escritório de Patentes em 1983 - estabelecer que "algo não deixa de se tornar patenteável apenas porque o ponto de novidade está em um algoritmo". No entanto, em 1995, o Tribunal de Apelações dos Estados Unidos para o Circuito Federal decidiu que a patente não era executável.

O software real era chamado LANPAR - LANguage for Programming Arrays at Random. Ele foi concebido e inteiramente desenvolvido no verão de 1969, após a recente graduação de Pardo e Landau na Universidade de Harvard. O co-inventor Rene Pardo lembra que sentiu que um gerente da Bell Canada não deveria depender de programadores para programar e modificar formulários de orçamento, e ele pensou em deixar os usuários digitarem formulários em qualquer ordem e ter um computador eletrônico que calculasse os resultados no ordem certa ("Referência direta / Cálculo de ordem natural"). Pardo e Landau desenvolveram e implementaram o software em 1969.

A LANPAR foi usada pela Bell Canada, AT&T e pelas 18 operadoras de telefonia em todo o país para suas operações orçamentárias locais e nacionais. LANPAR também foi usado pela General Motors. Sua singularidade foi a co-invenção de Pardo incorporando referência direta / cálculo de ordem natural (uma das primeiras linguagens de computador "não procedimentais") em oposição à sequência da esquerda para a direita, de cima para baixo, para calcular os resultados em cada célula que foi usada por VisiCalc , SuperCalc e a primeira versão do MultiPlan . Sem referência direta / cálculo de ordem natural, o usuário tinha que atualizar a planilha até que os valores em todas as células permanecessem inalterados. Uma vez que os valores das células permaneceram constantes, o usuário tinha certeza de que não havia referências de encaminhamento restantes na planilha.

Linguagem de programação de planilha Autoplan / Autotab

Em 1968, três ex-funcionários da empresa de computadores General Electric com sede em Phoenix, Arizona, começaram sua própria casa de desenvolvimento de software . A. Leroy Ellison, Harry N. Cantrell e Russell E. Edwards descobriram-se fazendo um grande número de cálculos ao fazer tabelas para os planos de negócios que estavam apresentando aos capitalistas de risco. Eles decidiram poupar muito esforço e escreveram um programa de computador que produziu suas tabelas para eles. Este programa, originalmente concebido como um utilitário simples para uso pessoal, viria a ser o primeiro produto de software oferecido pela empresa que se tornaria conhecido como Capex Corporation . "AutoPlan" funcionava no serviço de compartilhamento de tempo da GE ; posteriormente, uma versão que rodava em mainframes IBM foi introduzida sob o nome AutoTab . ( National CSS ofereceu um produto semelhante, CSSTAB, que tinha uma base de usuários de compartilhamento moderado no início dos anos 1970. Uma aplicação importante foi a tabulação de pesquisa de opinião.)

Autoplan / AutoTab não era um WYSIWYG interativo programa de planilha, era uma linguagem de script simples para planilhas. Os nomes e rótulos definidos pelo usuário para as linhas e colunas e, em seguida, as fórmulas que definiram cada linha ou coluna. Em 1975, o Autotab-II foi anunciado como estendendo o original a um máximo de " 1.500 linhas e colunas, combinadas em qualquer proporção que o usuário exigir ... "

A GE Information Services, que operava o serviço de compartilhamento de tempo, também lançou seu próprio sistema de planilhas, Financial Analysis Language (FAL), por volta de 1974. Posteriormente, foi complementado por uma linguagem de planilha adicional, TABOL, desenvolvida por um autor independente, Oliver Vellacott no Reino Unido. Tanto o FAL quanto o TABOL foram integrados ao sistema de banco de dados da GEIS, DMS.

Sistema de planejamento e controle financeiro IBM

O IBM Financial Planning and Control System foi desenvolvido em 1976 por Brian Ingham na IBM Canadá. Foi implementado pela IBM em pelo menos 30 países. Ele rodou em um mainframe IBM e foi um dos primeiros aplicativos de planejamento financeiro desenvolvidos com APL que escondiam completamente a linguagem de programação do usuário final. Por meio do sistema operacional VM da IBM , foi um dos primeiros programas a atualizar automaticamente cada cópia do aplicativo conforme novas versões eram lançadas. Os usuários podem especificar relações matemáticas simples entre linhas e colunas. Comparado a qualquer alternativa contemporânea, ele pode suportar planilhas muito grandes. Ele carregava dados reais de planejamento financeiro retirados do sistema de lote legado na planilha de cada usuário mensalmente. Ele foi projetado para otimizar o poder do APL por meio de núcleos de objetos, aumentando a eficiência do programa em até 50 vezes em relação às abordagens de programação tradicionais.

Linguagem de modelagem APLDOT

Um exemplo de uma planilha de "peso industrial" inicial foi o APLDOT, desenvolvido em 1976 na United States Railway Association em um IBM 360/91, em execução no Laboratório de Física Aplicada da Universidade Johns Hopkins em Laurel, MD. O aplicativo foi usado com sucesso por muitos anos no desenvolvimento de aplicativos como modelos financeiros e de custos para o Congresso dos Estados Unidos e para a Conrail . O APLDOT foi apelidado de "planilha" porque analistas financeiros e planejadores estratégicos o usavam para resolver os mesmos problemas que tratavam com blocos de planilhas de papel.

VisiCalc

VisiCalc rodando em um Apple II

Como Dan Bricklin e Bob Frankston implementaram o VisiCalc no Apple II em 1979 e no IBM PC em 1981, o conceito de planilha tornou-se amplamente conhecido no início dos anos 1980. VisiCalc foi a primeira planilha que combinou todos os recursos essenciais dos aplicativos de planilha modernos (exceto para referência direta / recálculo de ordem natural), como interface de usuário interativa WYSIWYG , recálculo automático, status e linhas de fórmula, cópia de intervalo com referências relativas e absolutas, construção de fórmula selecionando células referenciadas. Desconhecendo a LANPAR na época, a revista PC World chamou de VisiCalc a primeira planilha eletrônica.

Bricklin disse ter visto seu professor universitário criar uma tabela de resultados de cálculos em um quadro negro . Quando o professor encontrou um erro, teve que apagar e reescrever tediosamente várias entradas sequenciais na tabela, fazendo com que Bricklin pensasse que poderia replicar o processo em um computador, usando o quadro-negro como modelo para visualizar os resultados das fórmulas subjacentes. Sua ideia se tornou o VisiCalc, o primeiro aplicativo que transformou o computador pessoal de um hobby para entusiastas de computador em uma ferramenta de negócios.

VisiCalc passou a se tornar o primeiro " aplicativo matador ", um aplicativo que era tão atraente que as pessoas compravam um determinado computador apenas para usá-lo. VisiCalc foi em grande parte responsável pelo sucesso do Apple II . O programa foi posteriormente portado para uma série de outros computadores iniciais, principalmente máquinas CP / M , a família Atari de 8 bits e várias plataformas Commodore . No entanto, o VisiCalc continua mais conhecido como um programa Apple II.

SuperCalc

SuperCalc era um aplicativo de planilha publicado pela Sorcim em 1980 e originalmente empacotado (junto com o WordStar) como parte do pacote de software CP / M incluído com o computador portátil Osborne 1. Ela rapidamente se tornou a planilha padrão de fato para CP / M e foi portada para o MS-DOS em 1982.

Lotus 1-2-3 e outras planilhas do MS-DOS

A aceitação do IBM PC após seu lançamento em agosto de 1981 começou lentamente porque a maioria dos programas disponíveis para ele eram traduções de outros modelos de computador. As coisas mudaram drasticamente com o lançamento do Lotus 1-2-3 em novembro de 1982 e o lançamento à venda em janeiro de 1983. Como foi escrito especialmente para o IBM PC, teve um bom desempenho e se tornou o aplicativo matador para este PC. O Lotus 1-2-3 impulsionou as vendas do PC devido às melhorias na velocidade e nos gráficos em comparação com o VisiCalc no Apple II.

O Lotus 1-2-3, junto com seu concorrente Borland Quattro , logo substituiu o VisiCalc. O Lotus 1-2-3 foi lançado em 26 de janeiro de 1983, começou a vender o então mais popular VisiCalc no mesmo ano e por vários anos foi a planilha líder para DOS .

Microsoft Excel

A Microsoft lançou a primeira versão do Excel para Macintosh em 30 de setembro de 1985 e a portou para o Windows, com a primeira versão sendo numerada 2.05 (para sincronizar com o Macintosh versão 2.2) e lançada em novembro de 1987. O Windows 3.x plataformas do início dos anos 1990 possibilitaram que o Excel obtivesse participação de mercado da Lotus. Quando a Lotus respondeu com produtos Windows utilizáveis, a Microsoft havia começado a montar seu pacote Office . Em 1995, o Excel era o líder de mercado, superando o Lotus 1-2-3 e, em 2013, a IBM descontinuou completamente o Lotus 1-2-3.

Planilhas baseadas na web

Software de planilha baseado na web atual notável:

Planilhas de mainframe

  • O Works Records System da ICI desenvolvido em 1974 no IBM 370/145

Outras planilhas

Software de planilha atual notável:

Software de planilha descontinuado:

Outros produtos

Várias empresas tentaram entrar no mercado de planilhas eletrônicas com programas baseados em paradigmas muito diferentes. A Lotus apresentou o que provavelmente é o exemplo de maior sucesso, o Lotus Improv , que teve algum sucesso comercial, principalmente no mundo financeiro, onde seus poderosos recursos de mineração de dados permanecem respeitados até hoje.

O Spreadsheet 2000 tentou simplificar drasticamente a construção da fórmula, mas geralmente não teve sucesso.

Conceitos

Os conceitos principais são os de uma grade de células , chamada de planilha, com dados brutos, chamados valores, ou fórmulas nas células. As fórmulas dizem como calcular mecanicamente novos valores a partir de valores existentes. Os valores são números gerais, mas também podem ser texto puro, datas, meses, etc. Extensões desses conceitos incluem planilhas lógicas. Várias ferramentas para planilhas de programação, visualização de dados, conexão remota de planilhas, exibição de dependências de células, etc. são comumente fornecidas.

Células

Uma "célula" pode ser considerada uma caixa para armazenar dados . Normalmente, uma única célula é referenciada por sua coluna e linha (C2 representaria a célula que contém o valor 30 na tabela de exemplo abaixo). Normalmente, as linhas, representando as variáveis ​​dependentes , são referenciadas em notação decimal começando em 1, enquanto as colunas que representam as variáveis ​​independentes usam uma numeração bijetiva 26-adic usando as letras AZ como numerais. Seu tamanho físico geralmente pode ser adaptado ao seu conteúdo arrastando sua altura ou largura nas interseções da caixa (ou para colunas ou linhas inteiras arrastando os cabeçalhos das colunas ou linhas).

Minha planilha
UMA B C D
01 Vendas 100000 30000 70000
02 Compras 25490 30 200

Uma matriz de células é chamada de planilha ou planilha . É análogo a uma série de variáveis em um programa de computador convencional (embora certos valores imutáveis, uma vez inseridos, possam ser considerados, pela mesma analogia, constantes ). Na maioria das implementações, muitas planilhas podem estar localizadas em uma única planilha. Uma planilha é simplesmente um subconjunto da planilha dividido para maior clareza. Funcionalmente, a planilha opera como um todo e todas as células operam como variáveis ​​globais dentro da planilha (cada variável tendo acesso de 'leitura' apenas, exceto a célula que a contém).

Uma célula pode conter um valor ou uma fórmula , ou pode simplesmente ser deixada em branco. Por convenção, as fórmulas geralmente começam com o sinal = .

Valores

Um valor pode ser inserido no teclado do computador digitando diretamente na própria célula. Como alternativa, um valor pode ser baseado em uma fórmula (veja abaixo), que pode realizar um cálculo, exibir a data ou hora atual ou recuperar dados externos, como uma cotação de ações ou um valor de banco de dados.

A regra de valor da planilha

O cientista da computação Alan Kay usou o termo regra de valor para resumir a operação de uma planilha: o valor de uma célula depende exclusivamente da fórmula que o usuário digitou na célula. A fórmula pode se basear no valor de outras células, mas essas células também são restritas aos dados ou fórmulas inseridos pelo usuário. Não há 'efeitos colaterais' no cálculo de uma fórmula: a única saída é exibir o resultado calculado dentro de sua célula ocupante. Não existe um mecanismo natural para modificar permanentemente o conteúdo de uma célula, a menos que o usuário modifique manualmente o conteúdo da célula. No contexto das linguagens de programação, isso produz uma forma limitada de programação funcional de primeira ordem .

Recálculo automático

Um padrão de planilhas desde a década de 1980, este recurso opcional elimina a necessidade de solicitar manualmente que o programa de planilhas recalcule os valores (atualmente, normalmente a opção padrão, a menos que seja especificamente "desativado" para planilhas grandes, geralmente para melhorar o desempenho). Algumas planilhas anteriores exigiam uma solicitação manual para recalcular, pois o recálculo de planilhas grandes ou complexas geralmente reduzia a velocidade de entrada de dados. Muitas planilhas modernas ainda mantêm essa opção.

O recálculo geralmente requer que não haja dependências circulares em uma planilha. Um gráfico de dependência é um gráfico que possui um vértice para cada objeto a ser atualizado e uma aresta conectando dois objetos sempre que um deles precisa ser atualizado antes do outro. Os gráficos de dependência sem dependências circulares formam gráficos acíclicos direcionados , representações de ordenações parciais (neste caso, através de uma planilha) que podem ser confiáveis ​​para fornecer um resultado definitivo.

Atualização em tempo real

Este recurso refere-se à atualização periódica do conteúdo de uma célula com um valor de uma fonte externa - como uma célula em uma planilha "remota". Para planilhas compartilhadas com base na Web, aplica-se à atualização "imediata" das células que outro usuário atualizou. Todas as células dependentes também devem ser atualizadas.

Célula bloqueada

Depois de inseridas, as células selecionadas (ou a planilha inteira) podem ser opcionalmente "bloqueadas" para evitar a substituição acidental. Normalmente, isso se aplica a células que contêm fórmulas, mas pode se aplicar a células que contêm "constantes", como um fator de conversão de quilograma / libra (2,20462262 com oito casas decimais). Mesmo que células individuais estejam marcadas como bloqueadas, os dados da planilha não são protegidos até que o recurso seja ativado nas preferências de arquivo.

Formato de dados

Uma célula ou intervalo pode ser definido opcionalmente para especificar como o valor é exibido. O formato de exibição padrão é geralmente definido por seu conteúdo inicial, se não for definido anteriormente, de forma que, por exemplo, "31/12/2007" ou "31/12/2007" seria o padrão para o formato de célula de data . Da mesma forma, adicionar um sinal de% após um valor numérico marcaria a célula como um formato de célula de porcentagem . O conteúdo da célula não é alterado por este formato, apenas o valor exibido.

Alguns formatos de células, como "numérico" ou " moeda ", também podem especificar o número de casas decimais .

Isso pode permitir operações inválidas (como fazer a multiplicação em uma célula que contém uma data), resultando em resultados ilógicos sem um aviso apropriado.

Formatação de célula

Dependendo da capacidade do aplicativo de planilha, cada célula (como sua contraparte, o "estilo" em um processador de texto ) pode ser formatada separadamente usando os atributos do conteúdo (tamanho do ponto, cor, negrito ou itálico) ou da célula (borda espessura, sombreamento de fundo, cor). Para ajudar na legibilidade de uma planilha, a formatação da célula pode ser aplicada condicionalmente aos dados; por exemplo, um número negativo pode ser exibido em vermelho.

A formatação de uma célula normalmente não afeta seu conteúdo e, dependendo de como as células são referenciadas ou copiadas para outras planilhas ou aplicativos, a formatação pode não ser carregada com o conteúdo.

Células nomeadas

Uso de variáveis ​​de coluna nomeadas x e y no Microsoft Excel . A fórmula para y = x 2 é semelhante a Fortran e o Gerenciador de nomes mostra as definições de x e y .

Na maioria das implementações, uma célula, ou grupo de células em uma coluna ou linha, pode ser "nomeada", permitindo que o usuário se refira a essas células por um nome em vez de uma referência de grade. Os nomes devem ser exclusivos na planilha, mas ao usar várias planilhas em um arquivo de planilha, um intervalo de células com nome idêntico em cada planilha pode ser usado se for diferenciado pela adição do nome da planilha. Um motivo para esse uso é a criação ou execução de macros que repetem um comando em várias planilhas. Outra razão é que as fórmulas com variáveis ​​nomeadas são prontamente verificadas em relação à álgebra que pretendem implementar (elas se assemelham a expressões Fortran). O uso de variáveis ​​nomeadas e funções nomeadas também torna a estrutura da planilha mais transparente.

Referência de célula

No lugar de uma célula nomeada, uma abordagem alternativa é usar uma referência de célula (ou grade). A maioria das referências de células indicam outra célula na mesma planilha, mas uma referência de célula também pode se referir a uma célula em uma planilha diferente dentro da mesma planilha ou (dependendo da implementação) a uma célula em outra planilha ou um valor de um aplicativo remoto.

Uma referência de célula típica no estilo "A1" consiste em uma ou duas letras que não diferenciam maiúsculas de minúsculas para identificar a coluna (se houver até 256 colunas: A – Z e AA – IV) seguido por um número de linha (por exemplo, no intervalo 1–65536). Qualquer parte pode ser relativa (muda quando a fórmula em que se encontra é movida ou copiada) ou absoluta (indicada com $ na frente da parte em questão da referência de célula). O estilo de referência alternativo "R1C1" consiste na letra R, o número da linha, a letra C e o número da coluna; os números relativos das linhas ou colunas são indicados entre colchetes. A maioria das planilhas atuais usa o estilo A1, algumas fornecendo o estilo R1C1 como opção de compatibilidade.

Quando o computador calcula uma fórmula em uma célula para atualizar o valor exibido dessa célula, as referências de célula nessa célula, nomeando algumas outras células, fazem com que o computador busque o valor da (s) célula (s) nomeada (s).

Uma célula na mesma "planilha" geralmente é tratada como:

=A1

Uma célula em uma página diferente da mesma planilha geralmente é tratada como:

=SHEET2!A1             (that is; the first cell in sheet 2 of the same spreadsheet).

Algumas implementações de planilhas no Excel permitem referências de células para outra planilha (não o arquivo atualmente aberto e ativo) no mesmo computador ou em uma rede local. Também pode se referir a uma célula em outra planilha aberta e ativa no mesmo computador ou rede definida como compartilhável. Essas referências contêm o nome de arquivo completo, como:

='C:\Documents and Settings\Username\My spreadsheets\[main sheet]Sheet1!A1

Em uma planilha, as referências às células são atualizadas automaticamente quando novas linhas ou colunas são inseridas ou excluídas. No entanto, deve-se ter cuidado ao adicionar uma linha imediatamente antes de um conjunto de totais de coluna para garantir que os totais reflitam os valores das linhas adicionais - o que geralmente não ocorre.

Uma referência circular ocorre quando a fórmula em uma célula se refere - direta ou indiretamente por meio de uma cadeia de referências de célula - a outra célula que se refere de volta à primeira célula. Muitos erros comuns causam referências circulares. No entanto, algumas técnicas válidas usam referências circulares. Essas técnicas, depois de muitos recálculos em planilhas, (geralmente) convergem nos valores corretos para essas células.

Intervalos de células

Da mesma forma, em vez de usar um intervalo nomeado de células, uma referência de intervalo pode ser usada. A referência a um intervalo de células é típica da forma (A1: A6), que especifica todas as células no intervalo de A1 a A6. Uma fórmula como "= SUM (A1: A6)" adicionaria todas as células especificadas e colocaria o resultado na célula que contém a própria fórmula.

Lençóis

Nas primeiras planilhas, as células eram uma grade bidimensional simples. Com o tempo, o modelo foi expandido para incluir uma terceira dimensão e, em alguns casos, uma série de grades nomeadas, chamadas folhas. Os exemplos mais avançados permitem operações de inversão e rotação que podem fatiar e projetar o conjunto de dados de várias maneiras.

Fórmulas

Animação de uma planilha simples que multiplica os valores na coluna esquerda por 2 e soma os valores calculados da coluna direita para a célula mais inferior. Neste exemplo, apenas os valores da Acoluna são inseridos (10, 20, 30) e o restante das células são fórmulas. As fórmulas na Bcoluna multiplicam os valores da coluna A usando referências relativas, e a fórmula em B4usa a SUM()função para encontrar a soma dos valores no B1:B3intervalo.

Uma fórmula identifica o cálculo necessário para colocar o resultado na célula em que está contido. Uma célula que contém uma fórmula, portanto, tem dois componentes de exibição; a própria fórmula e o valor resultante. A fórmula normalmente só é mostrada quando a célula é selecionada ao "clicar" com o mouse sobre uma célula específica; caso contrário, contém o resultado do cálculo.

Uma fórmula atribui valores a uma célula ou intervalo de células e normalmente tem o formato:

=expression

onde a expressão consiste em:

Quando uma célula contém uma fórmula, geralmente contém referências a outras células. Essa referência de célula é um tipo de variável. Seu valor é o valor da célula referenciada ou alguma derivação dela. Se essa célula, por sua vez, fizer referência a outras células, o valor dependerá dos valores dessas células. As referências podem ser relativas (por exemplo, A1ou B1:B3), absolutas (por exemplo, $A$1ou $B$1:$B$3) ou linha mista - ou absoluto / relativo em $A1coluna (por exemplo, é absoluto em coluna e absoluto em A$1linha).

As opções disponíveis para fórmulas válidas dependem da implementação da planilha específica, mas, em geral, a maioria das operações aritméticas e operações condicionais aninhadas bastante complexas podem ser realizadas pela maioria das planilhas comerciais de hoje. As implementações modernas também oferecem funções para acessar funções de construção customizada, dados remotos e aplicativos.

Uma fórmula pode conter uma condição (ou condições aninhadas) - com ou sem um cálculo real - e às vezes é usada exclusivamente para identificar e destacar erros . No exemplo abaixo, assume-se que a soma de uma coluna de porcentagens (A1 a A6) é testada para validade e uma mensagem explícita é colocada na célula direita adjacente.

= SE (SOMA (A1: A6)> 100, "Mais de 100%", SOMA (A1: A6))

Outros exemplos:

= IF (AND (A1 <> "", B1 <> ""), A1 / B1, "") significa que se ambas as células A1 e B1 não forem <> vazias "", então divida A1 por B1 e exiba, outro não exibe nada.
= IF (AND (A1 <> "", B1 <> ""), IF (B1 <> 0, A1 / B1, "Divisão por zero"), "") significa que se as células A1 e B1 não estiverem vazias, e B1 não é zero, então divida A1 por B1, se B1 for zero, exiba "Divisão por zero" e não exiba nada se A1 e B1 estiverem vazios.
= IF (OR (A1 <> "", B1 <> ""), "A1 ou B1 mostram texto", "") significa exibir o texto se as células A1 ou B1 não estiverem vazias.

A melhor maneira de construir declarações condicionais é a composição passo a passo seguida por testes de tentativa e erro e refinamento do código.

Uma planilha não precisa conter nenhuma fórmula, caso em que pode ser considerada meramente uma coleção de dados organizados em linhas e colunas (um banco de dados ) como um calendário, horário ou lista simples. Devido à facilidade de uso, formatação e recursos de hiperlinks , muitas planilhas são usadas exclusivamente para esse propósito.

Funções

Uso da função definida pelo usuário sq (x) no Microsoft Excel .

As planilhas geralmente contêm várias funções fornecidas , como operações aritméticas (por exemplo, somas, médias e assim por diante), funções trigonométricas, funções estatísticas e assim por diante. Além disso, geralmente há uma provisão para funções definidas pelo usuário . No Microsoft Excel, essas funções são definidas usando o Visual Basic for Applications no editor do Visual Basic fornecido e essas funções são automaticamente acessíveis na planilha. Além disso, programas podem ser escritos para extrair informações da planilha, executar alguns cálculos e relatar os resultados de volta à planilha. Na figura, o nome sq é atribuído pelo usuário e a função sq é introduzida usando o editor Visual Basic fornecido com o Excel. O Gerenciador de nomes exibe as definições da planilha de variáveis ​​nomeadas x e y .

Sub-rotinas

A sub-rotina no Microsoft Excel grava valores calculados usando x em y .

As funções em si não podem escrever na planilha, mas simplesmente retornar sua avaliação. No entanto, no Microsoft Excel, as sub-rotinas podem gravar valores ou texto encontrados na sub-rotina diretamente na planilha. A figura mostra o código do Visual Basic para uma sub-rotina que lê cada membro da variável de coluna nomeada x , calcula seu quadrado e grava esse valor no elemento correspondente da variável de coluna nomeada y . A coluna y não contém fórmula porque seus valores são calculados na sub-rotina, não na planilha, e simplesmente são escritos.

Planilha remota

Sempre que for feita referência a uma célula ou grupo de células que não se encontram no arquivo da planilha física atual, é considerado acesso a uma planilha "remota". O conteúdo da célula referenciada pode ser acessado na primeira referência com uma atualização manual ou mais recentemente no caso de planilhas baseadas na web, como um valor quase em tempo real com um intervalo de atualização automática especificado.

Gráficos

Gráfico feito em Microsoft Excel

Muitos aplicativos de planilha permitem que gráficos e diagramas (por exemplo, histogramas , gráficos de setores circulares ) sejam gerados a partir de grupos específicos de células que são reconstruídos dinamicamente conforme o conteúdo da célula muda. O componente gráfico gerado pode ser incorporado à planilha atual ou adicionado como um objeto separado. Para criar um histograma do Excel, uma fórmula baseada na função REPT pode ser usada.

Planilhas multidimensionais

No final dos anos 1980 e início dos 1990, surgiram os primeiros Javelin Software e Lotus Improv . Ao contrário dos modelos em uma planilha convencional, eles utilizaram modelos construídos em objetos chamados de variáveis, não em dados em células de um relatório. Essas planilhas multidimensionais possibilitaram a visualização de dados e algoritmos de várias maneiras de autodocumentação, incluindo múltiplas visualizações sincronizadas simultâneas. Por exemplo, os usuários do Javelin podem se mover pelas conexões entre as variáveis ​​em um diagrama enquanto veem as raízes lógicas e os ramos de cada variável. Este é um exemplo do que talvez seja sua principal contribuição do Javelin anterior - o conceito de rastreabilidade da lógica de um usuário ou estrutura do modelo por meio de suas doze visualizações. Um modelo complexo pode ser dissecado e compreendido por outras pessoas que não tiveram nenhum papel em sua criação.

Nesses programas, uma série temporal , ou qualquer variável, era um objeto em si, não uma coleção de células que por acaso aparecem em uma linha ou coluna. As variáveis ​​podem ter muitos atributos, incluindo consciência completa de suas conexões com todas as outras variáveis, referências de dados e notas de texto e imagem. Os cálculos foram realizados nesses objetos, ao contrário de um intervalo de células, portanto, adicionar duas séries temporais as alinha automaticamente no tempo do calendário ou em um período de tempo definido pelo usuário. Os dados eram independentes das planilhas - variáveis ​​e, portanto, os dados não podiam ser destruídos pela exclusão de uma linha, coluna ou planilha inteira. Por exemplo, os custos de janeiro são subtraídos das receitas de janeiro, independentemente de onde ou se ambos aparecem em uma planilha. Isso permite ações usadas posteriormente em tabelas dinâmicas , exceto que a manipulação flexível de tabelas de relatório era apenas um dos muitos recursos suportados por variáveis. Além disso, se os custos fossem inseridos por semana e as receitas por mês, o programa poderia alocar ou interpolar conforme apropriado. Este projeto de objeto permitiu que variáveis ​​e modelos inteiros referissem uns aos outros com nomes de variáveis ​​definidos pelo usuário e para realizar análises multidimensionais e consolidações massivas, mas facilmente editáveis.

Trapeze, uma planilha no Mac, foi além e oferece suporte não apenas às colunas da tabela, mas também aos operadores de matriz.

Planilhas lógicas

As planilhas que têm uma linguagem de fórmula baseada em expressões lógicas , em vez de expressões aritméticas, são conhecidas como planilhas lógicas . Essas planilhas podem ser usadas para raciocinar dedutivamente sobre os valores de suas células.

Problemas de programação

Assim como as primeiras linguagens de programação foram projetadas para gerar impressões de planilhas, as próprias técnicas de programação evoluíram para processar tabelas (também conhecidas como planilhas ou matrizes ) de dados de forma mais eficiente no próprio computador.

Desenvolvimento do usuário final

As planilhas são uma ferramenta popular de desenvolvimento para o usuário final . EUD denota atividades ou técnicas nas quais pessoas que não são desenvolvedores profissionais criam comportamento automatizado e objetos de dados complexos sem conhecimento significativo de uma linguagem de programação. Muitas pessoas acham mais fácil realizar cálculos em planilhas do que escrever o programa sequencial equivalente. Isso se deve a várias características das planilhas.

  • Eles usam relacionamentos espaciais para definir relacionamentos de programa. Os humanos têm intuições altamente desenvolvidas sobre espaços e dependências entre itens. A programação sequencial geralmente requer digitação linha após linha de texto, que deve ser lido lenta e cuidadosamente para ser compreendido e alterado.
  • Eles perdoam, permitindo que resultados parciais e funções funcionem. Uma ou mais partes de um programa podem funcionar corretamente, mesmo se outras partes estiverem inacabadas ou quebradas. Isso torna a escrita e depuração de programas mais fácil e rápida. A programação sequencial geralmente precisa que cada linha e caractere do programa estejam corretos para que um programa seja executado. Um erro geralmente interrompe todo o programa e impede qualquer resultado. Embora essa facilidade de uso seja um benefício para o desenvolvimento de planilhas, geralmente apresenta maior risco de erros.
  • As planilhas modernas permitem notação secundária . O programa pode ser anotado com cores, fontes, linhas, etc. para fornecer dicas visuais sobre o significado dos elementos no programa.
  • As extensões que permitem aos usuários criar novas funções podem fornecer os recursos de uma linguagem funcional .
  • Extensões que permitem aos usuários construir e aplicar modelos do domínio do aprendizado de máquina .
  • As planilhas são versáteis. Com sua lógica booleana e recursos gráficos, até mesmo o projeto de circuitos eletrônicos é possível.
  • As planilhas podem armazenar dados relacionais e as fórmulas da planilha podem expressar todas as consultas de SQL . Existe um tradutor de consulta, que gera automaticamente a implementação da planilha a partir do código SQL.

Programas de planilha

Um "programa de planilha" é projetado para realizar tarefas gerais de computação usando relações espaciais em vez de tempo como o princípio de organização primário.

Freqüentemente, é conveniente pensar em uma planilha como um gráfico matemático , em que os nós são células da planilha e as bordas são referências a outras células especificadas em fórmulas. Isso geralmente é chamado de gráfico de dependência da planilha. As referências entre células podem tirar proveito de conceitos espaciais, como posição relativa e posição absoluta, bem como localizações nomeadas, para tornar as fórmulas da planilha mais fáceis de entender e gerenciar.

As planilhas geralmente tentam atualizar células automaticamente quando elas dependem de mudanças. As primeiras planilhas usavam táticas simples, como avaliar células em uma ordem específica, mas as planilhas modernas calculam seguindo uma ordem de recomputação mínima a partir do gráfico de dependência. As planilhas posteriores também incluem uma capacidade limitada de propagar valores ao contrário, alterando os valores de origem para que uma determinada resposta seja alcançada em uma determinada célula. Porém, como as fórmulas das células da planilha geralmente não são invertidas, essa técnica tem um valor um tanto limitado.

Muitos dos conceitos comuns aos modelos de programação sequencial têm análogos no mundo da planilha. Por exemplo, o modelo sequencial do loop indexado é geralmente representado como uma tabela de células, com fórmulas semelhantes (normalmente diferindo apenas nas células às quais fazem referência).

As planilhas evoluíram para usar linguagens de programação de script como VBA como uma ferramenta de extensibilidade além do que a linguagem de planilha torna mais fácil.

Deficiências

Embora as planilhas representem um grande passo à frente na modelagem quantitativa, elas apresentam deficiências. Suas deficiências incluem a percepção de hostilidade dos endereços de células alfanuméricas.

  • A pesquisa da ClusterSeven mostrou enormes discrepâncias na maneira como as instituições financeiras e entidades corporativas entendem, gerenciam e policiam seus, muitas vezes, vastos bens de planilhas e dados financeiros não estruturados (incluindo arquivos de valores separados por vírgula (CSV) e bancos de dados Microsoft Access). Um estudo no início de 2011 com quase 1.500 pessoas no Reino Unido descobriu que 57% dos usuários de planilhas nunca receberam treinamento formal sobre o pacote de planilhas que usam. 72% disseram que nenhum departamento interno verifica a precisão de suas planilhas. Apenas 13% disseram que a Auditoria Interna revisa suas planilhas, enquanto apenas 1% recebe cheques de seu departamento de risco.
  • As planilhas apresentam problemas significativos de confiabilidade. Estudos de pesquisa estimam que cerca de 94% das planilhas implantadas em campo contêm erros e 5,2% das células em planilhas não auditadas contêm erros.
Apesar dos altos riscos de erro frequentemente associados à autoria e ao uso de planilhas, etapas específicas podem ser tomadas para melhorar significativamente o controle e a confiabilidade, reduzindo estruturalmente a probabilidade de ocorrência de erros em sua origem.
  • A expressividade prática das planilhas pode ser limitada, a menos que seus recursos modernos sejam usados. Vários fatores contribuem para essa limitação. Implementar um modelo complexo em uma base de célula por vez requer atenção tediosa aos detalhes. Os autores têm dificuldade em lembrar os significados de centenas ou milhares de endereços de células que aparecem nas fórmulas.
Essas desvantagens são atenuadas pelo uso de variáveis ​​nomeadas para designações de células e empregando variáveis ​​em fórmulas em vez de localizações de células e manipulações de célula por célula. Os gráficos podem ser usados ​​para mostrar instantaneamente como os resultados são alterados por alterações nos valores dos parâmetros. A planilha pode ficar invisível, exceto por uma interface de usuário transparente que solicita a entrada pertinente do usuário, exibe os resultados solicitados pelo usuário, cria relatórios e possui armadilhas de erro integradas para solicitar a entrada correta.
  • Da mesma forma, as fórmulas expressas em termos de endereços de células são difíceis de manter corretas e difíceis de auditar. A pesquisa mostra que os auditores de planilhas que verificam os resultados numéricos e fórmulas de células não encontram mais erros do que os auditores que verificam apenas os resultados numéricos. Essa é outra razão para usar variáveis ​​nomeadas e fórmulas que empregam variáveis ​​nomeadas.
Especificamente, as planilhas geralmente contêm muitas cópias da mesma fórmula. Quando a fórmula é modificada, o usuário deve alterar cada célula que contém aquela fórmula. Em contraste, a maioria das linguagens de computador permite que uma fórmula apareça apenas uma vez no código e obtenha repetição usando loops: tornando-os muito mais fáceis de implementar e auditar.
  • A alteração de uma dimensão exige uma grande cirurgia. Quando linhas (ou colunas) são adicionadas ou excluídas de uma tabela, é necessário ajustar o tamanho de muitas tabelas posteriores que dependem da tabela que está sendo alterada. No processo, geralmente é necessário mover outras células para abrir espaço para as novas colunas ou linhas e para ajustar as fontes de dados do gráfico. Em planilhas grandes, isso pode consumir muito tempo.
  • Adicionar ou remover uma dimensão é tão difícil que geralmente é necessário recomeçar. A planilha como um paradigma força a pessoa a decidir sobre a dimensionalidade logo no início da criação da planilha, embora seja mais natural fazer essas escolhas depois que o modelo da planilha amadurece. O desejo de adicionar e remover dimensões também surge em análises paramétricas e de sensibilidade.
  • A colaboração na criação de fórmulas de planilhas pode ser difícil quando essa colaboração ocorre no nível de células e endereços de células.

Outros problemas associados às planilhas incluem:

  • Algumas fontes defendem o uso de software especializado em vez de planilhas para alguns aplicativos (orçamento, estatísticas)
  • Muitos produtos de software de planilha, como Microsoft Excel (versões anteriores a 2007) e OpenOffice.org Calc (versões anteriores a 2008), têm um limite de capacidade de 65.536 linhas por 256 colunas (2 16 e 2 8 respectivamente). Isso pode representar um problema para pessoas que usam conjuntos de dados muito grandes e pode resultar em perda de dados. Apesar do tempo passado, um exemplo recente é a perda de COVID-19 positivos nas estatísticas britânicas de setembro e outubro de 2020.
  • Falta de auditoria e controle de revisão . Isso torna difícil determinar quem mudou o quê e quando. Isso pode causar problemas com a conformidade regulatória. A falta de controle de revisão aumenta muito o risco de erros devido à incapacidade de rastrear, isolar e testar as alterações feitas em um documento.
  • Falta de segurança . As planilhas não têm controle sobre quem pode ver e modificar dados específicos. Isso, combinado com a falta de auditoria acima, pode tornar mais fácil para alguém cometer fraude .
  • Como eles são estruturados de forma flexível, é fácil para alguém introduzir um erro , seja acidental ou intencionalmente, inserindo informações no lugar errado ou expressando dependências entre células (como em uma fórmula) incorretamente.
  • Os resultados de uma fórmula (exemplo "= A1 * B1") se aplicam apenas a uma única célula (ou seja, a célula em que a fórmula está localizada - neste caso, talvez C1), embora possa "extrair" dados de muitos outros células e até mesmo datas e horas em tempo real. Isso significa que, para causar um cálculo semelhante em uma matriz de células, uma fórmula quase idêntica (mas residindo em sua própria célula de "saída") deve ser repetida para cada linha da matriz de "entrada". Isso difere de uma "fórmula" em um programa de computador convencional, que normalmente faz um cálculo que se aplica a todas as entradas, por sua vez. Com as planilhas atuais, essa repetição forçada de fórmulas quase idênticas pode ter consequências prejudiciais do ponto de vista de garantia de qualidade e costuma ser a causa de muitos erros de planilha. Algumas planilhas têm fórmulas de matriz para resolver esse problema.
  • Tentar gerenciar o grande volume de planilhas que podem existir em uma organização sem a segurança adequada, trilhas de auditoria, introdução não intencional de erros e outros itens listados acima pode ser opressor.

Embora existam ferramentas integradas e de terceiros para aplicativos de planilha de desktop que tratam de algumas dessas deficiências, o conhecimento e o uso delas são geralmente baixos. Um bom exemplo disso é que 55% dos profissionais do mercado de capitais “não sabem” como suas planilhas são auditadas; apenas 6% investem em uma solução de terceiros

Risco de planilha

Risco de planilha é o risco associado à derivação de um valor materialmente incorreto de um aplicativo de planilha que será utilizado na tomada de uma decisão relacionada (geralmente baseada em números). Os exemplos incluem a avaliação de um ativo , a determinação de contas financeiras , o cálculo de doses de medicamentos ou o tamanho de uma viga de suporte de carga para engenharia estrutural. O risco pode surgir da inserção de valores de dados errôneos ou fraudulentos, de erros (ou alterações incorretas) na lógica da planilha ou da omissão de atualizações relevantes (por exemplo, taxas de câmbio desatualizadas ). Alguns erros de instância única ultrapassaram US $ 1 bilhão. Como o risco da planilha está principalmente vinculado às ações (ou inação) dos indivíduos, ele é definido como uma subcategoria do risco operacional .

Apesar disso, uma pesquisa realizada pela ClusterSeven revelou que cerca de metade (48%) dos executivos de nível c e gerentes seniores em empresas que relatam receitas anuais acima de £ 50 milhões disseram que não havia nenhum controle de uso ou processos manuais mal aplicados sobre o uso de planilhas nas empresas.

Em 2013, Thomas Herndon , um estudante de economia da Universidade de Massachusetts Amherst encontrou grandes falhas de codificação na planilha usada pelos economistas Carmen Reinhart e Kenneth Rogoff em Growth in a Time of Debt , um artigo de jornal de 2010 muito influente. O artigo de Reinhart e Rogoff foi amplamente usado como justificativa para impulsionar os programas de austeridade europeus de 2010-2013.

Veja também

Notas

Referências

links externos