Comment créer une formule SI avec ET et OU à plusieurs conditions ?

Résolu/Fermé
Apprentie_excel Messages postés 14 Date d'inscription samedi 20 novembre 2021 Statut Membre Dernière intervention 22 novembre 2021 - 20 nov. 2021 à 10:32
Apprentie_excel Messages postés 14 Date d'inscription samedi 20 novembre 2021 Statut Membre Dernière intervention 22 novembre 2021 - 22 nov. 2021 à 20:42
Bonjour,

Je souhaite automatiser un résultat hors après plusieurs tentatives de SI ET et SI OU, je m'y perds. Je pense que je ne dois pas partir du bon raisonnement.
Pourriez-vous m'aider à automatiser la colonne résultat et m'expliquer votre raisonnement ?
A voir également:

13 réponses

brucine Messages postés 16944 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 28 septembre 2024 2 400
20 nov. 2021 à 10:38
Bonjour,

Ta syntaxe ne fonctionne que si la valeur de A2 (ou A12) est exactement 104, ce qui n'est pas le cas.

Voir là:

https://forums.commentcamarche.net/forum/affich-34753032-formule-excel-si-une-cellule-contient-un-mot-alors
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
20 nov. 2021 à 10:46
Bonjour
compte tenu que A contient des textes, essayez avec:

=SI(ET(NB.SI(A2;"*104*");B2<>"");0;1)

attention aux signes
crdlmnt
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
20 nov. 2021 à 10:49
Bonjour
compte tenu que A contient des textes, voyez avec:

=SI(ET(NB.SI(A2;"*104*");B2<>"");1;0)

attention aux signes
(voyez où placer le 0 et le 1, car vos modèles au 1° message renvoie 0 dans tous les cas)
crdlmnt
0
Apprentie_excel Messages postés 14 Date d'inscription samedi 20 novembre 2021 Statut Membre Dernière intervention 22 novembre 2021 1
20 nov. 2021 à 11:17
Déjà merci pour vos réponses. Effectivement, je n'avais pas du tout pensé à utiliser le "NB.SI".
J'ai préparé les formules selon le contenu de la colonne A et B par contre je ne sais pas les imbriquées les valeurs vraix et faux sont identiques : 0;1

=SI(ET(NB.SI(A2;"*104*");B2<>"");0;1)

=SI(ET(NB.SI(A2;"");B2<>"");0;1)

=SI(ET(NB.SI(A2;"*100*");B2="");0;1)

=SI(ET(NB.SI(A2;"*101*");B2="");0;1)

=SI(ET(NB.SI(A2;"*102*");B2="");0;1)

=SI(ET(NB.SI(A2;"*103*");B2="");0;1)

=SI(ET(NB.SI(A2;"*105*");B2="");0;1)

=SI(ET(NB.SI(A2;"*107*");B2="");0;1)

=SI(ET(NB.SI(A2;"*108*");B2="");0;1)
0

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

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
20 nov. 2021 à 11:26
Si tous vos cas sont là, vous pouvez peut être faire plus simple avec une formule qui va prendre en compte l'ensemble des valeurs en entête de A:

=SI(ET(B2<>"";ESTNUM(GAUCHE(A2;3)*1));1;0)

si ça ne convient pas revenez avec tous vos cas de figure

crdlmnt
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
20 nov. 2021 à 11:29
Si tous vos cas sont là et que vous voulez 1 dès que A commence par trois chiffres, il y a plus simple:

=SI(ESTNUM(GAUCHE(A2;3)*1);B2<>"");1;0)

mais on n'en voit pas l'utilité si tous vos A sont dans ce cas.
Par contre on peut affiner si la valeur des trois chiffres de A doit être compris entre deux limites
revenez si besoin avec plus d'info
crdlmnt
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
Modifié le 20 nov. 2021 à 11:33
Si tous vos cas sont comme votre image et que vous souhaitez 1 quand le début de A est formé de trois chiffres, on peut faire plus simple avec:

