formateur informatique

Repérer les trois plus petits selon critère avec Excel

Accueil  >  Bureautique  >  Excel  >  Excel Astuces  >  Repérer les trois plus petits selon critère avec Excel
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Inscription Newsletter
Sujets que vous pourriez aussi aimer :


Repérer les valeurs seuils sur critère

Avec cette nouvelle astuce Excel, nous allons voir comment repérer automatiquement en couleur les N moins bons ou les X meilleurs résultats. Certes Excel propose déjà des règles de mise en forme conditionnelle toutes faites à ce sujet, mais pas lorsqu'il s'agit d'additionner un critère ou des critères à ce repérage.

Repérer en couleurs dynamiques les moins bons résultats dans un tableau Excel

Sur l'exemple illustré par la capture, en fonction d'une équipe choisie par le biais d'une liste déroulante, ce sont les trois moins bons résultats qui sont identifiés en orange. Et nous allons le voir, c'est un raisonnement matriciel assimilé qui permet à une règle de mise en forme conditionnelle de réaliser cette prouesse.



Classeur source
Pour la démonstration de cette nouvelle astuce Excel, nous proposons d'appuyer l'étude sur un classeur offrant ces données à manipuler. Nous découvrons effectivement le tableau des résultats entre les colonnes B et D. En cellule F4, une liste déroulante permet de choisir parmi l'une des trois équipes représentées. Mais bien sûr à ce stade, ce choix n'induit encore aucun repérage de couleur dans le tableau. La colonne des équipes porte le nom Equipes tandis que celle des scores est intitulée Scores. Vous pouvez le constater en déployant la zone Nom en haut à gauche de la feuille Excel.

Les trois pires de l'équipe
Pour débuter, il est donc question de bâtir une règle de mise en forme conditionnelle capable d'identifier en couleur les trois moins bons résultats pour l'équipe choisie avec la liste déroulante. C'est un double critère qui doit être honoré. Il s'agit tout d'abord de vérifier la condition sur l'équipe et ensuite de vérifier que le résultat en regard est bien l'un des trois plus petits, toujours pour l'équipe en question. Et pour cela, Excel offre la fonction Petite.Valeur à exercer sur la plage des scores, restreinte par la condition, avec un rang de trois unités en second argument, pour les trois plus petits. Et comme vous le savez, une mise en forme conditionnelle s'exerce sur une plage de cellules explicitement sélectionnée préalablement.
  • Sélectionner toutes les données du tableau sans les titres, soit la plage de cellules B4:D18,
  • Dans la section Styles du ruban Accueil, cliquer sur le bouton Mise en forme conditionnelle,
  • En bas des propositions, choisir l'option Nouvelle règle,
  • Dans la boîte de dialogue qui suit, sélectionner le type : Utiliser une formule pour ...,
  • Cliquer alors dans la zone de saisie du dessous pour l'activer,
  • Puis, taper le symbole égal (=) pour initier la syntaxe de la règle de mise en forme,
  • Inscrire la fonction pour recouper les conditions, suivie d'une parenthèse, soit : Et(,
  • Cliquer sur la première équipe pour la désigner, ce qui donne : $C$4,
Nous le répétons à chaque occasion, l'analyse d'une mise en forme conditionnelle est chronologique. Toutes les cellules vont être passées en revue tour à tour. Pour émettre le critère sur l'équipe, nous débutons donc à partir de la première.
  • Enfoncer deux fois la touche F4 du clavier, ce qui donne : $C4,
De cette manière, nous ne conservons qu'un seul dollar et il est placé devant l'indice de colonne. En effet, lorsqu'elle correspond aux critères, c'est toute la ligne qui doit surgir en couleur. Mais pour une même ligne, l'analyse de la condition doit se faire en colonne C que nous conservons figée. Nous libérons la ligne pour que le critère puisse être vérifié sur toutes les autres équipes dans la chronologie.
  • Taper le symbole égal (=) pour annoncer le critère à vérifier,
  • Puis, cliquer sur la cellule F4 de la liste déroulante, ce qui donne : $F$4,
