Fonction grande valeur

P

Pol

Guest
Bonsoir,
Afin d'additionner les 8 meilleurs résultats dans une série, j'ai employé la fonction "grande valeur". Le problème que je rencontre est le suivant:
Quand ma série est < à 8 chiffres, j'obtiens un message d'erreur.
Une solution est de taper le chiffre 0 dans les cellules.
Connaissez-vous une autre façon de faire? Peut-être compléter la formule ?(Voir fichier annexé).
Merci de votyre aide.
 

Pièces jointes

  • Renseignement.xls
    33.5 KB · Affichages: 53
  • Renseignement.xls
    33.5 KB · Affichages: 66
  • Renseignement.xls
    33.5 KB · Affichages: 54
J

Jean-Marie

Guest
Bonsoir, Pol

Utilise cette formule à valider par Ctrl+Shift+entrer
=SOMME(GRANDE.VALEUR(B1:B10;LIGNE(DECALER(B1;;;SI(NBVAL(B1:B10)>8;8;NBVAL(B1:B10))))))

Cette partie LIGNE(DECALER(B1;;;SI(NBVAL(B1:B10)>8;8;NBVAL(B1:B10))))
retourne une matrice {1;2;.....} en fonction du nombre de valeur numérique dans la plage.

Bonne soirée
@+Jean-Marie
 
J

Jean-Marie

Guest
Re...

Pol, Celeda ma signalée un problème si tu insères une ligne en A1, la formule retourne une erreur.

Remplace la formule par celle-ci
=SOMME(GRANDE.VALEUR(B1:B10;LIGNE(DECALER(A:A;;;SI(NBVAL(B1:B10)>8;8;NBVAL(B1:B10))))))

Bonne soirée

@+Jean-Marie
 
P

Pol

Guest
Bonjour Jean-Marie,
Je te remercie pour ton aide. La formule fonctionne sauf quand il n'y a aucune valeur dans la plage. Dans ce cas, la formule retourne une erreur.
Ta formule étant trop complexe (pour mes connaissances), Je n'arrive pas à la modifier.

Grand merci et bon dimanche.
Pol.
 
J

Jean-Marie

Guest
Bonjour Pol

Sans rien toucher à la fonction une plage vide retourne une erreur #Ref, cette erreur est renvoyée par la fonction DECALER(), elle n'accepte pas une plage de cellule ayant 0 cellule. On pourrait rajouter un contrôle à la condition SI(NB(B1:B10)>8;8;SI(NB(B1:B10)=0;1;NB(B1:B10)))

Mais tu te retrouves maintenant avec une erreur #Num, qui est retournée par la fonction GRANDE.VALEUR(), celle-ci ne trouvant aucune valeur, dans la plage définie. Alors il faut remonter la condition plus haut.

Ce qui donne :
=SI(NB(B1:B10)=0;0;SOMME(GRANDE.VALEUR(B1:B10;LIGNE(DECALER(A:A;;;SI(NB(B1:B10)>8;8;NB(B1:B10)))))))

Si tu veux d'autres explications

@+Jean-Marie
 

Discussions similaires

Réponses
6
Affichages
394

Statistiques des forums

Discussions
314 085
Messages
2 105 631
Membres
109 402
dernier inscrit
dalilouille