Somme des montants par groupes à partir du code défini dans une grille

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jl.delor

XLDnaute Nouveau
Bonjour le Forum,

Petit défi du vendredi 13 ...😎

Après de nombreuses recherches j'ai besoin de votre aide pour simplifier un calcul (réussi mais laborieux et lourd à mettre en oeuvre).

Le but recherché :
Somme des montants par groupes à partir du code défini dans une grille.
Ma somme se fait ligne à ligne (code et montant - j'ai masqué d'autres colonnes devant rester présentes mais non utilisées dans le calcul).

La fonction SOMMEPROD est inopérante vu que toutes mes données sont en ligne et que mon contrôle fait appel à une grille.

Je vous joins un échantillon de mon fichier.

Merci à vous de prendre le temps de voir ma question.
 

Pièces jointes

Re : Somme des montants par groupes à partir du code défini dans une grille

Bonsoir

Il y a peut être encore plus simple, mais pour le moment...

@ plus
 

Pièces jointes

Re : Somme des montants par groupes à partir du code défini dans une grille

Re

Un petit peu plus simple, mais avec une formule matricielle à valider avec Ctrl+maj tempo+enter.

@ plus
 

Pièces jointes

Re : Somme des montants par groupes à partir du code défini dans une grille

Merci CISCO, une formule c'est une formule vraiment simplifiée.
Est-il possible de gérer une contrainte supplémentaire de ma grille : à savoir les valeurs ne sont pas triées par groupe (mais calculer les codes éligibles) ?
 
Re : Somme des montants par groupes à partir du code défini dans une grille

Bonsoir

Une possibilité en pièce jointe, en créant une liste Clim, et une autre Cloison. (formules matricielles à valider avec Ctrl+maj tempo+entrer). Pour le moment, ces deux listes peuvent contenir 18 références. Il faudra adapter ces hauteurs à ton fichier réel.

Si je trouve des formules plus simples, ou une possibilité sans avoir ces deux listes écrites sur la feuille, je les posterai.

@ plus

P.S : On peut faire un peu plus court, pour clim, avec
=SIERREUR(INDEX(listecode;PETITE.VALEUR(SI(options=AB$1;LIGNE(options));LIGNES(AB$1:AB1)));"")
en matriciel. La même méthode est applicable à la liste Cloison.
 

Pièces jointes

Dernière édition:
Re : Somme des montants par groupes à partir du code défini dans une grille

Boujour CICSCO,

Merci pour ton complément.
Je suis effectivement parti sur une structure en colonne.
Je les ai modélisées par un calcul en utilisant l'INDEX de ligne (limité à 26 dans l'exemple pour faire simple, mais qui peut être étendu sans contrainte).
{=SIERREUR(PETITE.VALEUR(SI($Q$7:$Q$26=Y$6;LIGNE($Q$7:$Q$26));LIGNES($Q$6:$Q6));"--")}
=SIERREUR(INDEX($P$1:$P$26;X7;1);"--")
Donc ça marche, avec un bémol sur les temps de calculs (117.000 lignes et 29 colonnes "options" dans le fichier réel).
Si tu trouves un calcul à partir de la liste globale, je reste preneur.

Cordialement
 

Pièces jointes

Re : Somme des montants par groupes à partir du code défini dans une grille

Bonsoir

Une autre possibilité en pièce jointe, directement à partir de la liste globale. Pour obtenir ce résultat, j'ai modifié les définitions de Clim, Cloison et listecode.

Si tu as 117 000 lignes, je suppose que c'est effectivement long. Pour aller plus vite, il faudrait une macro, ce que je ne sais pas faire.

@ plus
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour