Grande valeur fonction matricielle ?

Fermé
vgentizon Messages postés 6 Date d'inscription vendredi 13 mai 2016 Statut Membre Dernière intervention 15 mai 2016 - 13 mai 2016 à 13:04
vgentizon Messages postés 6 Date d'inscription vendredi 13 mai 2016 Statut Membre Dernière intervention 15 mai 2016 - 15 mai 2016 à 14:04
Bonjour,

Je vous appelle à l'aide car après avoir essayé plusieurs méthodes trouvées sur différents postes je n'arrive pas au résultat voulu...

J'aimerais faire la somme des 6 plus grandes valeurs d'un tableau (en l'occurence des scores), mais uniquement pour une année en particulier (l'année étant sur une autre colonne)

exemple :

2015 10
2015 12
2015 14
2015 16
2015 18
2015 20
2015 22
2015 24
2015 26
2015 28
2016 50
2016 52
2016 54
2016 56
2016 58
2016 60
2016 62
2016 64
2016 66

j'aimerais pr exemple additionner les 6 meilleurs résultats de 2015, soit 18+20+22+24+26+28

le fichiers réel est disponible à cette adresse : https://www.cjoint.com/c/FEnlbpF0BCB
il s'agit de trouver les valeurs dans l'onglet Analyse en I8 et J8...

Merci pour votre aide précieuse :)
A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 13/05/2016 à 15:03
Bonjour vgentizon
les années doivent ^tre regroupées pas ordre croissant, mais les valeurs non

l'année voulue en D1
colonne A date colonne B nombre

essaies
 =SOMME(GRANDE.VALEUR(DECALER(B1:B19;0;0;EQUIV(D1;A1:A19;1);1);{1;2;3;4;5;6}))

Formule matricielle à valider par « ctrl+maj+entrée » (et non directement par « entrée »), le curseur clignotant dans la barre de formule. La formule est alors encadrée automatiquement par des accolades : { formule }

mais curieusement ca marche sans mettre en matriciel !

la maquette de W
http://www.cjoint.com/c/FEnm7PzUNSt
 Michel
1
vgentizon Messages postés 6 Date d'inscription vendredi 13 mai 2016 Statut Membre Dernière intervention 15 mai 2016
13 mai 2016 à 15:36
bonjour michel, merci beaucoup ! on y est presque, avec cette formule et si on mets par exemple dans ton tableau que des valeur 100 en 2015, et qu'on cherche pour l'année 2016, il prends les 6 meilleures valeurs mais pas de la bonne année... j'ai donc le même résultat quelle que soit l'année (alors que ça marche dans l'exemple avec la suite proposée... :/)
0
vgentizon Messages postés 6 Date d'inscription vendredi 13 mai 2016 Statut Membre Dernière intervention 15 mai 2016
13 mai 2016 à 15:39
cette formule "bloque" la fonction jusqu'à l'année sélectionnée, mais si tu prends 2016 en D1, il considère quand meme les valeurs de 2015
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > vgentizon Messages postés 6 Date d'inscription vendredi 13 mai 2016 Statut Membre Dernière intervention 15 mai 2016
13 mai 2016 à 16:51
Ah oui d'accord!
je regarderai çà ce WE
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
14 mai 2016 à 00:25
Bonsoir à tous,

une formule matricielle en I8 à recopier en J8 :
=SOMMEPROD(GRANDE.VALEUR(SI((annee=I1)*ESTNUM(score);score;0);LIGNE($1:$6)))


cordialement
1
vgentizon Messages postés 6 Date d'inscription vendredi 13 mai 2016 Statut Membre Dernière intervention 15 mai 2016
14 mai 2016 à 14:22
bonjour, merci pour votre aide ! la formule que vous m'indiquez me retourne une erreur sans me donner plus d'explications.... une idée d'ou cela peut venir ?
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
14 mai 2016 à 18:15
Bonjour,
Une formule matricielle se valide par CTRL+MAJ+ENTER.
cordialement
0
vgentizon Messages postés 6 Date d'inscription vendredi 13 mai 2016 Statut Membre Dernière intervention 15 mai 2016
15 mai 2016 à 14:04
et ca marche ! merci (je faisais CMD a la place de CTRL........)

merci infiniment !

resolu !
0
Utilisateur anonyme
13 mai 2016 à 13:17
Bonjour vgentizon,

Moi, je pense que j'essayerai ainsi :

1) Manuellement ou via VBA, faire un tri des données avec ces 2 critères :
a) selon l'année (tri croissant) ; b) selon les scores (tri croissant)
Donc pour chaque année, les 6 meilleurs scores seront en tête.

2) Pour chaque année, additionner les scores des 6 premières lignes.

C'est déjà un bon début de piste, mais peut-être y a-t-il
une meilleure solution ?

Cordialement.  😊
 
0
vgentizon Messages postés 6 Date d'inscription vendredi 13 mai 2016 Statut Membre Dernière intervention 15 mai 2016
13 mai 2016 à 13:27
je pense qu'il doit y avoir moyen de faire avec des formules sans VBA. quand au tri manuel, je préfère éviter le but étant d'automatiser la chose :/ merci pour ces idées
0