Você pode evitar o recurso de preenchimento automático completamente com fórmulas de matriz . Basta digitar a fórmula como normal, mas acrescentar :column
no final de cada referência de célula e pressionar Ctrl+ Shift+Enter . A fórmula será aplicada imediatamente a todas as células da coluna sem arrastar nada
Editar:
Versões mais recentes do Excel usarão automaticamente fórmulas de matriz para preencher quando houver uma nova linha de dados
A partir da atualização de setembro de 2018 para o Office 365, qualquer fórmula que possa retornar vários resultados os espalhará automaticamente para baixo ou para células vizinhas. Essa mudança de comportamento também é acompanhada por várias novas funções de matriz dinâmica. As fórmulas de matriz dinâmica, estejam elas usando funções existentes ou as funções de matriz dinâmica, só precisam ser inseridas em uma única célula e confirmadas pressionando Enter. As fórmulas de matriz herdadas anteriores exigem primeiro a seleção de todo o intervalo de saída e a confirmação da fórmula com Ctrl+ Shift+ Enter. Eles são comumente referidos como fórmulas CSE.
Diretrizes e exemplos de fórmulas de matriz
Se você estiver em uma versão mais antiga do Excel ou quiser saber mais sobre fórmulas de matriz, continue lendo
Por exemplo, inserir =B3:B + 2*C3:C
D3 e Ctrl+ Shift+ Enterequivale a digitar =B3 + 2*C3
e arrastar todo o caminho em uma tabela que começa na linha 3
É rápido de digitar, mas tem a desvantagem de que as células não utilizadas no final (fora da tabela atual) ainda são calculadas e mostram 0. Existe uma maneira fácil de ocultar os 0s . No entanto, a maneira ainda melhor é limitar o cálculo à última coluna da tabela. Sabendo que em uma fórmula de matriz você pode usar X3:X101
para aplicar apenas às células de X3 a X101, podemos usar a INDIRECT
função para obter o mesmo efeito
- Digite
=LOOKUP(2, 1/(A:A <> ""), A:A)
alguma célula fora da tabela para encontrar a última célula que não esteja em branco na tabela e nomeie-a LastRow
. Como alternativa, use =COUNTA(A3:A) + 2
quando a primeira linha da tabela for 3
- Então, em vez de
B3:B
usar=INDIRECT("B3:B" & LastRow)
Por exemplo, se você deseja que as células na coluna D contenham os produtos das células em B e C, e a coluna E contém 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 você adicionar dados a uma nova linha, a tabela será atualizada automaticamente
A fórmula da matriz é muito rápida, pois o padrão de acesso a dados já é conhecido. Agora, em vez de realizar 100001 cálculos diferentes separadamente, eles podem ser vetorizados e feitos em paralelo , utilizando vários núcleos e unidade SIMD na CPU. Ele também tem as vantagens abaixo:
- Consistência: se você clicar em qualquer uma das células do E2 para baixo, verá a mesma fórmula. Essa consistência pode ajudar a garantir maior precisão.
- Segurança: você não pode substituir um componente de uma fórmula de matriz com várias células. Por exemplo, clique na célula E3 e pressione Excluir. Você deve selecionar o intervalo inteiro de células (E2 a E11) e alterar a fórmula para toda a matriz ou deixar a matriz como está. Como medida de segurança adicional, você deve pressionar Ctrl+ Shift+ Enterpara confirmar a alteração na fórmula.
- Tamanhos de arquivo menores: muitas vezes você pode usar uma única fórmula de matriz em vez de várias fórmulas intermediárias. Por exemplo, o livro utiliza uma matriz de fórmula para calcular os resultados na coluna E. Se tivesse usado fórmulas padrão (tais como
=C2*D2
, C3*D3
, C4*D4
...), que teria usado 11 fórmulas diferentes para calcular os mesmos resultados.
Diretrizes e exemplos de fórmulas de matriz
Para mais informações, leia