Renvoyer le nom associé à la somme maximum
Résolu/Fermé
Nilcram
Messages postés
3
Date d'inscription
vendredi 31 octobre 2014
Statut
Membre
Dernière intervention
31 octobre 2014
-
31 oct. 2014 à 10:00
Nilcram Messages postés 3 Date d'inscription vendredi 31 octobre 2014 Statut Membre Dernière intervention 31 octobre 2014 - 31 oct. 2014 à 14:01
Nilcram Messages postés 3 Date d'inscription vendredi 31 octobre 2014 Statut Membre Dernière intervention 31 octobre 2014 - 31 oct. 2014 à 14:01
A voir également:
- Renvoyer le nom associé à la somme maximum
- Formule somme excel colonne - Guide
- Somme si couleur - Guide
- Recherchev + somme plusieurs lignes ✓ - Forum Excel
- Annuaire portable gratuit a partir d'un nom - Forum Réseaux sociaux
- Comment trouver le nom de famille de quelqu'un - Forum Mobile
4 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 421
Modifié par Vaucluse le 31/10/2014 à 10:28
Modifié par Vaucluse le 31/10/2014 à 10:28
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
PHILOU10120
Messages postés
6400
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
17 janvier 2025
812
Modifié par PHILOU10120 le 31/10/2014 à 11:03
Modifié par PHILOU10120 le 31/10/2014 à 11:03
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
31 oct. 2014 à 11:04
31 oct. 2014 à 11:04
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)
Nilcram
Messages postés
3
Date d'inscription
vendredi 31 octobre 2014
Statut
Membre
Dernière intervention
31 octobre 2014
31 oct. 2014 à 13:44
31 oct. 2014 à 13:44
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.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
31 oct. 2014 à 13:57
31 oct. 2014 à 13:57
As tu regardé le classeur de Vaucluse (salut au passage), donné ICI?
Nilcram
Messages postés
3
Date d'inscription
vendredi 31 octobre 2014
Statut
Membre
Dernière intervention
31 octobre 2014
31 oct. 2014 à 14:01
31 oct. 2014 à 14:01
Oui et d'ailleurs c'est ça qui m'a donné l'idée de créer deux colonnes.