=SI(ET(B2<>"";ESTNUM(GAUCHE(A2;3)*1);1;0)

on peut aussi si besoin tenir cette valeur de A entre des limites définies pour renvoyer 1

Si ça ne convient pas revenez avec plus d'nfo

crdlmnt



0
Apprentie_excel Messages postés 14 Date d'inscription samedi 20 novembre 2021 Statut Membre Dernière intervention 22 novembre 2021 1
20 nov. 2021 à 11:45
Effectivement, on peut jouer sur les chiffres (très bonne approche :) )
Cependant, j'ai mon type "104" est égale au type"vide".
=SI(ET(NB.SI(A2;"*104*");B2<>"");0;1)
=SI(ET(NB.SI(A2;"");B2<>"");0;1)

Du coup, j'ai une exception dans les types comportant un chiffre.

Les autres types "100;101;102;103;105;106;107;108" sont identiques.

0
Apprentie_excel Messages postés 14 Date d'inscription samedi 20 novembre 2021 Statut Membre Dernière intervention 22 novembre 2021 1
20 nov. 2021 à 12:02
Si on ne trouve pas de formule, peut-être qu'il serait possible de faire avec une RECHERCHEV en créant un tableau des résultats souhaités ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
21 nov. 2021 à 10:36
Pas trop compris. Vous voulez le même résultat si A contient 104 ou si A est vide?
si c'est cela:

=SI(ET(OU(A2="";NB.SI(A2;"*104*"));B2<>"");1;0)
ou pour toutes les valeurs
=SI(ET(B2<>"";OU(A2="";ESTNUM(GAUCHE(A2;3)*1));1;0)

mais cette formule va renvoyer 1 aussi quand A et B sont vides

peut être faut il compléter avec

=SI(ET(A2="";B2="");0;SI(ET(B2<>"";OU(A2="";ESTNUM(GAUCHE(A2;3)*1)));1;0))

(Mais dans les deux cas, je ne sais pas si il faut écrire....);0;1) ou ......;1;0) en fin de formule, faute d'infos)

et si ça ne convient pas, faites un modèle avec tous les cas de figure de A et B et les valeurs que vous voulez obtenir et déposez le ici: https://www.cjoint.com/

crdlmnt
0
Apprentie_excel Messages postés 14 Date d'inscription samedi 20 novembre 2021 Statut Membre Dernière intervention 22 novembre 2021 1
22 nov. 2021 à 09:29
Tout d'abord, encore merci de prendre du temps.
Je vous joins le fichier avec tous les cas
https://www.cjoint.com/c/KKwiCXodZAO

A = "" ou ="104" effectivement c'est même résultat attendu
Mais il y'aussi SI A="100" ou"102" etc... le résultat attendu est l'inverse de A="" "104".
0
Apprentie_excel Messages postés 14 Date d'inscription samedi 20 novembre 2021 Statut Membre Dernière intervention 22 novembre 2021 1
22 nov. 2021 à 10:10
.Bonjour,
Merci de prendre le temps de trouver la formule.
Je vous joins le lien pour le fichier avec tous les cas possible :

https://www.cjoint.com/c/KKwiCXodZAO

En synthèse si A contient "" ou "104 c'est le même résultat
si A contient 100 ou 101 ou 102 ou 103 ou 105 ou 107 ou 108 c'est le même résultat.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
22 nov. 2021 à 11:57
Bonjour
je vous retournes ce fichier avec en colonne D une solution qui me semble coonvenir à votre tableau d'information, mais par contre, je trouve incompatible les lignes que j'ai passées en rouge avec la condition que j'ai passé en rouge qui semble contradictoire
revenez si besoin
https://www.cjoint.com/c/KKwk3gOE2PK
0
Apprentie_excel Messages postés 14 Date d'inscription samedi 20 novembre 2021 Statut Membre Dernière intervention 22 novembre 2021 1
22 nov. 2021 à 20:42
Je confirme à force de réecrire, je me contredis Voici les éléments
Si A est égal à 100 ou 101 ou 102 ou 103 ou 105 ou 107 ou 108 et si B est <> vide : valeur vraie 1 - valeur fausse 0

J'ai mis à jour la formule :
=SI(ET(A2="";B2="");1;SI(ET(A2="";B2<>"");0;SI(ET(NB.SI(A2;"*104*");B2="");1;SI(ET(NB.SI(A2;"*104*");B2<>"");0;SI(ET(ESTNUM(GAUCHE(A2;3)*1);B2="");0;1)))))

ça fonctionne ????
0