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

Requêtes et SQL. Discussion :

Calcul de la moyenne sans les champs vides


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 110
    Par défaut Calcul de la moyenne sans les champs vides
    Bonjour,

    Je souhaite calculer une moyenne dans Access à partir de 3 champs, seulement il peut y avoir des champs vides

    Il faudrait que les possibilité de calcule en fonction si un ou des est vides:

    (Champ1+Champ2+Champ3)/2
    (Champ1+Champ2+Champ3)/3
    (Champ1+Champ2+Champ3)/1

    J'ai fait cela, mais cela ne semble pas fonctionner? Pourriez-vous svp m'aider

    ([20- RESULTAT]![TAUX BAC]+[20- RESULTAT]![TAUX RAC]+[20- RESULTAT]![TAUX CPTEUR])/ iif(EstNull([20- RESULTAT]![TAUX BAC]);0;1)+ iif(EstNull([20- RESULTAT]![TAUX RAC]);0;1)+ iif(EstNull([20- RESULTAT]![TAUX CPTEUR]);0;1)

  2. #2
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    moy = (Nz(champ1, 0) + Nz(champ2, 0) + Nz(champ2, 0)) / (Not IsNull(champ1) + Not IsNull(champ2) + Not IsNull(champ3)) * -1

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 110
    Par défaut
    Bonjour,

    J'ai ajusté ta formule avec la mienne comme cela :

    (Nz([20- RESULTAT]![TAUX BAC];0)+Nz([20- RESULTAT]![TAUX RAC];0)+Nz([20- RESULTAT]![TAUX CPTEUR];0))/(Pas EstNull([20- RESULTAT]![TAUX BAC])+Pas EstNull([20- RESULTAT]![TAUX RAC])+Pas EstNull([20- RESULTAT]![TAUX CPTEUR]))*-1

    Par contre, je n'obtiens le résultat attendu.

    Je l'addition de champs 1+champ3 par exemple, mais ne divise pas par le nombre de champs non vide.

    En résultat j'obtiens 115% par exemple

    Merci de votre aide

  4. #4
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Les champs sont bien de type numérique ? Il n'y aurait pas aussi des valeurs "" en plus des NULL ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 110
    Par défaut
    Les champs sont bien numérique avec comme info général :

    Format : porcentage
    Valeur par défaut : rien de renseigné, c'est vide
    Null interdit = Non
    Indexé = Non

    merci

  6. #6
    Membre Expert Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Par défaut
    Essai cette solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PasNul: (Pas EstNull([champ1]))-(Pas EstNull([champ2]))-(Pas EstNull([champ3]))+2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Moyen: (Nz([champ1])+Nz([champ2])+Nz([champ3]))/[pasNul]

Discussions similaires

  1. [XL-2003] Calcul de la moyenne sans cellule vide
    Par yfchauer dans le forum Excel
    Réponses: 8
    Dernier message: 14/08/2012, 22h13
  2. Calcul de plusieurs moyenne sans prendre en compte les zéro
    Par antoine2933 dans le forum SAS Base
    Réponses: 13
    Dernier message: 18/05/2011, 15h46
  3. Réponses: 6
    Dernier message: 04/07/2008, 13h59
  4. Filtrer sans exclure les champs vides
    Par Atom420 dans le forum VBA Access
    Réponses: 2
    Dernier message: 11/10/2007, 16h56
  5. tri avec les champs vides en dernier
    Par r-zo dans le forum Requêtes
    Réponses: 11
    Dernier message: 03/09/2003, 13h40

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