Boucle de SOMMEPROD sur colonnes

Bonjour,

Apres avoir cherche sur internet toute l'apres-midi, j'aurais besoin d'une aide un peu plus personnalisee)))

Je dispose d'un enorme tableau Data sous le format suivant, en simplifiant:

Date Quantity Date Quantity Date Quantity etc..........

01.01.2014 234 01.01.2014 656 01.02.2014 787

01.01.2014 454 01.03.2014 5 01.03.2014 768

01.01.2014 54 01.04.2014 56 01.05.2014 6

01.03.2014 646 01.04.2014 6 01.04.2014 78

etc.........

Et sur une autre feuille, je voudrais faire la synthese suivante avant des SOMMEPROD:

Date Quantity

01.01.2014 1398,00 (cf formule ci dessus pour cette cellule)

01.02.2014 787,00

01.03.2014 1419,00

01.04.2014 140,00

01.05.2014 6,00

La formule etant pour chaque date dans la feuille de synthese: =SUMPRODUCT((Data!($A$2:$A$10)=A2)*Data!($B$2:$B$10))+SUMPRODUCT((Data!($C$2:$C$10)=A2)*Data!($D$2:$D$10))+SUMPRODUCT((Data!($E$2:$E$10)=A2)*Data!($F$2:$F$10))

Vu qu'il peut y avoir 20 colonnes a traiter, j'avais pense a utiliser VBA pour eviter une tres longue formule SOMMEPROD mais je ne sais pas comment faire cela en VBA.... Quelqu'un pourrait m'aider ?

Un grand merci!

Pourquoi ne pas tout mettre dans une colonne ?

Et faire un simple sommeprod..

30 secondes de copier collers suffiront...

Bonjour

Tu peux faire un sommeprod particulier en décalant ton tableau d'une colonne pour le second argument

Regarde l'exemple

Cordialement

65classeur23.xls (15.50 Ko)

Thanks Amadeus, your formula works amazingly! I didn't catch everything but will try to understand it)

Amadeus, I'm curious to understand what this (B$2:G$5<>"") brings in your formula ?

Thanks for the information)

Bonjour

Amadeus, I'm curious to understand what this (B$2:G$5<>"") brings in your formula ?

Cette écriture particulière vient du fait que ton énoncé lors de ton premier message n'est pas sur une feuille Excel et que le copier-coller suivi de la commande "Données" "Convertir" sur une feuille Excel pour recréer ton tableau a donné comme résultat:

  • Les colonnes de dates en format texte
  • Les nombres en valeurs numériques.

La formule a donc été écrites par rapport aux 3 arguments

=SOMMEPROD((A$2:F$5=$A18)*(B$2:G$5<>"");B$2:G$5)

pour obtenir des

=SOMMEPROD({VRAI;VRAI....}*({VRAI;VRAI});B$2:G$5)

soit

=SOMMEPROD({1.0...};B$2:G$5)

qui renvoie bien les valeurs numériques de B$2:G$5

en évitant les valeurs d'erreurs générées par le produit d'un texte avec une valeur numérique.

Il est certain que si les dates sont en valeurs numériques, cet argument est inutile et que les deux formules

=SOMMEPROD((A$2:F$5=$A10)*(B$2:G$5<>"");B$2:G$5)

ou

=SOMMEPROD((A$2:F$5=$A10)*(B$2:G$5))

renverront le même résultat, alors que la seconde renverra une valeur d'erreur si les dates sont au format texte.

Disons que la première formule est "générique" et évite des erreurs.

Au passage, ceci rappelle pour tous l'intérêt de joindre un fichier sur une feuille Excel au lieu de mettre les données dans son message

Cordialement

Rechercher des sujets similaires à "boucle sommeprod colonnes"