Existe uma fórmula concisa do Excel para calcular (A1 * A6) + (B1 * B6) + (C1 * C6)…?

46

Eu quero saber como dar 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 sum ou há outra função para isso? Acho que usar os dois pontos com função SUM deve ajudar, mas não sei como usá-lo.

    
por user28219 19.08.2018 / 16:24

5 respostas

110

Você está procurando o SUMPRODUCT fun�o.

=SUMPRODUCT(A1:C1,A6:C6)

Isso retornará a soma dos produtos dos itens correspondentes em dois (ou mais) intervalos.

Como você pode ver na documentação da Microsoft à qual eu estava vinculado, os intervalos não precisam ser linhas únicas ou colunas únicas (embora elas devam ter as mesmas dimensões).

O 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 .

    
por 19.08.2018 / 16:29
19
A função

SUM não funciona, pois adiciona apenas 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 =A1*A6 + B1*B6 + C1*C6 + D1*D6 + E1*E6 , o que resulta em praticamente o mesmo esforço de digitação que SUM

Existem muitas soluções melhores. Uma maneira é usar o array fórmula . Você pode ver um exemplo exato como o seu lá:

Array formula syntax

In general, array formulas use standard formula syntax. They all begin with an equal (=) sign, and you can use most of the built-in Excel functions in your array formulas. The key difference is that when using an array formula, you press Ctrl+Shift+Enter to enter your formula. When you do this, Excel surrounds your array formula with braces — if you type the braces manually, your formula will be converted to a text string, and it won't work.

Array functions are a really efficient way to build a complex formula. The array formula =SUM(C2:C11*D2:D11) is the same as this:

=SUM(C2*D2,C3*D3,C4*D4,C5*D5,C6*D6,C7*D7,C8*D8,C9*D9,C10*D10,C11*D11).

Para usar a fórmula de matriz no seu caso, você pode digitar (é claro que você precisa alterar o último elemento da matriz de acordo)

=SUM(A1:E1*A6:E6)

e, em seguida, pressione Ctrl + Deslocar + Inserir

A fórmula da matriz é uma ferramenta muito poderosa. No entanto, use-o com cuidado. Toda vez que você precisar editá-lo, você não deve esquecer de pressionar Ctrl + Deslocar + Inserir

Why use array formulas?

If you have experience using formulas in Excel, you know that you can perform some fairly sophisticated operations. For example, you can calculate the total cost of a loan over any given number of years. You can use array formulas to do complex tasks, such as:

  • Count the number of characters that are contained in a range of cells.

  • Sum only numbers that meet certain conditions, such as the lowest values in a range or numbers that fall between an upper and lower boundary.

  • Sum every nth value in a range of values.

Array formulas also offer these advantages:

  • Consistency: If you click any of the cells from E2 downward, you see the same formula. That consistency can help ensure greater accuracy.

  • Safety: You cannot overwrite a component of a multi-cell array formula. For example, click cell E3 and press Delete. You have to either select the entire range of cells (E2 through E11) and change the formula for the entire array, or leave the array as is. As an added safety measure, you have to press Ctrl+Shift+Enter to confirm the change to the formula.

  • Smaller file sizes: You can often use a single array formula instead of several intermediate formulas. For example, the workbook uses one array formula to calculate the results in column E. If you had used standard formulas (such as =C2*D2, C3*D3, C4*D4…), you would have used 11 different formulas to calculate the same results.

Também é mais rápido, já que 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 múltiplos núcleos e unidade SIMD na CPU

    
por 19.08.2018 / 16:40
8

Outra abordagem é colocar na A7 a expressão = A1 * A6 e copiar direito até onde você quiser, e então somar a linha $ 7 $ para obter a resposta final. Ele não faz isso em uma célula como você quer, mas às vezes ter os produtos intermediários é útil. Eu usei as duas versões. Este me parece mais excelente para mim, mas seu gosto pode ser diferente.

    
por 20.08.2018 / 01:53
1

se você colocar lista de números em colunas em vez de linhas (digamos duas colunas A e B), você pode usar a função = Sumproduct (A: A, B: B) assim. ele lhe dará o produto de quantos números houver nas colunas A e B.

Você pode usar tantas colunas na função Sumproduct quanto precisar

    
por 20.08.2018 / 12:56
0

Se não houver mais nada nas linhas 1 e 6 além daquelas para as quais você deseja ter um SUMPRODUCT() , você pode usar a idéia mencionado neste comentário . No seu caso, conforme descrito na sua pergunta, você usaria =SUMPRODUCT(1:1,6:6)

    
por 21.08.2018 / 10:34