SI et TROUVE

Résolu/Fermé
SDINELLE Messages postés 32 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 4 novembre 2021 - 20 avril 2021 à 15:21
yclik Messages postés 3031 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 3 décembre 2022 - 20 avril 2021 à 18:45
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 26495 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 8 avril 2022 6 285
20 avril 2021 à 18:20
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 56851 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 4 décembre 2022 17 181
20 avril 2021 à 18:40
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 3031 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 3 décembre 2022 1 366
20 avril 2021 à 18:45
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 26495 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 8 avril 2022 6 285
20 avril 2021 à 15:38
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 mardi 14 avril 2020 Statut Membre Dernière intervention 4 novembre 2021
20 avril 2021 à 16:35
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 mardi 14 avril 2020 Statut Membre Dernière intervention 4 novembre 2021
20 avril 2021 à 18:39
Super!

Merci bcp :-)
0