Assigner une valeur texte en fonction du contenu d'une autre cellule
Go3roke
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Go3roke Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Go3roke Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Après de nombreuses recherches et de nombreuses tentatives jamais abouties, je me jette à l'eau sur ce forum.
Voici les données que je veux traiter :

Par exemple, dans la cellule B13 qui contient "Ks9d4c", je voudrais faire la recherche suivante :
Si la cellule contient A,K,Q,J ou T alors afficher "H" (High) et si la cellule contient 9,8,7 ou 6, alors afficher "M" (Medium) et si la cellule contient 5,4,3 ou 2 alors afficher "L" (Low).
Si je me réfère à mon exemple avec "Ks9d4c", je devrais obtenir donc dans une autre cellule HML et non LMH même si c'est la même chose.
J'espère avoir été clair dans ma demande. Sinon, n'hésitez pas à demander :)
En vous remerciant :)
Après de nombreuses recherches et de nombreuses tentatives jamais abouties, je me jette à l'eau sur ce forum.
Voici les données que je veux traiter :
Par exemple, dans la cellule B13 qui contient "Ks9d4c", je voudrais faire la recherche suivante :
Si la cellule contient A,K,Q,J ou T alors afficher "H" (High) et si la cellule contient 9,8,7 ou 6, alors afficher "M" (Medium) et si la cellule contient 5,4,3 ou 2 alors afficher "L" (Low).
Si je me réfère à mon exemple avec "Ks9d4c", je devrais obtenir donc dans une autre cellule HML et non LMH même si c'est la même chose.
J'espère avoir été clair dans ma demande. Sinon, n'hésitez pas à demander :)
En vous remerciant :)
A voir également:
- Assigner une valeur texte en fonction du contenu d'une autre cellule
- Excel cellule couleur si condition texte - Guide
- Fonction si et - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule - Forum Excel
- Excel si cellule contient partie texte ✓ - Forum Excel
6 réponses
Bonjour,
En premier la combinaison alphanumérique donnée en exemple dans la question n'est pas en B13 mais en B21
Si la combinaison des résultats doit être H puis M puis L il faux une concaténation de SI().
Il manque seulement un détail qu'est-ce qui doit apparaitre si l'une des conditions n'est pas remplie (par exemple toutes autres lettres que A-K-Q-J-T ou l'un des deux chiffres qui ne sont pas mentionnés le "0" ou le "1") ; rien ou autre chose ??
En attente des précisions.
Je fais toutefois cette proposition :
=SI(OU(NB.SI(B21;"*a*")>0;NB.SI(B21;"*k*")>0;NB.SI(B21;"*q*")>0;NB.SI(B21;"*j*")>0;NB.SI(B21;"*t*")>0);"H";"faux")&SI(OU(NB.SI(B21;"=*9*")>0;NB.SI(B21;"=*8*")>0;NB.SI(B21;"=*7*")>0;NB.SI(B21;"=*6*")>0);"M";"faux")&SI(OU(NB.SI(B21;"=*5*")>0;NB.SI(B21;"=*4*")>0;NB.SI(B21;"=*3*")>0;NB.SI(B21;"=*2*")>0);"L";"faux")
"faux" est à remplacer par ce qui doit apparaitre si la condition est fausse dans chaque SI()
Cordialement
En premier la combinaison alphanumérique donnée en exemple dans la question n'est pas en B13 mais en B21
Si la combinaison des résultats doit être H puis M puis L il faux une concaténation de SI().
Il manque seulement un détail qu'est-ce qui doit apparaitre si l'une des conditions n'est pas remplie (par exemple toutes autres lettres que A-K-Q-J-T ou l'un des deux chiffres qui ne sont pas mentionnés le "0" ou le "1") ; rien ou autre chose ??
En attente des précisions.
Je fais toutefois cette proposition :
=SI(OU(NB.SI(B21;"*a*")>0;NB.SI(B21;"*k*")>0;NB.SI(B21;"*q*")>0;NB.SI(B21;"*j*")>0;NB.SI(B21;"*t*")>0);"H";"faux")&SI(OU(NB.SI(B21;"=*9*")>0;NB.SI(B21;"=*8*")>0;NB.SI(B21;"=*7*")>0;NB.SI(B21;"=*6*")>0);"M";"faux")&SI(OU(NB.SI(B21;"=*5*")>0;NB.SI(B21;"=*4*")>0;NB.SI(B21;"=*3*")>0;NB.SI(B21;"=*2*")>0);"L";"faux")
"faux" est à remplacer par ce qui doit apparaitre si la condition est fausse dans chaque SI()
Cordialement
Bonjour,
une façon simple pour traiter "H"
=SI(NB.SI(B2;"*A*")>=1;"H";SI(NB.SI(B2;"*K*")>=1;"H";SI(NB.SI(B2;"*Q*")>=1;"H";SI(NB.SI(B2;"*J*")>=1;"H";""))))
idem pour "M"
=SI(NB.SI(B2;"*9*")>=1;"M";SI(NB.SI(B2;"*8*")>=1;"M";SI(NB.SI(B2;"*7*")>=1;"M";SI(NB.SI(B2;"*6*")>=1;"M";""))))
et pour obtenir "L"
=SI(NB.SI(B2;"*5*")>=1;"L";SI(NB.SI(B2;"*4*")>=1;"L";SI(NB.SI(B2;"*3*")>=1;"L";SI(NB.SI(B2;"*2*")>=1;"L";""))))
reste plus qu'à concatener les trois formules avec &
en plus court
il est possible de faire en plus court, mais déjà tu peux décortiquer cette proposition
une façon simple pour traiter "H"
=SI(NB.SI(B2;"*A*")>=1;"H";SI(NB.SI(B2;"*K*")>=1;"H";SI(NB.SI(B2;"*Q*")>=1;"H";SI(NB.SI(B2;"*J*")>=1;"H";""))))
idem pour "M"
=SI(NB.SI(B2;"*9*")>=1;"M";SI(NB.SI(B2;"*8*")>=1;"M";SI(NB.SI(B2;"*7*")>=1;"M";SI(NB.SI(B2;"*6*")>=1;"M";""))))
et pour obtenir "L"
=SI(NB.SI(B2;"*5*")>=1;"L";SI(NB.SI(B2;"*4*")>=1;"L";SI(NB.SI(B2;"*3*")>=1;"L";SI(NB.SI(B2;"*2*")>=1;"L";""))))
reste plus qu'à concatener les trois formules avec &
=SI(NB.SI(B2;"*A*")>=1;"H";SI(NB.SI(B2;"*K*")>=1;"H";SI(NB.SI(B2;"*Q*")>=1;"H";SI(NB.SI(B2;"*J*")>=1;"H";""))))&SI(NB.SI(B2;"*9*")>=1;"M";SI(NB.SI(B2;"*8*")>=1;"M";SI(NB.SI(B2;"*7*")>=1;"M";SI(NB.SI(B2;"*6*")>=1;"M";""))))&SI(NB.SI(B2;"*5*")>=1;"L";SI(NB.SI(B2;"*4*")>=1;"L";SI(NB.SI(B2;"*3*")>=1;"L";SI(NB.SI(B2;"*2*")>=1;"L";""))))
en plus court
=SI(NB.SI(B2;"*A*")+NB.SI(B2;"*K*")+NB.SI(B2;"*Q*")+NB.SI(B2;"*J*")>=1;"H";"")&SI(NB.SI(B2;"*9*")+NB.SI(B2;"*8*")+NB.SI(B2;"*7*")+NB.SI(B2;"*6*")>=1;"M";"")&SI(NB.SI(B2;"*5*")+NB.SI(B2;"*4*")+NB.SI(B2;"*3*")+NB.SI(B2;"*3*")>=1;"L";"")
il est possible de faire en plus court, mais déjà tu peux décortiquer cette proposition
Salut Mike,
Merci beaucoup pour ta réponse.
La formule est presque parfaite.
Imaginons le contenu d'une cellule "9s9d6s". Au lieu d'avoir "MMM", je n'aurais que "M" en résultat.
L'idée est de mettre autant de "M" que de caracarctères correspondants, en l'occurence dans cet exemple, les chiffres de 6 à 9.
Merci encore.
Merci beaucoup pour ta réponse.
La formule est presque parfaite.
Imaginons le contenu d'une cellule "9s9d6s". Au lieu d'avoir "MMM", je n'aurais que "M" en résultat.
L'idée est de mettre autant de "M" que de caracarctères correspondants, en l'occurence dans cet exemple, les chiffres de 6 à 9.
Merci encore.
Bonur
esayez celle ci (à adapter car je ne suis pas sur de ma "liste" de condition)
Autant de SUBSTITUE que de condition,(11 ici)
exemple pour une valeur texte en A2:
=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A2;"A";"H");"K";"H");"Q";"H");"T";"H");"9";"M");"8";"M");"7";"M");5;"L");"4";"L");"3";"L");"2";"L")
crdlmnt
esayez celle ci (à adapter car je ne suis pas sur de ma "liste" de condition)
Autant de SUBSTITUE que de condition,(11 ici)
exemple pour une valeur texte en A2:
=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A2;"A";"H");"K";"H");"Q";"H");"T";"H");"9";"M");"8";"M");"7";"M");5;"L");"4";"L");"3";"L");"2";"L")
crdlmnt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon je me suis inspiré des deux formules de Mike-31 (salutations et pardon de te plagier) trouvées dans cette discussion
avec le premier code en B1 cette formule
qui donne une concaténation de trois nombres séparé par un espace (par exemple "KsJdTc" donne la concaténation "3 0 0"
Il ne te reste plus qu'à faire hors champ un tableau de concordances avec toutes les concaténations possibles en colonne de gauche et le résultat souhaité en colonne de droite
pour pouvoir faire une RECHERCHEV()
=SIERREUR(RECHERCHEV(la formule ci-dessus;les deux colonnes du tableau de concordance en références absolues;2;0);"")
À toi de jouer maintenant
Reviens si problème en collant le lien d'une copie de ton fichier (sans les données confidentielles)
Pour mettre un fichier en partage :
Aller dans https://www.cjoint.com/
Cliquer sur "PARCOURIR" pour sélectionner le classeur ou "FAIRE UN GLISSER DEPOSER" dans la fenêtre ;
Cliquer sur le bouton "CREER LE LIEN"
Faire un "CLIC DROIT" sur le lien créé et cliquer sur "COPIER L'ADRESSE DU LIEN" ;
Sur le post Clic droit "COLLER".
ou dans https://mon-partage.fr/
Cordialement
avec le premier code en B1 cette formule
=SOMMEPROD((STXT(B1;LIGNE(INDIRECT(1&":"&NBCAR(B1)));1)={"A"."K"."Q"."J"."T"})*1)&" "&SOMMEPROD((STXT(B1;LIGNE(INDIRECT(1&":"&NBCAR(B1)));1)={"9"."8"."7"."6"})*1)&" "&SOMMEPROD((STXT(B1;LIGNE(INDIRECT(1&":"&NBCAR(B1)));1)={"5"."4"."3"."2"})*1)
qui donne une concaténation de trois nombres séparé par un espace (par exemple "KsJdTc" donne la concaténation "3 0 0"
Il ne te reste plus qu'à faire hors champ un tableau de concordances avec toutes les concaténations possibles en colonne de gauche et le résultat souhaité en colonne de droite
pour pouvoir faire une RECHERCHEV()
=SIERREUR(RECHERCHEV(la formule ci-dessus;les deux colonnes du tableau de concordance en références absolues;2;0);"")
À toi de jouer maintenant
Reviens si problème en collant le lien d'une copie de ton fichier (sans les données confidentielles)
Pour mettre un fichier en partage :
Aller dans https://www.cjoint.com/
Cliquer sur "PARCOURIR" pour sélectionner le classeur ou "FAIRE UN GLISSER DEPOSER" dans la fenêtre ;
Cliquer sur le bouton "CREER LE LIEN"
Faire un "CLIC DROIT" sur le lien créé et cliquer sur "COPIER L'ADRESSE DU LIEN" ;
Sur le post Clic droit "COLLER".
ou dans https://mon-partage.fr/
Cordialement
Bonsoir à tous
A mon tour d'apporter ma contribution, avec une fonction personnalisée :
https://www.cjoint.com/c/KHDsPAhTb2r
Cdlmnt
Via
A mon tour d'apporter ma contribution, avec une fonction personnalisée :
https://www.cjoint.com/c/KHDsPAhTb2r
Cdlmnt
Via
En effet, c'est bien la cellule B21, autant pour moi.
Dans mes données, il n'y aura jamais d'autres lettres que celles mentionnées (les lettres en minuscules ne seront jamais prises en compte) et idem pour les chiffres 2 à 9.
Si je prends la cellule B24 "9s9d6c", je devrais avoir MMM. Comment faire pour obtenir MMM sachant qu'il n'y a aucune lettre A,K,Q,J ou T et aucun chiffre compris entre 2-5 ?
Merci encore pour votre éclairage.
Cordialement