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 :

Logique d'une formule !


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 20
    Points : 5
    Points
    5
    Par défaut Logique d'une formule !
    Toujours à la recherche de formules correctes pour mes tableaux, je me pose la question sur la logique de ces formules (Ou bien j'ai fait encore une erreur !):

    Considérant qu'en feuille "2010", que la colonne "F" et la ligne "5" contient le mot "SF" et qu'en la feuille "2010", que la colonne "H" et la ligne "5" contient le mot "EN COURS" (Donc sur la même ligne).
    Les formules sous citées n'obtiennent pas le même résultat sachant pourtant que les cellules "F5" et "H5" font bien partie des colonnes "F" et "H" !!!

    Le resultat de la 1ère formule me donne la bonne réponse recherchée, à savoir "EN COURS", alors que les deux autres me donnent le résultat "FAUX" !!!!
    Peut on me dire pourquoi ??? Merci....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(('2010'!F5="SF")*ET('2010'!H5="EN COURS");"EN COURS")
    =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SI(('2010'!F5:F1000="SF")*ET('2010'!H5:H1000="EN COURS");"EN COURS")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(('2010'!F:F="SF")*ET('2010'!H:H="EN COURS");"EN COURS")

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 934
    Points : 28 930
    Points
    28 930
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Tu peux t'inspirer de ceci
    Sur la feuille où tu places tes formules.
    En colonne A les codes sans doublons (ex : SF, JT, AI, TP
    En ligne 1 (B1 "En cours", C1 "Terminé")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SOMMEPROD( (('2010'!$F$2:$F$11)=$A2) * (('2010'!$H$2:$H$11)=B$1) * 1)
    Ce code placé par exemple de B2 à C5 va donné le nombre "En cours" et "Terminé" par code

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    468
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 468
    Points : 744
    Points
    744
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(('2010'!F5="SF")*ET('2010'!H5="EN COURS");"EN COURS")
    Bien que renvoyant un résultat correct, cette formule ne respecte pas la syntaxe.
    Le * et le ET font doublons. Tu mets soit l'un, soit l'autre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(('2010'!F5="SF")*('2010'!H5="EN COURS");"EN COURS")
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET('2010'!F5="SF";'2010'!H5="EN COURS");"EN COURS")
    Concernant les 2 autres, tu fait appel à des matrices au lieu de cellules.
    ET('2010'!H5:H1000="EN COURS") signifie que toutes les cellules de la plage H5:H1000 vérifient la condition. Ce qui bien sûr doit être faux.

    A cause de cela, on n'utilise jamais (sauf cas exceptionnel) ET ou OU dans une formule matricielle.

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 934
    Points : 28 930
    Points
    28 930
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si la colonne F de la feuille 2010 contient des codes uniques et que tu veux savoir si ceux-ci sont "En cours" alors il faut placer ce code.
    En colonne A de la feuille où se trouve les formules doit se trouver les codes de la colonne F de 2010
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SI(SOMMEPROD( (('2010'!$F$2:$F$11)=$A2) * (('2010'!$H$2:$H$11)="En cours"));"En cours";"" )

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par corona Voir le message
    Bonjour,
    Si la colonne F de la feuille 2010 contient des codes uniques et que tu veux savoir si ceux-ci sont "En cours" alors il faut placer ce code.
    En colonne A de la feuille où se trouve les formules doit se trouver les codes de la colonne F de 2010
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SI(SOMMEPROD( (('2010'!$F$2:$F$11)=$A2) * (('2010'!$H$2:$H$11)="En cours"));"En cours";"" )
    Bonjour
    Je n'arrive pas à le faire alors je joins mon fichier XLS pour te montrer ce qu'il me faut et pour t'indiquer la formule voulue.
    Merci de ton aide.
    William
    Fichiers attachés Fichiers attachés

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    468
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 468
    Points : 744
    Points
    744
    Par défaut
    L'intitulé nous dit "défavorable ou en cours". Je ne vois pas de défavorable dans ta colonne H.

    Si je retranscris l'intitulé, cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SOMMEPROD(('2010'!F1:F1000=B12)*('2010'!H1:H1000={"DEFAVORABLE"."EN COURS"}))
    mais =D12-E12 ne serait-il pas + simple ?

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 934
    Points : 28 930
    Points
    28 930
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    En parcourant rapidement, pourquoi en D12 et en E12 avoir mis des constantes au lieu de faire référence aux cellules correspondantes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NB.SI('2010'!F:F;"ENG")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD(('2010'!F1:F1000="ENG")*('2010'!H1:H1000="CLOS")*1)
    Cela t'oblige à refaire la formule à chaque fois alors que comme ceci tu peux recopier vers le bas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD(('2010'!F1:F1000=B12)*('2010'!H1:H1000="CLOS")*1)
    Une autre constatation, y a t'il une raison pour laisser des lignes vides sur la feuille 2010 ?
    Pourquoi ne pas encoder les lignes les unes à la suite des autres même si tu as d'autres lignes pour un même dossier.
    C'est un risque d'erreurs pour tirer des rapports ensuite surtout si tu utilises des fonctions Date & Heure

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 934
    Points : 28 930
    Points
    28 930
    Billets dans le blog
    53
    Par défaut
    Bonsoir,
    Petite illustration de ce que l'on peut faire avec la fonction SOMMEPROD et un tableau croisé dynamique quand on place ses données sur une seule feuille.
    http://www.cijoint.fr/cjlink.php?fil...cij5uozihV.xls

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par corona Voir le message
    Bonsoir,
    Petite illustration de ce que l'on peut faire avec la fonction SOMMEPROD et un tableau croisé dynamique quand on place ses données sur une seule feuille.
    http://www.cijoint.fr/cjlink.php?fil...cij5uozihV.xls
    Merci Philippe pour le lien ! Cela va m'en apprendre davantage !
    Merci aussi pour les astuces de formules que je ne connaissais pas...Et oui, ca rentre doucement...

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 20
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par GerardCalc Voir le message
    L'intitulé nous dit "défavorable ou en cours". Je ne vois pas de défavorable dans ta colonne H.

    Si je retranscris l'intitulé, cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SOMMEPROD(('2010'!F1:F1000=B12)*('2010'!H1:H1000={"DEFAVORABLE"."EN COURS"}))
    mais =D12-E12 ne serait-il pas + simple ?
    Bonsoir Gerardcalc
    Merci pour l'aide ! La formule communiquée est ce que j'attend sauf que j'ai omis de préciser qu'a la place des resultats chiffrés en colonnes "F" de la feuille "TLCC 2010", il faudrait que les cellules indiquent les mots "CLOS" ou "DEFAVORABLE" par rapport au même mots rencontrés en feuille "2010" et en colonne "H".
    Il est vrai que dans l'exemple de mes feuilles jointes, j'ai oublié de noter les mots "DEVAVORABLE"...A corriger pour les essais !
    J'espère m'expliquer correctement !
    Bonne soirée et j'attend avec impatience ta réponse !

Discussions similaires

  1. Probleme de logique dans une requete
    Par linou dans le forum Langage SQL
    Réponses: 11
    Dernier message: 18/03/2005, 19h52
  2. Réponses: 6
    Dernier message: 18/01/2005, 16h24
  3. Déterminer Algo pour une formule mathématique
    Par jekyll_omiwane dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 07/01/2005, 18h28
  4. Mauvais résultat aprés une formule de calcul complexe
    Par poufouille dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/12/2004, 00h12
  5. problème de guillemets dans une formule shell
    Par dim_italia dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/08/2003, 12h46

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