SI et TROUVE

Résolu
SDINELLE Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -  
yclik Messages postés 3873 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Au départ, l'idée était bonne. Un collègue m'a proposé d'utiliser la fonction TROUVE pour inscrire l'équivalent en français d'un statut anglais. Je m'explique. Dans un tableau Excel (résultat d'une extraction de données provenant d'un site SharePoint), une colonne intitulée "STATUS" contient les possibilités suivantes : "65;#Open" ou "65;#Pending" ou "65;#Approved". Bien évidemment, s'il n'existait qu'une seule possibilité, ce serait facile (par exemple, TROUVE("65;#Open";[@STATUS];"Ouvert")). Ce n'est pas le cas puisqu'il existe trois (3) possibilités.

Alors, l'utilisation de SI semble tout indiquée. SI TROUVE "65;#Open", alors le résultat sera "Ouvert". SI TROUVE "65;#Pending", alors le résultat sera "En attente". SI TROUVE "65;#Approved", alors le résultat sera "Approuvée".

J'ai donc besoin d'un coup de pouce pour la formulation et l'ordonnancement des commandes.

Par avance, merci de votre temps.

Cordialement,

Stephan



Configuration: Windows / Edge 89.0.774.77

6 réponses

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Effectivement, j'avais mangé l'info, mais trouve ne peut pas admettre de successeur, sauf à compliquer la formule en empilant les SIERREUR
Dans votre cas, mieux vaut utiliser NB.SI . Voir selon le fichier joint
https://mon-partage.fr/f/8Q4PsUmz/
attention dans la formule au "*....*" qui encadrent les textes à chercher
.. et pour faire joli (et joujou surtout), les couleurs de police en B sont obtenues, par MFC
crdlmnt
1
Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 
Bonjour à vous deux.

J'ai trouvé la même formule que mon ami Vaucluse, à ceci près que l'exposé de SDINELLE prête à confusion :
"SI TROUVE "65;#Open", alors le résultat sera "Ouvert". " mais si c'est "67;#Open " que doit-on afficher ?
Par conséquent si les chiffres en début de cellule n'ont aucune importance, la formule se réduit à
=SI(NB.SI(A2;"*open");"ouvert"; SI(NB.SI(A2;"*pen*");"en attente"; SI(NB.SI(A2;"*app*");"approuvée"; "?")))
1
yclik Messages postés 3873 Date d'inscription   Statut Membre Dernière intervention   1 562
 
Bonsoir
une propoistion
en B2
=SI(ESTERREUR(TROUVE("65;#Open";A2));"";"Ouvert")&SI(ESTERREUR(TROUVE("65;#Pending";A2));"";"En attente")&SI(ESTERREUR(TROUVE("65;#Approved";A2));"";"Approuvé")
1
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
pour analyser A1:
=SI(TROUVE("65;#open";A1); "ouvert";SI(TROUVE("65;pending";A1);"en attente";SI(TROUVE("65;#approved";A1);"approuvée");"")))
et pour éviter si besoin des affichages en défaut:
=SIERREUR(SI(TROUVE("65;#open";A1); "ouvert";SI(TROUVE("65;pending";A1);"en attente";SI(TROUVE("65;#approved";A1);"approuvée");"")));"")
(à partir d'Excel 2013)
crdlmnt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SDINELLE Messages postés 32 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Vaucluse.

Étrangement, dès que la première condition est fausse, il passe directement à #VALEUR!. Par exemple, si la valeur est "approved", il retourne #VALEUR!.
0
SDINELLE Messages postés 32 Date d'inscription   Statut Membre Dernière intervention  
 
Super!

Merci bcp :-)
0