Dans un précédent article, Sophie vous a présenté la fonction Switch (Si.Multiple). Cette fonction est une alternative à une fonction Si imbriquée qui facilite la rédaction et la lecture. Jusqu’à tout récemment, je pensais que cette fonction n’était applicable que dans les cas où il n’y avait pas de tests logiques. Surprise, ce n’est pas le cas ! On peut aller beaucoup plus loin avec la fonction Si.Multiple !
Fonction Si.Multiple (Switch) – Utilisation principale
Dans son expression la plus simple, la fonction Si.Multiple permet de remplacer des si imbriqués lorsqu’une seule cellule est évaluée pour déterminer un résultat.
Par exemple, pour déterminer le nom du jour de la semaine dans l’exemple ci-dessous on pourrait utiliser une série de si imbriqués de la façon suivante :
La fonction Si.Multiple permet d’alléger la formule en sélectionnant qu’une seule fois la cellule à analyser. Par la suite, la cellule analysée est comparée à différentes valeurs.
Si la comparaison renvoie la valeur « VRAI », le résultat correspondant est renvoyé.
Dans cet exemple, on voit très clairement dans la formule les différents cas analysés et les résultats correspondants.
Fonction Si.Multiple (Switch) avec opérateur
Il est aussi possible d’ajouter des conditions plus complexes à l’intérieur d’une fonction Si.Multiple mais on doit procéder un peu différemment. Par exemple, j’aimerais pouvoir classifier des valeurs selon différentes fourchettes.
- Moins de 200 = Bas
- 200-500 = Moyen
- 500-900 = Haut
- Plus de 900 = Très haut
Avec les si imbriqués, on peut appliquer cette logique de la façon suivante :
Avec le Si.Multiple, j’aurais aimé pouvoir construire une formule du type :
Malheureusement, la fonction Si.Multiple ne peut pas être utilisée comme ça. En réalité, la fonction Si.Multiple compare la valeur du premier argument (cellule B13 = 329.5) avec la valeur 1 (« < »&200). Comme ces deux arguments sont différents, la condition n’est pas respectée.
Elle passe ensuite à la valeur 2 pour comparer la valeur du premier argument (cellule B13 = 329.5) avec la valeur 2 (« < »&500). La condition n’est toujours pas respectée puisque 329.5 ≠ « < »&500.
Et ainsi de suite jusqu’à la dernière valeur. La fonction Si.Multiple renvoie donc le dernier argument « Très Haut » puisqu’il s’agit de la valeur à renvoyer lorsque toutes les conditions sont fausses. On doit donc procéder différemment.
La façon d’y arriver est de ramener l’expression complète dans chaque valeur et de modifier l’expression à évaluer par la valeur « VRAI ».
De cette façon, lorsque la fonction évalue si B13<500, le résultat est « VRAI ». Lorsque la fonction compare l’expression « Vrai » avec le résultat obtenu, elle trouve une correspondance et peut renvoyer la valeur « Moyen ».
C’est donc une excellente façon de clarifier nos formules plutôt que d’utiliser des si imbriqués qui deviennent rapidement difficiles à lire !
À noter que le comportement de la fonction Si.Multiple est le même en DAX pour ceux parmi vous qui voudriez l’utiliser dans Power BI ou Power Pivot.
Voyez le tout en action dans ce tutoriel
🎞️ Abonnez-vous à notre chaîne YouTube
Bon visionnement !
Fichier d’accompagnement VIP à télécharger
Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.
Formation complémentaire
Pour en savoir plus sur les fonctions d’Excel, qui permettent de manipuler, gérer et transformer des données qui proviennent de diverses sources et différents formats, sans faire intervenir Power Query ou le VBA, suivez la formation Excel – Traitement, manipulation et analyse de données.