Mettre en évidence le maximum de chaque série
eZula
Messages postés
3391
Date d'inscription
Statut
Contributeur
Dernière intervention
-
Vaucluse Messages postés 26496 Date d'inscription Statut Contributeur Dernière intervention -
Vaucluse Messages postés 26496 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Dans un tableau xlsx de ce type :
NOM PRENOM DU AU
DURAND Pierre 01/09/2016 01/10/2016
DURAND Pierre 02/10/2016 11/12/2016
DURAND Pierre 03/01/2017 05/02/2017
DUPONT Jacques 05/09/2016 01/10/2016
DUPONT Jacques 01/01/2017 13/06/2017
BLANC Georges 06/09/2016 13/09/2016
BLANC Georges 15/09/2016 31/08/2017
etc
je souhaite mettre en évidence la date "AU" la plus récente de chaque nom différent : ce qui est en gras dans l'exemple ci-dessus.
Pour ce qui est de récupérer la valeur max, à priori la foinction MAX pourrait le faire mais pour il me manque le concept de "pour chaque nom différent lu"
Auriez-vous idée d'un truc simple de préférence (sans vba ce serait top)
Merci
Dans un tableau xlsx de ce type :
NOM PRENOM DU AU
DURAND Pierre 01/09/2016 01/10/2016
DURAND Pierre 02/10/2016 11/12/2016
DURAND Pierre 03/01/2017 05/02/2017
DUPONT Jacques 05/09/2016 01/10/2016
DUPONT Jacques 01/01/2017 13/06/2017
BLANC Georges 06/09/2016 13/09/2016
BLANC Georges 15/09/2016 31/08/2017
etc
je souhaite mettre en évidence la date "AU" la plus récente de chaque nom différent : ce qui est en gras dans l'exemple ci-dessus.
Pour ce qui est de récupérer la valeur max, à priori la foinction MAX pourrait le faire mais pour il me manque le concept de "pour chaque nom différent lu"
Auriez-vous idée d'un truc simple de préférence (sans vba ce serait top)
Merci
A voir également:
- Mettre en évidence le maximum de chaque série
- Télécharger idm gratuitement sans numéro de série - Télécharger - Téléchargement & Transfert
- Retrouver ordinateur volé avec numéro de série - Guide
- Numéro de série idm ✓ - Forum Logiciels
- Telecharger série merlin en français - Forum Cinéma / Télé
- Numéro de serie cmd ✓ - Forum Matériel & Système
5 réponses
En fait ça fonctionne, je me suis planté avec la fonction
=$AO2=MAX(SI($V$2:$V$1000=$V2;$AN$2:$AO$1000)
j'ai mis la valeur 2 pensant que cela concernait la deuxième ligne du tableau, la première étant constituée d'en-têtes. Il faut bien mettre 1 comme proposé.
Cela n'a manifestement rien à voir
Serait-il possible à ce propos d'avoir une explicitation de cette formule ? Cela m'aiderait à mieux comprendre
Merci en tout cas pour cette aide concluante.
Je ne mets pas encore résolu car j'aurais peut être encore une ou deux questions. Je fais qques essais et reviens dans pas longtemps.
Bonne journée
Edit:
Pour déterminer les individus qui sont disponibles à ce jour, soit ceux dont la dernière date de fin de contrat est inférieure à aujourd'hui, il suffit d'entrer dans la formule de MFC + mise en couleur de son choix :
=ET($AR2=MAX(SI($W$2:$W$1000=$W2;SI($AR$2:$AR$1000<AUJOURDHUI();$AR$2:$AR$1000)));SOMMEPROD(($W$2:$W$1000=W2)*($AQ$2:$AQ$1000<=AUJOURDHUI())*($AR$2:$AR$1000>=AUJOURDHUI()))=0)
Considérant les colonnes suivantes dans n'importe quel tableau :
AR = date de fin de contrat au format JJ/MM/AAAA
AQ = date de début de contrat au format JJ/MM/AAAA
W = Matricule (chaque agent a son propre matricule)
pour chaque matricule, la plage correspondante à toutes les périodes est balayée. Le dernier contrat est mis en forme en couleur si la date la plus récente est inférieure à aujourd'hui.
=$AO2=MAX(SI($V$2:$V$1000=$V2;$AN$2:$AO$1000)
j'ai mis la valeur 2 pensant que cela concernait la deuxième ligne du tableau, la première étant constituée d'en-têtes. Il faut bien mettre 1 comme proposé.
Cela n'a manifestement rien à voir
Serait-il possible à ce propos d'avoir une explicitation de cette formule ? Cela m'aiderait à mieux comprendre
Merci en tout cas pour cette aide concluante.
Je ne mets pas encore résolu car j'aurais peut être encore une ou deux questions. Je fais qques essais et reviens dans pas longtemps.
Bonne journée
Edit:
Pour déterminer les individus qui sont disponibles à ce jour, soit ceux dont la dernière date de fin de contrat est inférieure à aujourd'hui, il suffit d'entrer dans la formule de MFC + mise en couleur de son choix :
=ET($AR2=MAX(SI($W$2:$W$1000=$W2;SI($AR$2:$AR$1000<AUJOURDHUI();$AR$2:$AR$1000)));SOMMEPROD(($W$2:$W$1000=W2)*($AQ$2:$AQ$1000<=AUJOURDHUI())*($AR$2:$AR$1000>=AUJOURDHUI()))=0)
Considérant les colonnes suivantes dans n'importe quel tableau :
AR = date de fin de contrat au format JJ/MM/AAAA
AQ = date de début de contrat au format JJ/MM/AAAA
W = Matricule (chaque agent a son propre matricule)
pour chaque matricule, la plage correspondante à toutes les périodes est balayée. Le dernier contrat est mis en forme en couleur si la date la plus récente est inférieure à aujourd'hui.
Bonjour ,
En utilisant la fonction MAX.SI si votre excel est récent (version 2016).
Sinon :
=MAX(SI(A1:A5="Dupont";D1:D5;""))
ATTENTION : Ceci est une formule matricielle : à valider en appuyant simultanément sur Ctrl Shift et Enter
Cordialement,
En utilisant la fonction MAX.SI si votre excel est récent (version 2016).
Sinon :
=MAX(SI(A1:A5="Dupont";D1:D5;""))
ATTENTION : Ceci est une formule matricielle : à valider en appuyant simultanément sur Ctrl Shift et Enter
Cordialement,
Bonjour,
merci pour vos réponses.
Les plages étant amenées à évoluer (ajout de lignes au fur et à mesure) j'ai choisi et adapté la deuxième solution. Néanmoins on dirait qu'il y a 2 problèmes :
- seules les avant dernières dates sont mises en surbrillance, et non pas les dernières, exemple : 15/02/2017 est surligné au lieu de 12/04/2017
- certains noms ont plusieurs dates sélectionnées, par exemple :
31/08/2016 23/10/2016
24/10/2016 07/05/2017
=> pour DUPONT
08/03/2017 29/03/2017
30/03/2017 26/04/2017
=> pour BLANC
Dans mon tableau la date de fin est la colonne AO, la colonne "NOM" est la colonne V et la colonne date de début est AN
D'où l'adaptation :
=$AO2=MAX(SI($V$2:$V$500=$V2;$AN$2:$AO$1000)
J'ai mis 1000 car le tableau fait actuellement 650 lignes et évoluera.
Je n'ai pas fait la même chose pour la colonne date de début : fallait-il ?
Merci
merci pour vos réponses.
Les plages étant amenées à évoluer (ajout de lignes au fur et à mesure) j'ai choisi et adapté la deuxième solution. Néanmoins on dirait qu'il y a 2 problèmes :
- seules les avant dernières dates sont mises en surbrillance, et non pas les dernières, exemple : 15/02/2017 est surligné au lieu de 12/04/2017
- certains noms ont plusieurs dates sélectionnées, par exemple :
31/08/2016 23/10/2016
24/10/2016 07/05/2017
=> pour DUPONT
08/03/2017 29/03/2017
30/03/2017 26/04/2017
=> pour BLANC
Dans mon tableau la date de fin est la colonne AO, la colonne "NOM" est la colonne V et la colonne date de début est AN
D'où l'adaptation :
=$AO2=MAX(SI($V$2:$V$500=$V2;$AN$2:$AO$1000)
J'ai mis 1000 car le tableau fait actuellement 650 lignes et évoluera.
Je n'ai pas fait la même chose pour la colonne date de début : fallait-il ?
Merci
Re
https://mon-partage.fr
et revenez ici (ou en privé si vous préférez) coller le lien créé sur le site
crdlmnt
- je ne vois pas le problème que vous évoquez du moins pas dans mon exemple.S'il subsiste, déposez un modèle de vos infos ici:
https://mon-partage.fr
et revenez ici (ou en privé si vous préférez) coller le lien créé sur le site
- Pour la colonne début, il n'est pas utile de placer une MFC si vous êtes sur que la date maxi pour chaque nom est bien dans l'autre colonne (j'ai proposé les deux options au cas où), mais ça c'est vous qui savez
- dans votre formule veillez à ce que les champ en V et AO aient bien la même hauteur (un à 500 l'autre à 1000)
- si votre MFC ne s'adresse qu'à la colonne O, limitez le champ de dates considérées à AO2:AO1000, chercher dans AN n'est pas utile
crdlmnt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alors petite explication
vous pouvez placer la formule dans une cellule pour voir ce qui se passe, mais sans l'égalité du début:
=MAX(SI($V$2:$V$1000=$V2;$AN$2:$AO$1000))
cette formule est matricielle par défaut dans une MFC, mais pas dans une cellule
elle doit donc alors être entrée avec la touche enter en maintenant les touches ctrl et shift enfoncées. Elle s'affiche automatiquement entre accolades dans la barre de formule
Elle est matricielle car elle analyse la page ligne par ligne
SI($V$2:$V$1000=$V2
détecte les lignes de V qui contiennent la valeur (texte ou num) de V2
MAX(.........;$AN$2:$AO$2000)
compare toutes les valeurs de la plage, mais uniquement sur les lignes détectées précédemment pour en ressortir la valeur maximum.
C'est aussi simple que ça
Vous pouvez donc, par exemple, avec cette formule, faire un tableau avec la liste exhaustive des noms de la colonne V et en face, tirer cette formule sur la hauteur de la liste pour avoir la date au plus tard pour chacun des noms
(Dans la MFC, en complément elle se rapporte à une égalité entre une cellule de la plage et le max trouvé =AO2=.......)
crdlmnt
vous pouvez placer la formule dans une cellule pour voir ce qui se passe, mais sans l'égalité du début:
=MAX(SI($V$2:$V$1000=$V2;$AN$2:$AO$1000))
cette formule est matricielle par défaut dans une MFC, mais pas dans une cellule
elle doit donc alors être entrée avec la touche enter en maintenant les touches ctrl et shift enfoncées. Elle s'affiche automatiquement entre accolades dans la barre de formule
Elle est matricielle car elle analyse la page ligne par ligne
SI($V$2:$V$1000=$V2
détecte les lignes de V qui contiennent la valeur (texte ou num) de V2
MAX(.........;$AN$2:$AO$2000)
compare toutes les valeurs de la plage, mais uniquement sur les lignes détectées précédemment pour en ressortir la valeur maximum.
C'est aussi simple que ça
Vous pouvez donc, par exemple, avec cette formule, faire un tableau avec la liste exhaustive des noms de la colonne V et en face, tirer cette formule sur la hauteur de la liste pour avoir la date au plus tard pour chacun des noms
(Dans la MFC, en complément elle se rapporte à une égalité entre une cellule de la plage et le max trouvé =AO2=.......)
crdlmnt