Ainsi, nous établissons la correspondance à observer sur la colonne des équipes avec le choix de l'utilisateur émis par le biais de la liste déroulante. Et naturellement cette fois, nous conservons cette cellule figée. Elle ne doit pas se déplacer avec la chronologie de la règle.
  • Taper un point-virgule (;) pour poursuivre l'énumération des critères,
La seconde condition doit être posée sur la plage des scores. Pour une équipe choisie, la valeur doit être l'une des trois plus petites.
  • Cliquer sur la cellule D4 du premier score, ce qui donne :$D$4,
  • Enfoncer deux fois la touche F4 du clavier pour la libérer seulement en ligne, soit : $D4,
  • Puis, inscrire le critère d'inégalité suivant : <=,
Le score doit être inférieur ou égal aux trois plus petites valeurs pour l'équipe sélectionnée.
  • Inscrire la fonction des petites valeurs suivie d'une parenthèse, soit : Petite.Valeur(,
Pour ressortir les trois plus petites valeurs à comparer avec le résultat en cours d'analyse par la règle, nous ne devons pas désigner la plage complète des scores. Cette étude doit se faire sur la plage conditionnelle des scores, soit la plage purgée des autres équipes.
  • Inscrire la fonction conditionnelle suivie d'une parenthèse, soit : Si(,
  • Désigner la plage des équipes par son nom, soit Equipes,
  • Taper le symbole égal (=) pour annoncer la condition à honorer,
  • Puis, cliquer sur la cellule F4 de la liste déroulante, ce qui donne : $F$4,
  • Taper un point-virgule (;) pour passer dans la branche Alors de la fonction Si,
  • Puis, désigner la plage des scores par son nom, soit : Scores,
Ainsi, nous allons bien chercher à identifier les trois plus petits résultats, en fonction du critère émis par la fonction Si sur la plage des scores, donc uniquement pour l'équipe choisie par l'utilisateur avec la liste déroulante en cellule F4.
  • Fermer la parenthèse de la fonction Si,
Nous ne prenons pas le soin de renseigner la branche Sinon de la fonction Si. Ce cas est hors sujet dans l'analyse que nous avons engagée.
  • Taper un point-virgule (;) pour passer dans l'argument du rang de la fonction Petite.Valeur,
  • Saisir le chiffre 3 pour isoler les trois moins bons résultats de l'équipe,
  • Fermer la parenthèse de la fonction Petite.Valeur,
  • Puis, fermer la parenthèse de la fonction Et,
Lorsque ces deux conditions sont vérifiées ensemble, nous devons faire ressortir les lignes concernées dans un orange pâle.
  • Pour cela, cliquer sur le bouton Format en bas de la boîte de dialogue,
  • Dans la boîte de dialogue qui suit, activer l'onglet Police,
  • Avec la seconde liste déroulante, choisir un orange pâle pour la couleur du texte,
  • Valider cet attribut de format avec le bouton Ok,
  • De retour sur la première boîte de dialogue, valider la règle avec le bouton Ok,
Repérer en couleur les trois plus petits avec Excel

Comme vous pouvez l'apprécier, à chaque changement d'équipe par le biais de la liste déroulante, ce sont bien les trois moins bons scores qui surgissent automatiquement en couleur. La syntaxe de la règle de mise en forme conditionnelle que nous avons bâtie est la suivante :

=Et($C4=$F$4; $D4<=PETITE.VALEUR(SI(Equipes=$F$4; Scores); 3))

Si nous avions souhaité repérer les trois meilleurs résultats, le principe aurait été le même à quelques détails près. Il aurait d'abord suffi de remplacer la fonction Petite.Valeur par la fonction Grande.Valeur. Mais bien entendu, il aurait aussi fallu inverser le critère d'inégalité pour vérifier que le score en cours d'analyse faisait bien partie des trois meilleurs.



