Calcul s'une somme conditionelle

  • Initiateur de la discussion roadruner
  • Date de début
R

roadruner

Guest
Bonsoir,

Je cherche a calculer la somme des 4 plus grandes valeurs d'une liste de 6 nombres.
Ces 6 nombres se trouvant dans 6 cellules différentes, dans la même colonne.

Merci de votre aide.
 
C

Celeda

Guest
Bonsoir,

Voilà un petit fichier que je m'apprétais à mettre sur le fil Lien supprimé, reçu ce soir de la part de Monique afin d'apporter une pierre de plus à l'édifice Forum XLD. Merci Monique.

Je pense que tu peux trouver ton bonheur.

Néanmoins on conserve ce fil pour la Macro -Merci Alain : car................

comme souvent sur XLD :

Deux en Un

ou

Deux pour Un

ou

Un et Une

ou

Un avec Une

ou tout ce que vous voulez,

Vous trouvez de tout sur XLD..............et si vous ne le trouvez pas et bien on l'invente !

Je parle bien sur des Formules et des Macros. Les souris commencent à danser...la hala laha laha sur XLD...........




Bon dimanche
Celeda
 

Pièces jointes

  • Grande_petite_valeur_index.zip
    5.3 KB · Affichages: 22
Z

zon

Guest
Bonsoir à tous,


Celeda un petit fichier de plus dans la colec de XLD...

Je serai bien aller danser ce soir mais je bosse demain....



Alain ne pas oublier de remmettre à true l'affichage..

Application.screenupdating=True



A+++
 
J

Jean-Marie

Guest
Bonsoir,

Celeda ton fichier est super.

Si je peut me permettre, la fonction plus longue libère de la contrainte du tableau {1;2;3}.
=SOMME(GRANDE.VALEUR(A2:A12;LIGNE(A2:A12)-1)*(((LIGNE(A2:A12)-1)<(B1+1))*1))

L'exemple calcule la somme des X plus grande valeurs, le X étant donné par le contenu de la cellule B1, les valeurs sont A2:A12.

Dans la partie en gras, il faut soustraire la valeur de la ligne de la 1ère cellule de la plage moins -1. Dans l'exemple c'est A2 -> (2-1)=1.
Comme c'est pas très claire si la plage est A45:Z60 il faut soustraire (45-1) donc 44 et ce qui donne dans la formule (LIGNE(A45:z60)-44)


@+Jean-Marie
 
R

roadruner

Guest
Merci à tous.

Dans mes recherches nocturnes dans l'aide de Excel, j'avais réussi a faire une formule, peut-être pas optimisée, mais qui fonctionne.
Je vai pouvoir l'améliorer en fonction de ce que vous m'avez envoyé.
Voici la formule que j'ai utilisé :

SOMME(GRANDE.VALEUR(F2:F7;LIGNE(INDIRECT("1:4")));GRANDE.VALEUR(F2:F7;LIGNE(INDIRECT("2:4")));GRANDE.VALEUR(F2:F7;LIGNE(INDIRECT("3:4")));GRANDE.VALEUR(F2:F7;LIGNE(INDIRECT("4:4"))))

@+
:)
 
J

Jean-Marie

Guest
Bonjour

Pourquoi utiliser ligne(indirect("x:4")) autant écrire la valeur 1 puis 2 puis 3, puis 4.

Je n'imagine pas la fonction si tu désires le 20 plus fortes, du plage de 100.

@+Jean-Marie
 
M

Monique

Guest
Bonjour,

Roadruner,
Voici une sommeprod qui fonctionne, sauf erreur.
Si tes nombres sont dans la plage F2:F7 et si tu veux la somme des 4 plus grandes valeurs :
=SOMMEPROD((F2:F7>=GRANDE.VALEUR(F2:F7;4))*1;F2:F7)

Jean-Marie,
Je ne réussis pas à faire fonctionner ta formule, mais est-ce que l'on cherche la même chose ?
En reprenant les références du fichier "Grande_valeur_index.xls",
et en mettant un nombre en B1, cette formule
=SOMME(GRANDE.VALEUR(B2:B12;LIGNE(B2:B12)-1)*(((LIGNE(B2:B12)-1)<(B1+1))*1))
validée en matricielle, donne la somme des X valeurs les plus élevées de la plage B2:B12 ( X = la valeur saisie en B1 )

Celle-ci, validée de façon classique, donne un résultat identique :
=SOMMEPROD((B2:B12>=GRANDE.VALEUR(B2:B12;B1))*1;B2:B12)

La question était, dans le fichier d'hier soir : comment faire la somme des X valeurs les plus élevées de la plage B2:B12 et correspondant à telle lettre de la plage A2:A12 ?
Sommeprod, hier soir, n'a rien voulu savoir.
 
J

Jean-Marie

Guest
Bonjour Monique

Alors, je n'ai qu'un mot à dire : Génial, de faire un contrôle >= à la quatrième valeur. Des fois, je fonce tête-bêche sur un problème sans réfléchir.

Je joins le fichier en exemple.

@+Jean-Marie
 

Pièces jointes

  • Classeur4.xls
    7 KB · Affichages: 38
  • Classeur4.xls
    7 KB · Affichages: 42
  • Classeur4.xls
    7 KB · Affichages: 42
C

Celeda

Guest
Bonsoir,

Alors ce week-end a été un peu consacré à la Grande Valeur mais c'est bien parce que le Forum est de Grande Valeur aussi que nous avons eu un petit brainstorming Monique et moi pour essayer d'arriver à faire un fichier qui tienne la route.

Parce que c'est pas le tout de trouver des formules il faut aussi essayer d'expliquer, comprendre, laisser tomber, recommencer, peiner et aboutir à quelque chose de fiable. Enfin c'était mon objectif que j'ai partagé avec Monique ce week-end suite à la réponse de Jean-Marie.

D'ailleurs, Jean-Marie, c'est un peu à cause de toi........comme dit la chanson que nous avons bossé sur ces formules.
En raison de quoi, parce que je ne comprenais pas celle-ci :

SOMME(GRANDE.VALEUR(A2:A12;LIGNE(A2:A12)-1)*(((LIGNE(A2:A12)-1)<(B1+1))*1))

avec les lignes j'ai du mal, beaucoup de mal et puis je me suis permise d'intégrer ton fichier dans le notre à titre d'Exemple mais aussi pour tester d'autres formules. Et à la lecture de celui-ci, tu comprendras qu'il me reste encore des interrogations. Monique m'a donné un grand coup de main et complété tous les commentaires afin de faciliter la compréhension des formules.

J'éspère, Jean-Marie, que tu ne m'en voudras pas de m'être servie de ta formule ainsi que Roadrunner de ton post, le but du jeu étant d'apporter une aide efficace. Je ne sais pas si cela aura été le cas pour toi Roadrunner, mais au départ je ne pensais pas en arriver là.
Quoique le Forum mène à tout.............et naturellement toutes les suggestions sont bonnes à prendre.


Merci Monique, Jean-Marie.

Celeda
 

Pièces jointes

  • Grande_petite_valeur_index_5.zip
    9.3 KB · Affichages: 18
J

Jean-Marie

Guest
Bonsoir Celeda,

Il ne faut pas oublier la formule de Monique.

J'ai placé des commentaires et découpé les calculs de la formule matricielle.

@+Jean-Marie
 

Pièces jointes

  • Grande_petite_valeur_index_4.xls.zip
    9.2 KB · Affichages: 26
C

Celeda

Guest
Bonsoir,

Merci Jean-Marie pour la ''découpe''.
Quant à la formule de Monique (matricielle réduite à la plus simple expression), je ne l'ai pas oubliée : c'est celle qui provoque une erreur en cas de mêmes nombres. Tu la verras sur la page 1.

Bonne semaine
Celeda
 

Discussions similaires

Statistiques des forums

Discussions
312 088
Messages
2 085 202
Membres
102 817
dernier inscrit
Nini668