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

45

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 SUMfunção deve ajudar, mas não sei como usá-lo.

rukuto
fonte
4
Possível duplicado (-cross site) de Excel: produto escalar de duas faixas - Stack Overflow
user202729
4
Para LibreOffice Calc
user202729
7
Matematicamente, isso é conhecido como produto escalar ou produto escalar. Termos úteis se você precisar usar seu mecanismo de pesquisa favorito.
Philip Kendall
produto interno: Normalmente nós transpor esse problema para que um faria (A1 * B1 + A2 * B2 + C3 * B3 ....) .... É claro que esta é apenas a notação ...
JosephDoggie

Respostas:

110

Você está procurando a função SUMPRODUCT .

=SUMPRODUCT(A1:C1,A6:C6)

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

insira a descrição da imagem aqui

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.

Madeira preta
fonte
19

SUMA 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*E6que 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á:

Sintaxe da fórmula da matriz

Em geral, as fórmulas de matriz usam sintaxe de fórmula padrão. Todos eles começam com um sinal de igual (=) e você pode usar a maioria das funções internas do Excel em suas fórmulas de matriz. A principal diferença é que, ao usar uma fórmula de matriz, você pressiona Ctrl+ Shift+ Enterpara inserir sua fórmula. Quando você faz isso, o Excel envolve a fórmula da matriz com chaves - se você digitar as chaves manualmente, sua fórmula será convertida em uma sequência de texto e não funcionará.

As funções de matriz são uma maneira realmente eficiente de criar uma fórmula complexa. A fórmula da matriz =SUM(C2:C11*D2:D11)é a mesma:

=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 da 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 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

Por que usar fórmulas de matriz?

Se você tiver experiência no uso de fórmulas no Excel, sabe que pode executar algumas operações bastante sofisticadas. Por exemplo, você pode calcular o custo total de um empréstimo em um determinado número de anos. Você pode usar fórmulas de matriz para executar tarefas complexas, como:

  • Conte o número de caracteres contidos em um intervalo de células.

  • Soma apenas números que atendem a determinadas condições, como os valores mais baixos em um intervalo ou números que caem entre os limites superior e inferior.

  • Soma cada enésimo valor em um intervalo de valores.

As fórmulas de matriz também oferecem estas vantagens:

  • 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, a pasta de trabalho usa uma fórmula de matriz para calcular os resultados na coluna E. Se você tivesse usado fórmulas padrão (como = C2 * D2, C3 * D3, C4 * D4 ...), você usaria 11 fórmulas diferentes para calcular os mesmos resultados.

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

phuclv
fonte
7
No entanto, esteja ciente de que as funções da matriz são muito frágeis. Se você copiá-los e colá-los, por exemplo, as coisas podem quebrar muito mal. Freqüentemente, eles não serão atualizados corretamente sem uma atualização forçada, se forem muito grandes. Recurso excelente e poderoso, mas persnickety comparado às fórmulas regulares.
JKreft
3
@StianYttervik: Eu acho que a resposta é útil. E se alguém abrir uma planilha com esse tipo de fórmula e nunca a tiver visto antes? Esta resposta seria útil para esses usuários.
Bad_Bishop 20/08/18
3
A fórmula da matriz @StianYttervik é uma ferramenta poderosa na mão correta. Não é nada lento , pois pode ser mais fácil otimizado e vetorizado. E economiza memória. Até o Google Docs suporta. E não responda a isso. Eu não vou responder mais longe
phuclv
2
@StianYttervik Certas funções (por exemplo MOD) causarão falhas SUMPRODUCTe, 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, MAXIFSno 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.
Cronocida
1
@ Chronocidal Sim, existem casos, mas são poucos ... E as consultas de energia são a solução. Ou o modelo de dados. Ou funções de cubo. Ou todos os itens acima. As matrizes e o cálculo / execução linha por linha simplesmente não podem medir.
Stian Yttervik
7

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.

Ross Millikan
fonte
1

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

AjayC
fonte
2
Sumproduct (1: 1,2: 2) também funciona da mesma maneira para as linhas.
Máté Juhász
0

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)

Chris Rogers
fonte
4
Isso não está realmente fornecendo informações adicionais sobre o que já foi inserido nas respostas e comentários.
Máté Juhász
1
@ MátéJuhász - Que resposta fornece minha resposta? Seu comentário à resposta fornecida por @AjayC fornece 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.
21818 Chris Rogers