Power Query : Instruction If - ifs imbriqués et conditions multiples
Dans Excel Power Query, l'instruction IF est l'une des fonctions les plus populaires pour vérifier une condition et retourner une valeur spécifique selon que le résultat est VRAI ou FAUX. Il existe quelques différences entre cette instruction if et la fonction SI d'Excel. Dans ce tutoriel, je vais vous présenter la syntaxe de cette instruction if ainsi que quelques exemples simples et complexes.
Syntaxe de base de l'instruction if dans Power Query
Instruction if dans Power Query en utilisant une colonne conditionnelle
Instruction if dans Power Query en écrivant le code M
Syntaxe de base de l'instruction if dans Power Query
Dans Power Query, la syntaxe est :
- logical_test : La condition que vous souhaitez tester.
- value_if_true : La valeur à retourner si le résultat est VRAI.
- value_if_false : La valeur à retourner si le résultat est FAUX.
Dans Excel Power Query, il existe deux façons de créer ce type de logique conditionnelle :
- Utiliser la fonction Colonne Conditionnelle pour certains scénarios de base ;
- Écrire du code M pour des scénarios plus avancés.
Dans la section suivante, je vais aborder quelques exemples d'utilisation de cette instruction if.
Instruction if dans Power Query en utilisant une colonne conditionnelle
Exemple 1 : Instruction if de base
Ici, je vais vous montrer comment utiliser cette instruction if dans Power Query. Par exemple, j'ai un rapport produit comme suit : si le statut du produit est Ancien, afficher une remise de 50 % ; si le statut du produit est Nouveau, afficher une remise de 20 %, comme illustré dans les captures d'écran ci-dessous.
1. Sélectionnez le tableau de données dans la feuille de calcul, puis, dans Excel 2019 et Excel 365, cliquez sur Données > À partir du tableau/plage, voir capture d'écran :
Remarque : Dans Excel 2016 et Excel 2021, cliquez sur Données > À partir du tableau, voir capture d'écran :
2. Ensuite, dans la fenêtre Éditeur Power Query qui s'ouvre, cliquez sur Ajouter une colonne > Colonne conditionnelle, voir capture d'écran :
3. Dans la boîte de dialogue Ajouter une colonne conditionnelle qui apparaît, effectuez les opérations suivantes :
- Nom de la nouvelle colonne : Entrez un nom pour la nouvelle colonne ;
- Ensuite, spécifiez les critères dont vous avez besoin. Par exemple, je spécifierai Si le Statut est égal à Ancien alors 50 % sinon 20 % ;
- Nom de la colonne : La colonne à évaluer par rapport à votre condition if. Ici, je sélectionne Statut.
- Opérateur: Logique conditionnelle à utiliser. Les options différeront selon le type de données du Nom de la colonne sélectionné.
- Texte : commence par, ne commence pas par, égal à, contient, etc.
- Nombres : égal à, différent de, supérieur ou égal à, etc.
- Date : avant, après, égal à, différent de, etc.
- Valeur : La valeur spécifique à comparer lors de l'évaluation. Avec le Nom de la colonne et l'Opérateur, elle forme une condition.
- Résultat : La valeur à retourner si la condition est remplie.
- Sinon : Une autre valeur à retourner lorsque la condition est fausse.
4. Ensuite, cliquez sur le bouton OK pour revenir à la fenêtre Éditeur Power Query. Maintenant, une nouvelle colonne Remise a été ajoutée, voir capture d'écran :
5. Si vous souhaitez formater les nombres en pourcentage, cliquez simplement sur l'icône ABC123 dans l'en-tête de la colonne Remise, et choisissez Pourcentage selon vos besoins, voir capture d'écran :
6. Enfin, cliquez sur Accueil > Fermer et charger > Fermer et charger pour charger ces données dans une nouvelle feuille de calcul.
Exemple 2 : Instruction if complexe
Avec cette option Colonne Conditionnelle, vous pouvez également insérer deux conditions ou plus dans la boîte de dialogue Ajouter une colonne conditionnelle. Procédez comme suit :
1. Sélectionnez le tableau de données, et accédez à la fenêtre Éditeur Power Query en cliquant sur Données > À partir du tableau/plage. Dans la nouvelle fenêtre, cliquez sur Ajouter une colonne > Colonne conditionnelle.
2. Dans la boîte de dialogue Ajouter une colonne conditionnelle qui apparaît, effectuez les opérations suivantes :
- Entrez un nom pour la nouvelle colonne dans la zone de texte Nom de la nouvelle colonne ;
- Spécifiez le premier critère dans le premier champ de critères, puis cliquez sur le bouton Ajouter une clause pour ajouter d'autres champs de critères selon vos besoins.
3. Après avoir terminé les critères, cliquez sur le bouton OK pour revenir à la fenêtre Éditeur Power Query. Vous obtiendrez maintenant une nouvelle colonne avec le résultat correspondant dont vous avez besoin. Voir capture d'écran :
4. Enfin, cliquez sur Accueil > Fermer et charger > Fermer et charger pour charger ces données dans une nouvelle feuille de calcul.
Instruction if dans Power Query en écrivant le code M
Normalement, la Colonne Conditionnelle est utile pour certains scénarios de base. Parfois, vous devrez peut-être utiliser plusieurs conditions avec une logique ET ou OU. Dans ce cas, vous devez écrire du code M dans une Colonne Personnalisée pour des scénarios plus complexes.
Exemple 1 : Instruction if de base
Prenons les premières données comme exemple, si le statut du produit est Ancien, afficher une remise de 50 % ; si le statut du produit est Nouveau, afficher une remise de 20 %. Pour écrire le code M, procédez comme suit :
1. Sélectionnez le tableau, et cliquez sur Données > À partir du tableau/plage pour accéder à la fenêtre Éditeur Power Query.
2. Dans la fenêtre ouverte, cliquez sur Ajouter une colonne > Colonne personnalisée, voir capture d'écran :
3. Dans la boîte de dialogue Colonne personnalisée qui apparaît, effectuez les opérations suivantes :
- Entrez un nom pour la nouvelle colonne dans la zone de texte Nom de la nouvelle colonne ;
- Ensuite, saisissez cette formule : if [Statut] = "Ancien " then "50% " else "20% " dans la zone de formule de la colonne personnalisée.
4. Ensuite, cliquez sur OK pour fermer cette boîte de dialogue. Vous obtiendrez maintenant le résultat suivant dont vous avez besoin :
5. Enfin, cliquez sur Accueil > Fermer et charger > Fermer et charger pour charger ces données dans une nouvelle feuille de calcul.
Exemple 2 : Instruction if complexe
Généralement, pour tester les sous-conditions, vous pouvez imbriquer plusieurs instructions if. Par exemple, j'ai le tableau de données ci-dessous. Si le produit est « Robe », appliquer une remise de 50 % sur le prix initial ; si le produit est « Pull » ou « Sweat à capuche », appliquer une remise de 20 % sur le prix initial ; et conserver le prix initial pour les autres produits.
1. Sélectionnez le tableau de données, et cliquez sur Données > À partir du tableau/plage pour accéder à la fenêtre Éditeur Power Query.
2. Dans la fenêtre ouverte, cliquez sur Ajouter une colonne > Colonne personnalisée. Dans la boîte de dialogue Colonne personnalisée ouverte, effectuez les opérations suivantes :
- Entrez un nom pour la nouvelle colonne dans la zone de texte Nom de la nouvelle colonne ;
- Ensuite, saisissez la formule ci-dessous dans la zone de formule de la colonne personnalisée.
- = if [Produit] = "Robe" then [Prix] * 0.5 else
if [Produit] = "Pull" then [Prix] * 0.8 else
if [Produit] = "Sweat à capuche" then [Prix] * 0.8
else [Prix]
3. Puis, cliquez sur le bouton OK pour revenir à la fenêtre Éditeur Power Query, et vous obtiendrez une nouvelle colonne avec les données dont vous avez besoin, voir capture d'écran :
4. Enfin, cliquez sur Accueil > Fermer et charger > Fermer et charger pour charger ces données dans une nouvelle feuille de calcul.
Instruction if avec logique OU
La logique OU effectue plusieurs tests logiques, et le résultat vrai sera retourné si l'un des tests logiques est vrai. La syntaxe est :
Supposons que j'ai le tableau ci-dessous, maintenant, je veux qu'une nouvelle colonne affiche : si le produit est « Robe » ou « T-shirt », alors la marque est « AAA », la marque des autres produits est « BBB ».
1. Sélectionnez le tableau de données, et cliquez sur Données > À partir du tableau/plage pour accéder à la fenêtre Éditeur Power Query.
2. Dans la fenêtre ouverte, cliquez sur Ajouter une colonne > Colonne personnalisée, dans la boîte de dialogue Colonne personnalisée ouverte, effectuez les opérations suivantes :
- Entrez un nom pour la nouvelle colonne dans la zone de texte Nom de la nouvelle colonne ;
- Ensuite, saisissez la formule ci-dessous dans la zone de formule de la colonne personnalisée.
- = if [Produit] = "Robe" or [Produit] = "T-shirt" then "AAA"
else "BBB"
3. Puis, cliquez sur le bouton OK pour revenir à la fenêtre Éditeur Power Query, et vous obtiendrez une nouvelle colonne avec les données dont vous avez besoin, voir capture d'écran :
4. Enfin, cliquez sur Accueil > Fermer et charger > Fermer et charger pour charger ces données dans une nouvelle feuille de calcul.
Instruction if avec logique ET
La logique ET effectue plusieurs tests logiques dans une seule instruction if. Tous les tests doivent être vrais pour que le résultat vrai soit retourné. Si l'un des tests est faux, le résultat faux est retourné. La syntaxe est :
Reprenons les données précédentes comme exemple. Je veux qu'une nouvelle colonne affiche : si le produit est « Robe » et la commande est supérieure à 300, alors appliquer une remise de 50 % sur le prix initial ; sinon, conserver le prix initial.
1. Sélectionnez le tableau de données, et cliquez sur Données > À partir du tableau/plage pour accéder à la fenêtre Éditeur Power Query.
2. Dans la fenêtre ouverte, cliquez sur Ajouter une colonne > Colonne personnalisée. Dans la boîte de dialogue Colonne personnalisée ouverte, effectuez les opérations suivantes :
- Entrez un nom pour la nouvelle colonne dans la zone de texte Nom de la nouvelle colonne ;
- Ensuite, saisissez la formule ci-dessous dans la zone de formule de la colonne personnalisée.
- = if [Produit] ="Robe" and [Commande] > 300 then [Prix]*0.5
else [Prix]
3. Ensuite, cliquez sur le bouton OK pour revenir à la fenêtre Éditeur Power Query, et vous obtiendrez une nouvelle colonne avec les données dont vous avez besoin, voir capture d'écran :
4. Enfin, chargez ces données dans une nouvelle feuille de calcul en cliquant sur Accueil > Fermer et charger > Fermer et charger.
Instruction if avec logiques OU et ET
D'accord, les exemples précédents sont faciles à comprendre. Maintenant, rendons cela plus difficile. Vous pouvez combiner ET et OU pour former n'importe quelle condition imaginable. Dans ce type, vous pouvez utiliser des parenthèses dans la formule pour définir des règles complexes.
Reprenons encore une fois les données précédentes comme exemple, supposons que je veuille qu'une nouvelle colonne affiche : si le produit est « Robe » et sa commande est supérieure à 300, ou si le produit est « Pantalon » et sa commande est supérieure à 300, alors afficher « A+ », sinon, afficher « Autre ».
1. Sélectionnez le tableau de données, et cliquez sur Données > À partir du tableau/plage pour accéder à la fenêtre Éditeur Power Query.
2. Dans la fenêtre ouverte, cliquez sur Ajouter une colonne > Colonne personnalisée. Dans la boîte de dialogue Colonne personnalisée ouverte, effectuez les opérations suivantes :
- Entrez un nom pour la nouvelle colonne dans la zone de texte Nom de la nouvelle colonne ;
- Ensuite, saisissez la formule ci-dessous dans la zone de formule de la colonne personnalisée.
- =if ([Produit] = "Robe" and [Commande] > 300 ) or
([Produit] = "Pantalon" and [Commande] > 300 )
then "A+"
else "Autre"
3. Ensuite, cliquez sur le bouton OK pour revenir à la fenêtre Éditeur Power Query, et vous obtiendrez une nouvelle colonne avec les données dont vous avez besoin, voir capture d'écran :
4. Enfin, chargez ces données dans une nouvelle feuille de calcul en cliquant sur Accueil > Fermer et charger > Fermer et charger.
Dans la zone de formule de la colonne personnalisée, vous pouvez utiliser les opérateurs logiques suivants :
- = : Égal à
- <> : Différent de
- > : Supérieur à
- >= : Supérieur ou égal à
- < : Inférieur à
- <= : Inférieur ou égal à
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !