Renvoyer le nom associé à la somme maximum
Résolu
Nilcram
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Nilcram Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Nilcram Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous j'aurais besoin d'utiliser les fonction Index(equiv mais pour une operation compliquée car il ne s'agit pas d'un maximum mais de SOMMES MAXIMALES.
j'ai plusieurs magazins qui realisent des ventes
en colonne A on a le nom des magazins
en colonne H on a les ventes realisés
la difficulté c'est qu'il y a plusieurs periodes, donc un meme magazin réaparait plusieurs fois
je voudrais une formule qui me donne le nom du magazin associé à la SOMME maximale de toutes les ventes.
En gros la formule doit faire la somme des differentes ventes de chaque magazin, trouver le maximum de toutes ces sommes, et le resultat final c'est le nom du magazin qui ressort
comment y parvenir??
Merci beaucoup
j'ai plusieurs magazins qui realisent des ventes
en colonne A on a le nom des magazins
en colonne H on a les ventes realisés
la difficulté c'est qu'il y a plusieurs periodes, donc un meme magazin réaparait plusieurs fois
je voudrais une formule qui me donne le nom du magazin associé à la SOMME maximale de toutes les ventes.
En gros la formule doit faire la somme des differentes ventes de chaque magazin, trouver le maximum de toutes ces sommes, et le resultat final c'est le nom du magazin qui ressort
comment y parvenir??
Merci beaucoup
A voir également:
- Renvoyer le nom associé à la somme maximum
- Formule somme excel colonne - Guide
- Somme si couleur - Guide
- Changer le nom de son iphone - Guide
- Nom sonnerie iphone - Forum iPhone
- Annuaire portable gratuit a partir d'un nom - Forum Réseaux sociaux
4 réponses
Bonjour
https://www.cjoint.com/?DJFkGSQnnpa
un exemple ici avec une colonne qui permet de classer les cumuls de vente
la colonne C peut être masquée où sur une autre feuille
crdlmnt
Errare humanum est, perseverare diabolicum
https://www.cjoint.com/?DJFkGSQnnpa
un exemple ici avec une colonne qui permet de classer les cumuls de vente
la colonne C peut être masquée où sur une autre feuille
crdlmnt
Errare humanum est, perseverare diabolicum
Bonjour
Essayer ceci
=INDIRECT(ADRESSE(EQUIV(MAX($H$1:$H$50);$H$1:$H$50;0);1;3;1;"Feuil1");1)
la recherche est limitée jusqu'à la ligne 50 dans mon exemple sur la feuille 1
Adapter ces paramètres à votre besoin
En voyant la réponse de Vaucluse je m'aperçois que je ne vous ai pas donné la bonne réponse n'ayant pas fait la somme. Mes excuses
C'est en forgeant que l'on devient forgeron. - C'est au pied du mur que l'on voit le maçon - on apprend toujours de ses erreurs
Essayer ceci
=INDIRECT(ADRESSE(EQUIV(MAX($H$1:$H$50);$H$1:$H$50;0);1;3;1;"Feuil1");1)
la recherche est limitée jusqu'à la ligne 50 dans mon exemple sur la feuille 1
Adapter ces paramètres à votre besoin
En voyant la réponse de Vaucluse je m'aperçois que je ne vous ai pas donné la bonne réponse n'ayant pas fait la somme. Mes excuses
C'est en forgeant que l'on devient forgeron. - C'est au pied du mur que l'on voit le maçon - on apprend toujours de ses erreurs
Bonjour,
A part passer par des formules intermédiaires, aucune formule ne te donnera le résultat directement.
Mis à part une fonction personnalisée par VBA.
Voici le code :
Pour l'utiliser :
1- Depuis ton classeur, taper ALT+F11, puis, dans la fenêtre VB qui s'est ouverte Insertion/Module.
2- dans le module ainsi créé copiez-collez le code ci-dessus,
3- fermer la fenêtre VB.
Dans la feuille contenant vos données, n'importe ou, saisir la formule suivante :
=Magasin_Max_Ventes(A2:A1000;H2:H1000)
A part passer par des formules intermédiaires, aucune formule ne te donnera le résultat directement.
Mis à part une fonction personnalisée par VBA.
Voici le code :
Function Magasin_Max_Ventes(rngMag As Range, rngMontants As Range) As String Dim Sommes(), cel As Range, dico As Object, col As Integer, elem As Variant, Maxi As Double On Error GoTo InversionColonnes col = CInt(Asc(Split(rngMontants.Address, "$")(1)) - Asc(Split(rngMag.Address, "$")(1))) On Error GoTo 0 If rngMag.Count <> rngMontants.Count Then GoTo MemeLongueur Set dico = CreateObject("Scripting.Dictionary") For Each cel In rngMag If dico.exists(cel.Value) Then dico(cel.Value) = dico(cel.Value) + cel.Offset(0, col).Value Else dico(cel.Value) = cel.Offset(0, col).Value Next cel For Each elem In dico.keys If dico(elem) > Maxi Then Maxi = dico(elem): Magasin_Max_Ventes = elem Next elem Exit Function InversionColonnes: Magasin_Max_Ventes = "Erreur : la colonne des montants doit être située à droite de celle des magasins" MemeLongueur: Magasin_Max_Ventes = "Erreur : les plages doivent être de même longueur" End Function
Pour l'utiliser :
1- Depuis ton classeur, taper ALT+F11, puis, dans la fenêtre VB qui s'est ouverte Insertion/Module.
2- dans le module ainsi créé copiez-collez le code ci-dessus,
3- fermer la fenêtre VB.
Dans la feuille contenant vos données, n'importe ou, saisir la formule suivante :
=Magasin_Max_Ventes(A2:A1000;H2:H1000)
Merci beaucoup, finalement puisque tu m'as dis qu'il n y avait aucune formule unique possible je me suis résolu à créer deux nouvelles colonnes où je supprime les duplicatas et calcules chaque somme dessus pour pouvoir faire le calcul facilement.