Quero saber como fornecer uma fórmula concisa para a seguinte fórmula longa na planilha do Excel:
= (A1*A6)+(B1*B6)+(C1*C6)...
Eu uso uma função de soma ou existe outra função para isso? Eu acho que usar o cólon com SUM
função deve ajudar, mas não sei como usá-lo.
Respostas:
Você está procurando a função SUMPRODUCT .
Isso retornará a soma dos produtos dos itens correspondentes em dois (ou mais) intervalos.
Como você pode ver na documentação da Microsoft à qual vinculei, os intervalos não precisam ser de linhas ou colunas únicas (embora devam ter as mesmas dimensões).
SUMPRODUCT pode multiplicar valores de até 255 intervalos diferentes. Por exemplo,
=SUMPRODUCT(A1:C1,A6:C6,A11:C11)
é o mesmo que=A1*A6*A11+B1*B6*B11+C1*C6*C11
.fonte
SUM
A função não funcionará, pois apenas adiciona os elementos. Você precisa multiplicar os valores antes de passar para SUM como=SUM(A1*A6, B1*B6, C1*C6, D1*D6, E1*E6)
Claro que você também pode usar o
=A1*A6 + B1*B6 + C1*C6 + D1*D6 + E1*E6
que resulta no mesmo esforço de digitação queSUM
Existem muitas soluções melhores. Uma maneira é usar a fórmula da matriz . Você pode ver um exemplo exato como o seu por lá:
Para usar a fórmula da matriz no seu caso, você pode digitar (é claro que você precisa alterar o último elemento da matriz de acordo)
e depois pressione Ctrl+ Shift+Enter
A fórmula da matriz é uma ferramenta muito poderosa. No entanto, use-o com cuidado. Toda vez que você precisar editá-lo, não se esqueça de pressionar Ctrl+ Shift+Enter
Também é mais rápido, pois o padrão de acesso já é conhecido. Agora, em vez de fazer 11 cálculos diferentes separadamente, ele pode ser vetorizado e feito em paralelo, utilizando vários núcleos e unidade SIMD na CPU
fonte
MOD
) causarão falhasSUMPRODUCT
e, em seguida, você deverá substituí-lo por uma fórmula Array. Sem mencionar que todas as versões do Office lançadas usaram ainda mais as Matrizes de fórmulas adicionadas como funções oficiais (por exemplo,MAXIFS
no 365). Se a fórmula da sua matriz for lenta, desajeitada e quebrada, você provavelmente precisará otimizar seu código. E, é claro - como o PowerQuery é uma extensão adicional, muitas empresas (por vários motivos) não a incluirão em seu pacote de criação corporativa, tornando-a uma solução inferior para fins comerciais distribuídos.Outra abordagem é colocar em A7 a expressão = A1 * A6 e copiar da maneira que desejar, somando a linha $ 7 $ para obter a resposta final. Ele não faz isso em uma célula como você deseja, mas às vezes é útil ter os produtos intermediários. Eu usei as duas versões. Este parece mais excelente para mim, mas seu gosto pode ser diferente.
fonte
se você colocar a lista de números em colunas em vez de linhas (digamos duas colunas A e B), poderá usar a função = Sumproduct (A: A, B: B) assim. ele fornecerá o produto de quantos números houver nas colunas A e B.
Você pode usar quantas colunas na função Sumproduct precisar
fonte
Se não houver mais nada nas linhas 1 e 6 além do que você deseja
SUMPRODUCT()
obter, use a ideia mencionada neste comentário . No seu caso, conforme descrito na sua pergunta, você usaria=SUMPRODUCT(1:1,6:6)
fonte
SUMPRODUCT(1:1,2:2)
e eu forneci uma resposta com base nesse comentário, elaborando como ele pode ser usado com base na pergunta original e qual seria a limitação para isso.