Pergunte aqui

Histórico de revisões [voltar]

clique para ocultar/mostrar a revisão 1
Versão inicial

Muitas fatores podem impactar na performance do software. Não temos detalhes sobre a macro e sobre o volume de dados, mas imaginando que os dados sejam obtidos numa tabela ou consulta de banco de dados então considere:

  1. Em matrizes e vetores muito grandes, use formulas matriciais por que é uma formula para milhares de células em vez de milhares de formulas para milhares de células.
  2. Em vez de testar cada célula (=SE()) e e depois somar o teste, use SOMASE, SOMASES, e derivados (MEDIASE, etc...)
  3. Em vez de multiplicar cada valor de duas colunas e depois somar o produto, use SOMARPRODUTO,
  4. Muito pouca gente sabe usar as funções de banco de dados BDSOMA, BDCONTAR, etc... e são mais rápidas que tabelas dinâmicas simples ou triviais. Se o problema é simples, uma TD pode ser um tiro de canhão.
  5. Evite cascatas de SE( SE( SE( SE(...))))), que além de difícil de entender, pode ser substituída por muitas outras funções (dentre elas ESCOLHER())
  6. Você pode tentar acelerar o Calc com processos multifilamentos (multithreading) em Ferramentas - Opções - LibreOffice Calc - Çalcular - Permitir cálculos multifilamentos (experimental)
  7. Se tiver uma placa gráfica de jogos, pode ser que consiga usar o OpenCL para calcular com a GPU dela em Ferramentas - Opções - LibreOffice - OpenCL (eu nunca consegui botar pra funcionar)
  8. Você pode momentaneamente interromper o calculo automático da planilha para fazer modificações, e quando terminar, restabeleça a automação.

Tudo isso acima vale pra a "outra" planilha, diga-se de passagem.