formateur informatique

Recouper les critères dynamiques pour des extractions précises

Accueil  >  Bureautique  >  Excel  >  Excel Avancé  >  Recouper les critères dynamiques pour des extractions précises
Livres à télécharger


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


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Multiples critères dynamiques - Python dans Excel

Nous avons découvert précédemment comment émettre des critères dynamiques, c'est-à-dire par rapport à des valeurs contenues dans des cellules, pour créer des formules Python capables de réaliser des synthèses ou des extractions très précises. Ici, nous allons apprendre à combiner ces conditions numériques et textuelles avec des critères ET et OU.

Classeur Excel à télécharger
Nous suggérons de baser l'étude sur un classeur Excel existant. Tableau Excel pour extractions combinées par formule Python

Nous découvrons un tableau d'articles vestimentaires entre les colonnes A et D. Ils sont référencés sur la désignation (Article), la taille, la couleur et le prix. Sur la droite, une zone multicritère est émise. Le prix doit être inférieur à 35 Euros et dans le même temps l'article doit être de taille S ou M. Bien sûr, ces conditions peuvent évoluer à souhait sur la simple volonté de l'utilisateur. En dessous, une grille d'extraction, vide pour l'instant, attend la sentence.

Le DataFrame
Comme vous le savez désormais, pour manipuler les données d'un tableau Excel avec des méthodes Python, nous devons commencer par l'encapsuler.
  • Cliquer sur la première case vide de la zone de critère pour sélectionner la cellule F3,
  • Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
  • Débuter la syntaxe comme suit : art=,
art est le nom que nous souhaitons attribuer à l'objet devant représenter les données.
  • De fait, sélectionner tout le tableau soit la plage A3:D16,
  • Puis, valider la formule par le raccourci clavier CTRL + Entrée,
Nous obtenons le DataFrame représentant désormais le tableau. La formule que nous avons construite est la suivante : art=xl("A3:D16", headers=True).

Encapsuler les critères
Pour filtrer ce tableau avec une méthode Python, selon les trois conditions émises, nous devons aussi les embarquer.
  • Cliquer sur la case vide en dessous du premier critère pour sélectionner la cellule G5,
  • Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
  • Débuter la syntaxe comme suit : cr1=,
  • Puis, cliquer sur la cellule G4 de la première condition : xl("G4"),
Ce premier critère est donc désormais représenté par le nom d'objet cr1.
  • Selon le même procédé, créer l'objet cr2 en H5 : cr2=xl("H4"),
  • Puis, créer l'objet cr3 en I5 : cr3=xl("I4"),
L'extraction filtrante
Maintenant que les conditions dynamiques sont représentées par des objets Python, il est temps de bâtir la formule d'extraction filtrante à partir de l'objet art, représentant le tableau de données.
  • Cliquer sur la case vide au-dessus de la grille d'extraction pour sélectionner la cellule F7,
  • Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
  • Débuter la syntaxe comme suit : art.query(,
Nous appliquons la méthode Python query sur l'objet art pour y exécuter une requête multicritère.
  • Après la parenthèse, débuter la construction de la requête comme suit : f",
La lettre f indique que l'expression que nous allons bâtir est de type f-string, c'est-à-dire qu'elle va embarquer des critères dynamiques à interpréter.
  • Enoncer le premier critère comme suit : Prix<={cr1},
Dans les conditions à respecter pour l'extraction, le prix doit en effet être inférieur à celui mentionné en cellule G4 et représenté par l'objet cr1.
  • Poursuivre la syntaxe de cette façon :   and (,
Il ne faut pas oublier les espaces avant et après le mot clé And. Cet opérateur indique que nous allons recouper cette première condition avec d'autres. La parenthèse ouvrante va nous permettre d'émettre un critère OU (soit cette taille ou celle-là) à recouper avec la première condition numérique que nous venons d'énoncer.
  • Dans cette deuxième parenthèse inscrire les deux conditions non exclusives, comme suit :
Taille=='{cr2}' or Taille=='{cr3}'

Il faut bien penser à encadrer chacun de ces deux critères avec des simples côtes. Il s'agit en effet de conditions textuelles.
  • Fermer la parenthèse de ces critères combinés,
  • Fermer les guillemets de la requête multicritère,
  • Fermer la parenthèse de la méthode query,
  • Puis, valider la formule par le raccourci clavier CTRL + Entrée,
Nous obtenons un nouveau DataFrame mais cette fois, nous souhaitons exploiter les données visuellement.
  • De fait, à gauche de la barre de formule, cliquer sur la flèche dirigée vers le bas,
  • Dans les propositions, choisir Valeur Excel,
Nous obtenons bien une collection restreinte des articles en taille S ou M et nécessairement à moins de 35 Euros.

Extraction sur de multiples critères par formule Python dans Excel

Et bien sûr, si vous modifiez l'un ou l'autre critère, vous remarquez que l'extraction filtrante s'ajuste aussitôt et en parfaite cohérence.

Trier les données filtrées
Cependant, pour parfaire la solution d'extraction multicritère, il apparaît opportun d'organiser les données à la sortie dans un ordre croissant sur les prix. Ce choix s'avère d'autant plus opportun si les données résultantes à analyser sont encore nombreuses. Et comme nous l'avons déjà appris, c'est la méthode Python sort_values, à appliquer en cascade, qui permet d'organiser ces tris.
  • Sélectionner de nouveau la cellule F7 du précédent calcul d'extraction,
  • Dans la barre de formule, cliquer à la toute fin de la syntaxe pour y placer le point d'insertion,
  • Taper un point (.) pour annoncer la nouvelle méthode à suivre,
  • Puis, inscrire la fonction de tri comme suit : sort_values("Prix"),
  • Enfin, valider cette formule ultime par le raccourci clavier CTRL + Entrée,
Notre extraction réagit toujours en parfaite cohérence avec les trois conditions formulées mais cette fois, les données résultantes sont ordonnées dans l'ordre croissant sur les prix. Les interprétations s'en trouvent forcément grandement simplifiées.

Trier les données filtrées par formule Python dans Excel

 
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