Intégrer SI - ET - OU dans une même formule
Résolu/Fermé
Charly
-
21 janv. 2014 à 21:55
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 23 janv. 2014 à 07:55
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 23 janv. 2014 à 07:55
A voir également:
- Intégrer SI - ET - OU dans une même formule
- Formule si et - Guide
- Intégrer une vidéo dans un powerpoint - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Mise en forme conditionnelle excel formule si - Guide
- Formule excel moyenne - Guide
5 réponses
Bonsoir,
Pour répondre clairement faudrait-il encore qu'on comprenne ce que tu as voulu faire.
Je reprends en découpant ta simili équation.
La forme SI(...;...;...) se comprend Si(A vrai;Alors B vrai; B faux) ou encore Si(A vrai; B =1; sinon B=0)
Tu écris en clair:
SI ((datecalendrier=daterésa) ET (heurecalendrier>=heuredébut) ET (heurecalendrier < heurefin);
alors SI ((matrice=1) OU (matrice=2) OU (matrice=3) OU (matrice=4) OU (matrice=5); alors "non disponible" ; sinon "libre"))
Tu ajoutes:"Si je change un paramètre pour qu'il soit "faux" (pour tester ma formule), le résultat ne change pas!!!! "
Mais tu ne dis pas quel paramètre tu changes, ni quel résultat tu obtiens qui reste invariant alors qu'il ne devrait pas.
Moi, tel que c'est écrit, je comprends qu'il suffirait de mettre:
- soit datecalendrier <> daterésa
- soit heurecalendrier< heuredébut
- soit heurecalendrier >= heurefin
pour que la 1ère proposition soit fausse dans son ensemble et donc que TOUTE l'équation te donne pour résultat FAUX.
Par contre si la première proposition est exacte, alors il faut que toutes les propositions du type "Matrice=?" soient fausses en même temps, càd "matrice >5" pour que l'équation entière t'affiche "LIBRE".
Bonne suite.
Pour répondre clairement faudrait-il encore qu'on comprenne ce que tu as voulu faire.
Je reprends en découpant ta simili équation.
La forme SI(...;...;...) se comprend Si(A vrai;Alors B vrai; B faux) ou encore Si(A vrai; B =1; sinon B=0)
Tu écris en clair:
SI ((datecalendrier=daterésa) ET (heurecalendrier>=heuredébut) ET (heurecalendrier < heurefin);
alors SI ((matrice=1) OU (matrice=2) OU (matrice=3) OU (matrice=4) OU (matrice=5); alors "non disponible" ; sinon "libre"))
Tu ajoutes:"Si je change un paramètre pour qu'il soit "faux" (pour tester ma formule), le résultat ne change pas!!!! "
Mais tu ne dis pas quel paramètre tu changes, ni quel résultat tu obtiens qui reste invariant alors qu'il ne devrait pas.
Moi, tel que c'est écrit, je comprends qu'il suffirait de mettre:
- soit datecalendrier <> daterésa
- soit heurecalendrier< heuredébut
- soit heurecalendrier >= heurefin
pour que la 1ère proposition soit fausse dans son ensemble et donc que TOUTE l'équation te donne pour résultat FAUX.
Par contre si la première proposition est exacte, alors il faut que toutes les propositions du type "Matrice=?" soient fausses en même temps, càd "matrice >5" pour que l'équation entière t'affiche "LIBRE".
Bonne suite.
Raymond PENTIER
Messages postés
58720
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
10 novembre 2024
17 233
Modifié par Raymond PENTIER le 22/01/2014 à 05:59
Modifié par Raymond PENTIER le 22/01/2014 à 05:59
Bonjour Charly.
Il manque un argument dans ta formule :
=SI(ET(test1;test2;test3);SI(OU(test4;test5;test6;test7;test8);vrai);faux)
qui est fausse, la syntaxe n'étant pas respectée ; il faut écrire :
=SI(ET(test1;test2;test3);SI(OU(test4;test5;test6;test7;test8);vrai2;faux2);faux1)
ou bien, selon la logique du raisonnement (que nous ignorons) :
=SI(ET(test1;test2;test3);vrai1;SI(OU(test4;test5;test6;test7;test8);vrai2;faux2))
C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂
Il manque un argument dans ta formule :
=SI(ET(test1;test2;test3);SI(OU(test4;test5;test6;test7;test8);vrai);faux)
qui est fausse, la syntaxe n'étant pas respectée ; il faut écrire :
=SI(ET(test1;test2;test3);SI(OU(test4;test5;test6;test7;test8);vrai2;faux2);faux1)
ou bien, selon la logique du raisonnement (que nous ignorons) :
=SI(ET(test1;test2;test3);vrai1;SI(OU(test4;test5;test6;test7;test8);vrai2;faux2))
C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂
La logique, en français, est la suivante :
Si ma date sur ma fiche de réservation se trouve dans mon planning et que ma plage horaire de mon planning est supérieur ou égal a mon heure début et que ma plage horaire de mon planning est inférieur à mon horaire de fin et que ma matrice de mon planning contient 1 ou 2 ou 3 ou 4 ou 5 alors afficher "non disponible" sinon affiché "libre".
C'est un planning de réservation de salle de réunion. Sur une feuille de mon classeur Excel j'ai ma fiche de réservation et sur une autre feuille mon planning mensuel. Tout mon planning est automatisé, la personne n'a qu'à remplir sa fiche de réservation et cliquer sur un bouton pour enregistrer sa résa. Il ne me manque plus qu'à créer une alerte (d'où ma formule ci-dessus) pour que si la personne souhaite réserver un créneau déjà prit, "non disponible" s'affiche.
Si quelqu'un connait une macro,ça peut faire aussi l'affaire.
Si ma date sur ma fiche de réservation se trouve dans mon planning et que ma plage horaire de mon planning est supérieur ou égal a mon heure début et que ma plage horaire de mon planning est inférieur à mon horaire de fin et que ma matrice de mon planning contient 1 ou 2 ou 3 ou 4 ou 5 alors afficher "non disponible" sinon affiché "libre".
C'est un planning de réservation de salle de réunion. Sur une feuille de mon classeur Excel j'ai ma fiche de réservation et sur une autre feuille mon planning mensuel. Tout mon planning est automatisé, la personne n'a qu'à remplir sa fiche de réservation et cliquer sur un bouton pour enregistrer sa résa. Il ne me manque plus qu'à créer une alerte (d'où ma formule ci-dessus) pour que si la personne souhaite réserver un créneau déjà prit, "non disponible" s'affiche.
Si quelqu'un connait une macro,ça peut faire aussi l'affaire.
Bonsoir,
"Si je change un paramètre pour qu'il soit "faux" (pour tester ma formule), le résultat ne change pas!!!! "
Mais tu ne dis pas quel paramètre tu changes, ni quel résultat tu obtiens qui reste invariant alors qu'il ne devrait pas.
Désolé, mais tu n'as pas répondu à la question. Pas plus que tu ne dis si nos remarques (de RaymondPentier que je salue, et moi-même) t'ont aidé à y voir plus clair et éventuellement avancer dans la recherche de la solution.
Tu nous donnes des précisions sur le contexte du problème mais aucun élément nouveau sur le problème lui-même.
A plus tard.
"Si je change un paramètre pour qu'il soit "faux" (pour tester ma formule), le résultat ne change pas!!!! "
Mais tu ne dis pas quel paramètre tu changes, ni quel résultat tu obtiens qui reste invariant alors qu'il ne devrait pas.
Désolé, mais tu n'as pas répondu à la question. Pas plus que tu ne dis si nos remarques (de RaymondPentier que je salue, et moi-même) t'ont aidé à y voir plus clair et éventuellement avancer dans la recherche de la solution.
Tu nous donnes des précisions sur le contexte du problème mais aucun élément nouveau sur le problème lui-même.
A plus tard.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
23 janv. 2014 à 07:55
23 janv. 2014 à 07:55
Bonjour
Pour tenter d'^tre concret mets tes documents en pièce jointe:
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
Pour tenter d'^tre concret mets tes documents en pièce jointe:
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse