XL 2016 Somme des plus grandes valeurs

  • Initiateur de la discussion Initiateur de la discussion Zanku
  • Date de début Date de début

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 !

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.
 
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

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)))
 
- 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

Discussions similaires

Réponses
19
Affichages
1 K
Réponses
7
Affichages
411
Retour