IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Test insoluble SI(A1=n et B1=0 ou A1=0 et B1=n)


Sujet :

Excel

  1. #1
    Membre du Club Avatar de Glorian
    Homme Profil pro
    Travailleur de la santé
    Inscrit en
    Janvier 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Travailleur de la santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 8
    Par défaut Test insoluble SI(A1=n et B1=0 ou A1=0 et B1=n)
    Bonjour,

    J'ai un problème logique auquel je ne trouve pas de solution;

    Voici :

    A1 peut avoir 0 ou n comme valeur ;
    B1 peut avoir 0 ou n comme valeur ;


    Si A1 et B1 = 0 ; C1 = 0.

    Alors,
    SI A1=0 et B1=0; C1=0

    mais,
    SI A1 = n et B1 = 0; C1=A1

    et,
    Si A1= 0 et B1=n; C1=B1

    Il est évident que ces formules très simple fonctionne en C1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(A1=0;B1;A1) et que =SI(B1=0;A1;B1)
    Mais, rien ne fonctionne avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(OU(A1=0;B1=0);"";A1)
    Bon, je suis perdu.

    Peut-on m'aider s.v.p.

    Merci beaucoup,

    Glorian

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET(A1=0;B1=0);0;SI(ET(A1<>0;B1=0);A1;SI(ET(A1=0;B1<>0);B1)))
    Mais que fait-on si A et B1 sont tous les deux différents de zéro ?

    Cdlt

  3. #3
    Membre du Club Avatar de Glorian
    Homme Profil pro
    Travailleur de la santé
    Inscrit en
    Janvier 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Travailleur de la santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 8
    Par défaut
    Bonjour Arturo83,

    D'abord, merci pour t'être penché sur problème.

    Très pertinente la question. J'y répond.

    Pour être plus précis, comme tu verras dans le fichier, j'ai des devis pour des impressions de livres.
    Par exemple,

    1) dans les cellules F28:F30, on retrouve le prix de base, la taxe de vente et le prix total. Si l'imprimeur me donne un prix total en m'informant qu'il inclus la taxe de vente, je veux savoir quel est le prix avant taxe et la taxe IGV. J'inscris le prix total en F30 et le calcul se fait.

    2) Dans les cellules F33:F35, c'est le contraire. Je reçois un prix sans taxe et j'inscris le prix en F33 et ce qui me donne la taxe et le prix total.

    Donc, je ne peux avoir que 1) ou 2). Pas les deux.

    3) C'est ici, que ça devient intéressant. Dans la cellule F38, j'ai le prix unitaire pour 300 exemplaires. Ce prix est calculé selon ce qui se trouve dans les cellules F53:F64.
    Si je reçois un prix après taxe, 1) - (F28:F30) - est rempli et le prix unitaire s'affiche en F57 et est retourné en F38. 2) - F33:F35 - restent vide.

    Ceci donnera en F57 le prix unitaire de S/ n.nn et F64 est vide, donc S/ 0,00.

    Alors, si on suit l'exemple que j'ai donné au départ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(A1=0;"";B1) et que =SI(B1=0;"";A1)
    ,

    Restent vrai car, les cellules F28:30 et F33:F35 sont vides, F57=0 et F64=0.

    Mais, si j'ai un prix en F30, un montant sera inscrit en F57, d'où A1=n et F64=0, d'où B1=0.

    Le contraire est aussi vrai. Tu peux essayer d'entrer des données soit dans un ou dans l'autre des cellules F28:F30 ou F33:F35 pour t'enconvaincre.

    Le problème est réellement le suivant comment afficher dans F38, le résultat quand F57=n et F64=0 et vice versa. Tout ça sans que je me retrouve avec des références circulaires à la con.

    Je joins le fichier pour une meilleure compréhension.

    Merci beaucoup,

    Glorian
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Pourquoi passer par des formules intermédiaires ? SI j'ai bien compris

    Si la valeur est saisie en F30, alors:
    En F28: =SI(F30="";"";F30/1,18).
    En F29: =SI(F30="";"";F30-F28).

    Si la valeur est saisie en F33, alors;
    En F34: =SI(F33="";"";F33*0,18).
    En F35: =SI(F33="";"";SOMME(F33:F34)).

    et la formule de la moyenne en F38:
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET(F28="";F33="");0;SI(ET(F28<>"";F33="");F30/F37;SI(ET(F28="";F33<>"");F35/F37)))

    Les formules de calculs intermédiaires des lignes 53 à 64 ne servent à rien

    Pour info:
    -il est inutile de faire la somme sur une seule cellule, ceci: =SOMME(F30) peut s'écrire simplement = F30,
    ou encore =SOMME(F53*0,18) peut s'écrire simplement = F53*0,18.

    -Si vous ne saisissez pas de valeurs en F30 ou F33, Cela veut dire quelles sont vides "" et non pas égales à 0, donc attention à ce petit détail dans les formules.

    Cdlt

  5. #5
    Membre chevronné
    Homme Profil pro
    Formateur bureautique
    Inscrit en
    Janvier 2021
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Formateur bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2021
    Messages : 302
    Par défaut Possibilité
    Bonjour
    je propose cette possibilité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET(A1=0;B1=0);0;SI(ET(A1>0;B1=0);A1;SI(ET(A1=0;B1>0);B1;"mettre le cas n en a1 et n en b1")))
    j'ai suivi ce qui est écrit dans le post initial :
    Si A1 et B1 = 0 alors 0 sinon
    SI A1 est une valeur positive et que B1 vaut 0 alors mettre la valeur de A1 en C1 sinon
    SI A1 vaut 0 et que B1 est une valeur positive alors mettre la valeur de B1 en C1 sinon
    j'ai terminé le code en mettant le texte "mettre le cas n en a1 et n en b1" car sauf erreur ce cas n'est pas marqué

    Cela convient il ?

Discussions similaires

  1. Script test de deux chaine avec if
    Par kacedda dans le forum Linux
    Réponses: 6
    Dernier message: 02/05/2003, 15h38
  2. [XMLRAD] test de nullité
    Par Pm dans le forum XMLRAD
    Réponses: 5
    Dernier message: 29/11/2002, 10h57
  3. test collisions
    Par tatakinawa dans le forum OpenGL
    Réponses: 5
    Dernier message: 08/06/2002, 06h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo