SI et TROUVE

Résolu
SDINELLE Messages postés 33 Statut Membre -  
yclik Messages postés 3872 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

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  2. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    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
  3. yclik Messages postés 3872 Date d'inscription   Statut Membre Dernière intervention   1 609
     
    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
  4. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. SDINELLE Messages postés 33 Statut Membre
     
    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
  7. SDINELLE Messages postés 33 Statut Membre
     
    Super!

    Merci bcp :-)
    0