Agréger des lignes de données dans Excel

Bonjour,

Tout d’abord, je vous donne un modèle de données : https://www.cjoint.com/c/EFsslDaOvmL

Supposons que ce sont des ventes mensuelles de produits, sur plusieurs années. Je veux agréger les données par année. Par exemple, je veux avoir les quantités annuelles et les valeurs correspondantes, du Produit P1, du produit P2, etc. pour l’année 2010, puis pour l’année 2011, etc.

Pourriez-vous m’aider à trouver une formule pour agréger les données ? Avec les données en exemple, la quantité totale du Produit P1 en 2010 est de 97 (43+54) pour une valeur totale de 35387 (34544 + 843).

La formule devrait fonctionner de cette façon : si plusieurs lignes ont la même année ET le même code de produit, quelque soient les mois, alors sommer les quantités et sommer les valeurs. Je ne devrais donc plus avoir de lignes qui ont à la fois la même année Et le même produit. Pour une même année Et pour un même produit, je ne veux avoir qu’une ligne, avec la somme des quantités et la somme des valeurs. Pour l’exemple, je dois avoir Trois lignes pour 2010, et non quatre (puisque les deux lignes correspondant à P1 seront agrégées). Pour 2011, les P2 seront également agrégées..

Merci d’avance.

Bonsoir,

le fichier en retour à tester :

Bonne suite

Cordialement

axion

Wow, ca répond à ma préccupation , même si je ne comprends pas la formule

Re,

la formule utilise SOMME.SI.ENS() qui permet d'additionner selon plusieurs critères de plusieurs plages

et vérifie si le total recherché existe dans les calculs précédents.

dans ce cas, le calcul en doublon est zappé.

attention toutefois à ne pas avoir 2 totaux identiques pour des produits peu différents

le calcul du second serait zappé à tort, le risque est d'autant plus probable que le total est faible.

Si cette éventualité est avérée sur un grand nombre de lignes, une autre solution sera à envisager.

une limitation de cet inconvénient peut être réalisée en ajoutant, en début de formule de la col F:

' SI(ET(G2="";NB.SI(F$1:F1;SOMME.SI.ENS(D$2:D$10;A$2:A$10;........)

Bonne suite

Cordialement

axion

Merci! Il faut que je replonge dans un manuel d'excel...

Cdt

Laurent

Bon courage ! et bonne soirée

quant à la colonne G, un ajout équivalent peut être fait, toujours en début de formule, par :

' SI(ET(NB.SI.ENS(A$2:A$10;A2;C$2:C$10;C2)>1;NB.SI(G$1:G1;SOMME.SI.ENS(E$2:E$10;............);........

Il est fort probable qu'un helper Excellent fournisse une meilleure proposition

axion

Rechercher des sujets similaires à "agreger lignes donnees"