Inscrire "1" dans une cellule si mot dans une autre cellule

Résolu/Fermé
zakintosh - Modifié le 21 août 2017 à 15:12
 Zakintosh - 22 août 2017 à 12:20
Bonjour,
Je cherche une fonction me permettant de noter "1" (sinon 0) dans une cellule si une autre cellule comprend au moins l'un des mot suivants: sacoches, topbag, SAD, SAB, affaires, sac, SAM.
J'ai essayé avec:
=SI(OU(I2="sacoche";I2="topbag";I2="SAD";I2="SAB";I2="affaires";I2="sac";I2="SAM");"1";"0")
Problème:
Cette dernière ne fonctionne que si la cellule ne contient qu'un mot, car en effets, la cellule dans laquelle je cherche l'un de ces mots est susceptible de comprendre une suite de mots/caractères (parfois pas dans la liste que je recherche)
exemple: "sac à la main" ou encore: sacoche + PBE
Merci par avance!

6 réponses

DjiDji59430
Messages postés
3580
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
1 juillet 2022
535
Modifié le 21 août 2017 à 15:30
Bonjour,

Au lieu d'écrire I2="sacoche", tu mets cherche("*sacoche*";I2

Crdmt
0
Merci, mais je n'arrive pas à faire fonctionner cette fonction. Comment l'écrire quand il y a plusieurs mots à chercher?
Merci
0
DjiDji59430
Messages postés
3580
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
1 juillet 2022
535
21 août 2017 à 16:37
c'est pour mettre dans ton si, a la place des I2=

exemple :
cherche("*sac*";i2) va trouver "sac a main", ou bien "sac en cui"r, ou bien "trés grand sac" ;, et meme sacoche
0
francki130 > DjiDji59430
Messages postés
3580
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
1 juillet 2022

22 août 2017 à 00:25
acces rapide
0
Bonjour zakintosh,

Je te propose cette formule :

=SI(NB.SI(I2;"*sacoche*")+NB.SI(I2;"*topbag*")+NB.SI(I2;"*SAD*")+NB.SI(I2;"*SAB*")+NB.SI(I2;"*affaires*")+NB.SI(I2;"*sac*")+NB.SI(I2;"*SAM*")>0;1;0)

Cordialement
 
0
Merci fred, mais malgré les **, le résultat n'est pas le bon dans les cas où il y a d'autres caractères dans ma cellule. Il m'affiche "0" dans ce cas. Je ne comprends pas pourquoi.
0
Yahou! J'ai utilisé ta fonction en rajoutant un point avant chaque * et ça fonctionne. Ça donne:

=SI(NB.SI(I2;".*sacoche.*")+NB.SI(I2;".*topbag.*")+NB.SI(I2;".*SAD.*")+NB.SI(I2;".*SAB.*")+NB.SI(I2;".*affaires.*")+NB.SI(I2;".*sac.*")+NB.SI(I2;".*SAM.*")>0;1;0)

Alors Je sais pas trop pourquoi ce petit point fonctionne, mais j'ai vérifié sur une 10ène de cellules et les résultats sont ok.
Merci!
0
 
J'ai compris quelle est l'explication du point devant * :

1) Sur Excel, * est le joker * qui signifie « tous les caractères » ; avec la fonction
CHERCHE(), pour trouver le caractère * lui-même, on doit mettre : ~*

2) Sur ton OpenOffice, c'est l'inverse : avec *sacoche* ça cherchait exactement
ce texte-là : une étoile sacoche une étoile ; avec .* c'est où ton caractère *
devient le joker * : ça cherche le mot sacoche avec des caractères avant ou
après ; remarque : je n'utilise pas OpenOffice.  ;)

Merci d'avoir passé le sujet en résolu.
 
0
Merci fred!
0
Vaucluse
Messages postés
26495
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
8 avril 2022
6 262
21 août 2017 à 17:41
Bonjour
peut être plus court ici (pour la 1° colonne avec formule, la deuxième est en prime)
crdlmnt
https://mon-partage.fr/f/wwc95rVS/
0

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

Posez votre question
Merci à tous, je crois que je me suis un peu piégé tout seul en utilisant OpenOfficeCalc pour faire mes calculs... Car par exemple la fonction de Vaucluse fonctionne mais uniquement si je l'ouvre sur Excel. Maintenant je ne sais pas si je persiste à trouver une fonction qui me donne un résultat sur ODS ou si je transpose mes milliers de données sur Excel...
0
RESOLU avec la fonction:

=SI(NB.SI(I2;".*sacoche.*")+NB.SI(I2;".*topbag.*")+NB.SI(I2;".*SAD.*")+NB.SI(I2;".*SAB.*")+NB.SI(I2;".*affaires.*")+NB.SI(I2;".*sac.*")+NB.SI(I2;".*SAM.*")>0;1;0)

(ce petit point avant les astérisques est-il une spécificité d'OpenOffice? en tous cas il fait que ça fonctionne)
0
Bonjour zakintosh,
Même si je n'utilise pas OpenOffice, je pense avoir trouvé une explication du .*
https://forums.commentcamarche.net/forum/affich-34809108-inscrire-1-dans-une-cellule-si-mot-dans-une-autre-cellule#10
Merci d'avoir passé le sujet en résolu.
0