46 votes

Existe-t-il une formule Excel concise pour calculer (A1*A6)+(B1*B6)+(C1*C6)... ?

Je voudrais savoir comment donner une formule concise pour la longue formule suivante dans une feuille Excel :

= (A1*A6)+(B1*B6)+(C1*C6)...

Dois-je utiliser une fonction de somme ou existe-t-il une autre fonction pour cela ? Je pense que l'utilisation des deux points avec SUM devrait aider, mais je ne sais pas comment l'utiliser.

109voto

Blackwood Points 3082

Vous recherchez le SUMPRODUIRE fonction.

=SUMPRODUCT(A1:C1,A6:C6)

Cette méthode renvoie la somme des produits des éléments correspondants dans deux plages (ou plus).

enter image description here

Comme vous pouvez le voir dans la documentation Microsoft que j'ai citée, les plages n'ont pas besoin d'être des lignes ou des colonnes uniques (bien qu'elles doivent avoir les mêmes dimensions).

SUMPRODUIRE peut multiplier des valeurs dans un maximum de 255 plages différentes. Par exemple =SUMPRODUCT(A1:C1,A6:C6,A11:C11) est identique à =A1*A6*A11+B1*B6*B11+C1*C6*C11 .

20voto

phuclv Points 22397

SUM ne fonctionnera pas puisqu'elle ne fait qu'ajouter les éléments. Vous devez multiplier les valeurs avant en passant à SUM comme =SUM(A1*A6, B1*B6, C1*C6, D1*D6, E1*E6)

Bien entendu, vous pouvez également utiliser =A1*A6 + B1*B6 + C1*C6 + D1*D6 + E1*E6 ce qui donne à peu près le même effort de frappe que SUM

Il existe de nombreuses solutions plus efficaces. L'une d'entre elles a déjà été proposée par Blackwood. Une autre solution consiste à utiliser formule de tableau . Vous pouvez voir un exemple exactement identique au vôtre chez Microsoft :

Syntaxe des formules de tableaux

En général, les formules de tableau utilisent la syntaxe de formule standard. Elles commencent toutes par le signe égal (=) et vous pouvez utiliser la plupart des fonctions Excel intégrées dans vos formules de tableau. La principale différence réside dans le fait que lorsque vous utilisez une formule de tableau, vous appuyez sur Ctrl + Shift + Enter pour saisir votre formule. Lorsque vous faites cela, Excel entoure votre formule de tableau d'accolades - si vous tapez les accolades manuellement, votre formule sera convertie en chaîne de texte et ne fonctionnera pas.

Les fonctions de tableau sont un moyen très efficace de construire une formule complexe. La formule du tableau =SUM(C2:C11*D2:D11) est le même que celui-ci :

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

Pour utiliser la formule du tableau dans votre cas, vous pouvez taper (bien sûr, vous devez changer le dernier élément du tableau en conséquence)

=SUM(A1:E1*A6:E6)

puis appuyez sur Ctrl + Shift + Enter

Une fois que vous avez compris l'idée de la formule du tableau, vous pouvez l'appliquer à la plupart des autres formules et vous pouvez même oublier l'existence de SUMPRODUCT

Mise à jour :

Les versions plus récentes d'Excel utilisent même automatiquement des formules de tableau dans de nombreux cas

À partir de la mise à jour de septembre 2018 pour Office 365, toute formule pouvant renvoyer plusieurs résultats les déverse automatiquement soit vers le bas, soit en travers dans les cellules voisines. Ce changement de comportement s'accompagne également de plusieurs nouvelles fonctions de tableau dynamique. Les formules de tableau dynamique, qu'elles utilisent les fonctions existantes ou les fonctions de tableau dynamique, ne doivent être saisies que dans une seule cellule, puis confirmées en appuyant sur Entrée. Auparavant, les anciennes formules de tableau dynamique nécessitaient la sélection de l'ensemble de la plage de sortie, puis la confirmation de la formule à l'aide de la touche Ctrl + Shift + Enter . Elles sont communément appelées formules CSE.

Directives et exemples de formules de tableaux


La formule du tableau est un outil très puissant. Toutefois, il convient de l'utiliser avec précaution. Chaque fois que vous devez la modifier, n'oubliez pas d'appuyer sur la touche Ctrl + Shift + Enter

Pourquoi utiliser des formules de tableau ?

Si vous avez l'habitude d'utiliser des formules dans Excel, vous savez que vous pouvez effectuer des opérations assez sophistiquées. Par exemple, vous pouvez calculer le coût total d'un prêt sur un nombre donné d'années. Vous pouvez utiliser des formules de tableau pour effectuer des tâches complexes, telles que :

  • Compter le nombre de caractères contenus dans une plage de cellules.

  • Additionner uniquement les nombres qui répondent à certaines conditions, telles que les valeurs les plus basses d'une plage ou les nombres qui se situent entre une limite supérieure et une limite inférieure.

  • Somme toutes les nièmes valeurs d'une plage de valeurs.

Les formules de tableaux offrent également ces avantages :

  • Cohérence : Si vous cliquez sur n'importe quelle cellule à partir de E2, vous obtenez la même formule. Cette cohérence peut contribuer à une plus grande précision.

  • La sécurité : Il n'est pas possible d'écraser un composant d'une formule de tableau à plusieurs cellules. Par exemple, cliquez sur la cellule E3 et appuyez sur Supprimer. Vous devez soit sélectionner toute la plage de cellules (E2 à E11) et modifier la formule pour l'ensemble du tableau, soit laisser le tableau tel quel. Par mesure de sécurité supplémentaire, vous devez appuyer sur Ctrl + Shift + Enter pour confirmer la modification de la formule.

  • Des fichiers plus petits : Vous pouvez souvent utiliser une seule formule de tableau au lieu de plusieurs formules intermédiaires. Par exemple, le classeur utilise une formule de tableau pour calculer les résultats de la colonne E. Si vous aviez utilisé des formules standard (telles que =C2*D2, C3*D3, C4*D4 ), vous auriez utilisé 11 formules différentes pour calculer les mêmes résultats.

Elle est également plus rapide puisque le modèle d'accès est déjà connu. Au lieu d'effectuer 11 calculs différents séparément, il est possible de les vectoriser et de les effectuer en parallèle, en utilisant plusieurs cœurs et l'unité SIMD de l'unité centrale.

7voto

amarsuperstar Points 1382

Une autre approche consiste à inscrire en A7 l'expression =A1*A6 et à la copier à droite aussi loin que vous le souhaitez, puis à additionner la ligne $7$ pour obtenir la réponse finale. Cela ne se fait pas en une seule cellule comme vous le souhaitez, mais il est parfois utile d'avoir les produits intermédiaires. J'ai utilisé les deux versions. Celle-ci me semble plus proche d'Excel, mais votre goût peut différer.

1voto

AjayC Points 11

Si vous placez une liste de nombres en colonnes plutôt qu'en lignes (disons deux colonnes A et B), vous pouvez utiliser la fonction =Sumproduct(A:A,B:B) comme ceci. Elle vous donnera le produit d'autant de nombres qu'il y en a dans les colonnes A et B.

Vous pouvez utiliser autant de colonnes que vous le souhaitez dans la fonction Sumproduct.

0voto

Chris Rogers Points 1438

S'il n'y a rien d'autre dans les lignes 1 et 6 que ce que vous voulez avoir un SUMPRODUCT() par exemple, vous pourriez utiliser l'idée mentionné dans ce commentaire . Dans votre cas, comme indiqué dans votre question, vous utiliseriez =SUMPRODUCT(1:1,6:6)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X