XL 2016 Somme des plus grandes valeurs

Zanku

XLDnaute Nouveau
Bonjour,

Pour les besoins d'un fichier, j'ai mis au point une formule pour récupérer la somme des x plus grandes valeurs d'une ligne.

Ce qui nous donne ceci :

=SI(NB(B2:AZ2)<=25;SOMME(B2:AZ2);SOMMEPROD((B2:AZ2)*(B2:AZ2>=GRANDE.VALEUR(B2:AZ2;25))))

x étant égal à 25 dans ce cas.

La formule fonctionne très bien à une exception près.
Si la x+1ème valeur est égale à la dernière valeur à additionner, elle est également additionnée.

Dans le cas de notre exemple, si la 25e valeur est égale à 40 et que les 26e et 27e valeurs le sont aussi,
nous n'aurons pas la somme des 25 plus grandes valeurs mais des 27 plus grandes.


Si quelqu'un a une idée pour résoudre ce problème, je suis preneur.

Merci d'avance.
 

Zanku

XLDnaute Nouveau
Bonjour Denis,

Merci pour cette piste.
ça n'a pas abouti directement mais ça m'a permis de mettre sur la voie.

Dans un premier temps, je me suis attelé à résoudre mon problème initial et j'ai abouti à cette formule.

=SI(NB(A2:AZ2)<=25;SOMME(A2:AZ2);SOMMEPROD((A2:AZ2)*(A2:AZ2>=GRANDE.VALEUR(A2:AZ2;25))))-(SI(GRANDE.VALEUR(A2:AZ2;26)=GRANDE.VALEUR(A2:AZ2;25);GRANDE.VALEUR(A2:AZ2;25)*(NB.SI(A2:AZ2;GRANDE.VALEUR(A2:AZ2;25))-1)))


Elle fonctionne pour le problème rencontré mais m'en a amené un autre.
Si on veut sommer les 25 meilleurs résultats et que les valeurs 24 à 26 sont égales (donc des deux côtés de la limite), alors les valeurs 24 et 25 ne sont pas additionner aux autres.

Voilà donc la formule finale :

=SI(NB(A2:AZ2)<=25;SOMME(A2:AZ2);SOMMEPROD((A2:AZ2)*(A2:AZ2>=GRANDE.VALEUR(A2:AZ2;25)))-SI(GRANDE.VALEUR(A2:AZ2;26)=GRANDE.VALEUR(A2:AZ2;25);GRANDE.VALEUR(A2:AZ2;25)*(NB.SI(A2:AZ2;GRANDE.VALEUR(A2:AZ2;25))-1))+SI(GRANDE.VALEUR(A2:AZ2;26)=GRANDE.VALEUR(A2:AZ2;25);(25-EQUIV(GRANDE.VALEUR(A2:AZ2;25);A2:AZ2;0))*GRANDE.VALEUR(A2:AZ2;25)))


Comme la formule est longue un petit test vaut mieux qu'un grand discours, je vous joins un fichier :)

Si quelqu'un trouve un moyen de la raccourcir pour le même résultat je suis preneur ^^
 

Pièces jointes

  • Test formule.xlsx
    9.5 KB · Affichages: 52

Chris401

XLDnaute Accro
Bonjour

Une petite variante à la formule d'eriiic pour le cas où il y aurait moins de valeurs que les x plus grandes demandées (exemple, 3 cellules de renseignées et on veut les 4 plus grandes valeurs)

Code:
=SOMMEPROD(GRANDE.VALEUR(A2:G2+0;LIGNE($1:$4)))
 

Discussions similaires

Réponses
2
Affichages
191

Membres actuellement en ligne

Statistiques des forums

Discussions
312 677
Messages
2 090 824
Membres
104 677
dernier inscrit
soufiane12