Somme des trois pires
Pour une synthèse aboutie, nous souhaitons maintenant nous occuper des résultats à livrer en cellules F7 et F10. Ils concernent respectivement les sommes des trois pires et trois meilleurs résultats pour l'équipe choisie. C'est un raisonnement doublement matriciel que nous devons engager. Avec la fonction SommeProd, nous pouvons croiser plusieurs plages de cellules. La première concerne celle des équipes recoupant le critère de la liste déroulante. La deuxième concerne la vérification du score parmi les trois plus petits sur la plage des scores dans la mesure où l'équipe est bien celle de la liste déroulante. Jusque-là, le raisonnement est similaire à celui de la mise en forme conditionnelle. La fonction SommeProd va répondre par des matrices identifiant les positions concordantes à l'aide de valeurs booléennes sous forme de chiffres 1 et 0. En multipliant une fois encore ces résultats par une troisième matrice, celle des valeurs de la plage des scores, nous obtiendrons à l'issue l'addition uniquement des trois plus petites valeurs pour l'équipe désignée.
  • Cliquer sur la cellule F7 pour la sélectionner,
  • Taper le symbole égal (=) pour initier la syntaxe de la formule matricielle,
  • Inscrire le nom de la fonction matricielle suivi d'une parenthèse, soit : SommeProd(,
  • A gauche de la barre de formule, cliquer sur le bouton Assistant fonction (fx),
Assistant fonction Excel SommeProd

L'assistant pour la fonction SommeProd apparaît. La zone Matrice1 est active par défaut.
  • Dans cette zone, ouvrir une parenthèse pour accueillir la première matrice conditionnelle,
  • Désigner la plage des Equipes par son nom, soit Equipes,
En effet, nous ne sommes plus dans un raisonnement chronologique d'une mise en forme conditionnelle. Nous sommes entrés dans une construction matricielle. C'est la raison pour laquelle nous raisonnons sur l'intégralité des plages. Les formules matricielles ont la faculté de les analyser entièrement dans un seul et même calcul non répliqué.
  • Taper le symbole égal (=) pour annoncer le critère à honorer,
  • Puis, cliquer sur la cellule F4 de l'équipe choisie,
Cette première matrice conditionnelle doit donc bien établir la correspondance entre les équipes listées et celle choisie par l'utilisateur par le biais de la liste déroulante.
  • Fermer alors la parenthèse de cette première matrice conditionnelle,
Comme vous pouvez le constater, une matrice de valeurs booléennes rend aussitôt compte de l'interprétation d'Excel sur ce recoupement. Il s'agit d'un enchaînement de Vrai et de Faux pour repérer les positions respectives des équipes concordantes et non concordantes.

Repérer les positions des valeurs concordantes avec Excel

Mais pour que la multiplication avec les autres matrices conditionnelles puisse être réalisée, nous devons convertir ces booléens en chiffres. Pour cela, rien de plus simple, il suffit de multiplier cette matrice par le chiffre 1.
  • Forcer la conversion en chiffres par la multiplication, soit : *1,
Comme vous pouvez le voir dans la matrice résultante, tous les booléens sont effectivement convertis dans leurs équivalents numériques.
  • Cliquer dans la zone Matrice2 pour l'activer,
Comme pour la mise en forme conditionnelle, il est maintenant question d'identifier les trois moins bons résultats pour l'équipe choisie. Les fonctions sont les mêmes mais le raisonnement se fait sur les matrices complètes, comme nous l'avons expliqué.
  • Ouvrir une parenthèse pour accueillir la seconde matrice conditionnelle,
  • Désigner la plage des scores par son nom, soit : Scores,
  • Taper le critère d'inégalité suivant : <=,
  • Inscrire la fonction des petites valeurs suivie d'une parenthèse, soit : Petite.Valeur(,
Comme précédemment, ces valeurs minimales doivent être observées en fonction de la condition émise sur l'équipe.
  • Inscrire la fonction conditionnelle suivie d'une parenthèse, soit : Si(,
  • Désigner la plage des équipes par son nom, soit : Equipes,
  • Taper le symbole égal (=) pour annoncer la condition à honorer,
  • Cliquer de nouveau sur la cellule F4 pour désigner l'équipe choisie par l'utilisateur,
  • Taper un point-virgule (;) pour passer dans la branche Alors de la fonction Si,
  • Désigner la plage des résultats par son nom, soit : Scores,
  • Puis fermer la parenthèse de la fonction Si,
