La fonction si.multiple()
La fonction si.multiple() est
une fonction étrange. Son objectif annoncé est de permettre à l’utilisateur
d’éviter, en recourant à elle, l’imbrication de plusieurs si() les uns dans
les autres. Sa syntaxe annoncée est :
=si.multiple(expression;valeur1;résultat1;défaut_ou_valeur2;résultat2;...)
Quand on regarde les blogs ou les
vidéos Excel, on voit à ce sujet de multiples exemples dans lesquels on a du
mal à voir l’intérêt de la fonction, par exemple :
=si.multiple(B4;1;"lundi";2;"mardi";3;"mercredi";"autre")
Dans un tel cas, ou pourrait tout
aussi bien utiliser la fonction recherche() ou la fonction choisir(), et ce serait bien plus
léger… Ou même, jusqu’à un certain point, utiliser tout simplement un format
comme jjjj…
Je vais vous montrer une
application plus créative de cette fonction, en reprenant notre base habituelle,
que nous avons légèrement modifiée pour une troisième option de sexe.
Nous voulons obtenir en colonne H
le prénom et le nom de la personne s’il s’agit d’un homme, et le prénom et le
salaire s’il s’agit d’une femme, et un troisième message si le sexe n’est pas
renseigné :
La formule de H6, reproduite vers
le bas, est alors :
=B6&" "& si.multiple (A6;"M";C6;"F";"
: "& texte (E6;"# ##0 €");"X";": sans sexe...
")
Avec cet exemple, je ne pense pas
que vous puissiez trouver une formule plus légère qui engendre le même
résultat…
Remarque 2 – Faites attention aux jokers « ? » et « * » qui ne se comportent pas comme l’on pourrait s’y
attendre avec cette fonction. Supposons qu’une cellule contienne Alfred
et que l’on écrive dans une autre cellule =substitue(cellule;"f?";"g?")
ou =substitue(cellule;"f*";"g*")
: le résultat restera « Alfred » – et non « Algred » – dans les deux
cas !
Lors de mes interventions sur les
modèles de mes clients, j’ai constaté plus d’une fois que des solutions
compliquées avaient été mises en œuvre là où de simples substitue()
auraient résolu le problème de façon bien plus rapide et élégante.
0 Commentaire(s):
Enregistrer un commentaire
<< Accueil