SI imbriqués & chaine de caractere
Résolu
Morpho33
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Afin de faire une formule sans passer par VBA, à plusieurs conditions, j'ai besoin d'aide.
Le debut de la formule est la suivante:
=SI(OU(F:F = "*T*";F:F = ""); 3; SI.....)
Mon souci se trouve au niveau de "*T*".
J'attribue un nombre pour chaque conditions et pour une de mes conditions, celle en OU, je voudrais coder à XL "Si une des conditions est vérifiée, cad que tu trouves soit une cellule avec du texte avec une lettre T à n'importe quelle place, soit une cellule vide, alors tu applique 3, sinon tu fais Si...etc". (le reste est pas important)
Sachant que la cellule textuelle est ecrite de la maniere suivante " année - Tchiffre"
Comment le formuler?
je vous remercie
Afin de faire une formule sans passer par VBA, à plusieurs conditions, j'ai besoin d'aide.
Le debut de la formule est la suivante:
=SI(OU(F:F = "*T*";F:F = ""); 3; SI.....)
Mon souci se trouve au niveau de "*T*".
J'attribue un nombre pour chaque conditions et pour une de mes conditions, celle en OU, je voudrais coder à XL "Si une des conditions est vérifiée, cad que tu trouves soit une cellule avec du texte avec une lettre T à n'importe quelle place, soit une cellule vide, alors tu applique 3, sinon tu fais Si...etc". (le reste est pas important)
Sachant que la cellule textuelle est ecrite de la maniere suivante " année - Tchiffre"
Comment le formuler?
je vous remercie
A voir également:
- SI imbriqués & chaine de caractere
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractere vide - Guide
2 réponses
Bonjour
=SI(OU(NB.SI("*T*");NB.SI(F:F;""));3)
mais si vous considérez le champ complet F:F , il y a peu de chance que Excel ne trouve pas une cellule vide ("") et renvoie toujours 3.Prévoyez des lignes dans vos imites de champ.
Notez aussi que le code: NB.SI(.....;"*T*") va prendre en compte touts les cellules qui contiennent un t majuscule ou minuscule dans un texte plus long. Si vous ne voulez que les cellules qui contiennent un t seul, enlevez les signes *.
crdlmnt
=SI(OU(NB.SI("*T*");NB.SI(F:F;""));3)
mais si vous considérez le champ complet F:F , il y a peu de chance que Excel ne trouve pas une cellule vide ("") et renvoie toujours 3.Prévoyez des lignes dans vos imites de champ.
Notez aussi que le code: NB.SI(.....;"*T*") va prendre en compte touts les cellules qui contiennent un t majuscule ou minuscule dans un texte plus long. Si vous ne voulez que les cellules qui contiennent un t seul, enlevez les signes *.
crdlmnt
J'ai bien essayé la formule dont vous m'avait fait part, mais elle donne effectivement que des 3. Si je vous montre la vraie formule complète, j'ai bien peur que ça ne vous aide pas davantage. La suite est constitué que de SI imbriqués qui fonctionnent, sauf qu'il ne me reconnait pas les cellules en annee -Tnombre.
cordialement
sauf bien entendu si ce T vient d'une date avec formatage personnalisé du type:
aaaa"T"mm pare xemple
mais avez vous bien noté que cette formule renvoie 3 dés qu'il y a dans le champ une cellule vide où une cellule incluant un T dans le champ spécifié dans NB.SI??
si ça ne fonctionne pas, essayez de mettre à disposition un modèle partiel, avec des copies de votre annee_Tnombre sur:
https://www.cjoint.com/
et revenez ici coller le lien donné par le site
à vous lire?
crdlmnt
La colonne étant très peu normalisé, dû aux saisies précédentes, j'ai tenté l'imbrication de conditions dans la formule. Et oui, NB.SI m'a d'abord donnée QUE des "3". Pas du tout pratique. Mais avec des conditions supplémentaire elles aurait été une bonne solution.
Cependant voyant la longueur de la formule, (un veritable scandale informatique pour les yeux!) j'ai codé une imbrication de if/elseif , puis avec un formulaire d'entrée de données et j'ai obligé l'utilisateur à insérer des données normalisées.
Je vous remercie pour votre implication pour mon problème,
bien à vous
cdlt