Nous venons de désigner la plage restreinte des scores en fonction de l'équipe choisie pour en ressortir les trois moins bons résultats. Il nous reste donc à définir le rang de la fonction Petite.Valeur.
  • Taper un point-virgule (;) pour passer dans cet argument,
  • Inscrire le chiffre 3 pour trouver les trois moins bons,
  • Fermer la parenthèse de la fonction Petite.Valeur,
  • Puis, fermer la parenthèse de la matrice conditionnelle,
Les indicateurs booléens de position apparaissent aussitôt en regard de la zone Matrice2.
  • Cliquer après la parenthèse de la matrice conditionnelle pour y placer le point d'insertion,
  • Forcer la conversion de ces valeurs booléennes en chiffres, soit : *1,
Recouper des matrices conditionnelles avec la fonction Excel SommeProd

Les multiplications par zéro éliminent automatiquement les résultats de l'équipe ne faisant pas partie des trois moins bons scores. En revanche, la multiplication du chiffre 1 par le chiffre 1 conserve les positions des données à exploiter. En multipliant ces chiffres par la matrice des scores, étant donné que la vocation de la fonction SommeProd est d'additionner toutes ces valeurs multipliées à l'issue, nous obtiendrons bien la somme des trois moins bonnes valeurs.
  • Cliquer dans la zone Matrice3 pour l'activer,
  • Désigner la plage des résultats par son nom, soit : Scores,
Somme des trois plus petites valeurs par formule matricielle Excel

Aussitôt, la synthèse est livrée en bas à droite de l'assistant fonction SommeProd. Et il va être très simple de vérifier la véracité de cette donnée.
  • Valider la formule par le raccourci clavier CTRL + MAJ + Entrée,
C'est une première ! En effet, la fonction Excel SommeProd raisonne naturellement de façon matricielle. Mais ce n'est pas le cas naturellement de la fonction Petite.Valeur. Pour lui imposer de raisonner sur l'intégralité des plages qui lui sont passées, nous la forçons ainsi à l'intérieur de la fonction SommeProd.

Pour l'équipe 1 par exemple, nous obtenons un total de 470. Si vous sélectionnez ensemble les scores des trois cellules repérées en orange et que vous consultez l'information sur la somme des valeurs sélectionnées dans la barre d'état en bas de la fenêtre Excel, vous constatez que le résultat matriciel est parfaitement cohérent.

Somme des cellules sélectionnées dans barre état Excel

Bien entendu, si vous changez d'équipe avec la liste déroulante, la synthèse s'ajuste automatiquement en même temps que les emplacements des couleurs conditionnelles de repérage. La syntaxe complète de la formule matricielle que nous avons construite est la suivante :

{=SOMMEPROD((Equipes=F4)*1; (Scores<=PETITE.VALEUR(SI(Equipes=F4; Scores); 3))*1; Scores)}



Somme des trois meilleurs
Maintenant, il est question de livrer la somme des trois meilleurs scores en fonction de l'équipe choisie. Le principe est identique. Il suffit de remplacer la fonction Petite.Valeur par la fonction Grande.Valeur et bien sûr d'inverser le critère d'inégalité.
  • Cliquer sur la cellule F7 pour la sélectionner,
  • Dans sa barre de formule, sélectionner et copier (CTRL + C) la syntaxe du calcul,
  • Puis, sortir de la barre de formule avec la touche Echap pour ne pas endommager le calcul,
  • Sélectionner alors la cellule F10,
  • Coller la syntaxe précédemment copiée dans sa barre de formule,
  • Remplacer la fonction Petite.Valeur par la fonction Grande.Valeur,
  • Puis, inverser le critère d'inégalité : >=,
  • Dès lors, valider la formule matricielle par le raccourci clavier CTRL + MAJ + Entrée,
Somme des trois plus grandes valeurs avec Excel

Là aussi, le résultat de synthèse est simple à corroborer en sélectionnant les trois meilleurs résultats : {=SOMMEPROD((Equipes=F4)*1; (Scores>=GRANDE.VALEUR(SI(Equipes=F4; Scores); 3))*1; Scores)}

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn