Pode evitar completamente a função de autopreenchimento com fórmulas de Rayray. Basta introduzir a fórmula como normal mas anexar :column
no final de cada referência celular e depois *pressionar Ctrl+Shift+Enter***. A fórmula será então aplicada imediatamente a todas as células da coluna sem arrastar nada
Editar:
Novas versões do Excel utilizarão automaticamente fórmulas de array para preencher quando houver uma nova linha de dados
A partir da actualização de Setembro de 2018 para o Office 365, qualquer fórmula que possa retornar múltiplos resultados irá automaticamente derramar para baixo, ou para as células vizinhas. Esta mudança de comportamento é também acompanhada por várias novas funções de matriz dinâmica. As fórmulas de matriz dinâmica, quer estejam a utilizar funções existentes ou as funções de matriz dinâmica, só precisam de ser introduzidas numa única célula, depois confirmadas premindo Enter. Anteriormente, as fórmulas de matriz herdadas requerem primeiro a selecção de toda a gama de saída, depois a confirmação da fórmula com Ctrl+Shift+Enter. São geralmente referidas como fórmulas CSE.
Orientações e exemplos de fórmulas de array
Se estiver numa versão mais antiga do Excel ou quiser saber mais sobre fórmulas de array então continue a ler
Por exemplo, colocar =B3:B + 2*C3:C
em D3 e Ctrl+Shift+Enter equivale a digitar =B3 + 2*C3
e arrastar para baixo numa tabela a partir da linha 3
Isso é rápido de digitar, mas tem a desvantagem de as células não utilizadas no final (fora da tabela actual) ainda serem calculadas e mostrarem 0. Há uma maneira fácil de esconder os 0s . Contudo, a melhor maneira ainda é limitar o cálculo à última coluna da tabela. Sabendo que numa fórmula de matriz pode usar X3:X101
para aplicar apenas às células de X3 a X101 podemos usar INDIRECT
função para obter o mesmo efeito
& - Introduza =LOOKUP(2, 1/(A:A <> ""), A:A)
em alguma célula fora da tabela para encontrar a ltima célula não em branco na tabela e dê-lhe o nome LastRow
. Em alternativa, utilizar =COUNTA(A3:A) + 2
quando a primeira linha da tabela for 3
& - Depois em vez de B3:B
utilizar =INDIRECT("B3:B" & LastRow)
Por exemplo, se quiser que as células da coluna D contenham os produtos das células em B e C, e a coluna E contenha somas de B e C, em vez de usar D3 = B3*C3
e E3 = B3 + C3
e arrastar para baixo basta colocar as fórmulas abaixo em D3 e E3 respectivamente e pressionar Ctrl+Shift+Enter
=INDIRECT("B3:B" & LastRow) * INDIRECT("C3:C" & LastRow)
=INDIRECT("B3:B" & LastRow) + INDIRECT("C3:C" & LastRow)
A partir de agora ** Sempre que adicionar dados a uma nova linha, a tabela será automaticamente actualizada***
A fórmula Array é muito rápida uma vez que o padrão de acesso aos dados já é conhecido. Agora, em vez de fazer 100001 cálculos diferentes separadamente, podem ser vectorizados e feitos em paralelo , utilizando múltiplos núcleos e unidade SIMD na CPU. Tem também as seguintes vantagens:
& > - Consistência: Se clicar em qualquer uma das células de E2 para baixo, verá a mesma fórmula. Essa consistência pode ajudar a garantir uma maior precisão.
- Segurança: Não é possível sobreescrever um componente de uma fórmula de matriz multi-células. Por exemplo, clique na célula E3 e prima Apagar. Tem de seleccionar toda a gama de células (E2 até E11) e alterar a fórmula de toda a gama, ou deixar a gama como está. Como medida de segurança adicional, tem de premir Ctrl+Shift+Enter para confirmar a alteração da fórmula.
- Tamanho de ficheiro mais pequeno: Pode frequentemente utilizar uma única fórmula de matriz em vez de várias fórmulas intermédias. Por exemplo, a pasta de trabalho usa uma fórmula de matriz para calcular os resultados na coluna E. Se tivesse usado fórmulas padrão (tais como
=C2*D2
, C3*D3
, C4*D4
…), teria usado 11 fórmulas diferentes para calcular os mesmos resultados.
Orientações e exemplos de fórmulas de array
Para mais informações leia
& - Criar uma fórmula de array