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 :

Compter le nombre d’occurrences journalier, hebdo, mensuel, annuel et historique pour chaque ligne du tableau [XL-2013]


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut Compter le nombre d’occurrences journalier, hebdo, mensuel, annuel et historique pour chaque ligne du tableau
    En colonne C j’ai des dates classées par ordre chronologique.
    En colonne Y, j’ai 2 types de valeurs : « Oui » ou « Non ».
    C8  : 31/12/14  Y8  : OUI
    C9  : 01/01/15  Y9  : OUI
    C10 : 01/01/15  Y10 : NON
    C11 : 03/01/15  Y11 : OUI
    C12 : 03/01/15  Y12 : NON
    C13 : 03/01/15  Y13 : OUI
    C14 : 28/02/15  Y14 : OUI
    C15 : 01/03/15  Y15 : OUI
    C16 : 01/03/15  Y16 : NON
    C17 : 01/03/15  Y17 : NON
    Pour chaque ligne, je souhaiterai retrouver 5 informations.
    En AA8, je souhaiterai retrouver le pourcentage de OUI depuis le début de la journée.
    En AB8, je souhaiterai retrouver le pourcentage de OUI depuis le début de la semaine.
    En AC8, je souhaiterai retrouver le pourcentage de OUI depuis le début du mois.
    En AD8, je souhaiterai retrouver le pourcentage de OUI depuis le début de l’année.
    En AE8, je souhaiterai retrouver le pourcentage de OUI depuis la première ligne du tableau (la ligne 8).
    Cela donne :
    En AA17 : 33 % (1 OUI pour 3 dates)
    En AB17 : 50 % (2 OUI pour 4 dates - 28/02/15 et 01/03/15 sont 2 jours de la même semaine)
    En AC17 : 33 % (1 OUI pour 3 dates)
    En AD17 : 56 % (5 OUI pour 9 dates)
    En AE17 : 60 % (6 OUI pour 10 dates)
    J’espère avoir été clair.
    Sans succès, j’ai fait de nombreuses tentatives avec SOMMEPROD.
    D’avance, merci beaucoup pour vos précieuses informations.
    Bonne fin d’après-midi.
    bolide7

  2. #2
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Dans le classeur joint, on a commencé par définir les noms plage_dates et plage_valeurs, de façon dynamique :
    plage_dates par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(Feuil1!$C$8;;;NB(Feuil1!$C:$C);1)
    (cela suppose qu'il n'y a pas d'autres nombres en colonne C que les dates qui nous intéressent)
    plage_valeurs par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(Feuil1!$Y$8;;;NB(plage_dates);1)
    Ecrire ensuite en AB8 la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((plage_dates=$C8)*(plage_valeurs="oui"))/NB.SI(plage_dates;$C8)
    en AC8 la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((NO.SEMAINE.ISO(plage_dates)=NO.SEMAINE.ISO($C8))*(plage_valeurs="oui"))/SOMMEPROD(1*(NO.SEMAINE.ISO(plage_dates)=NO.SEMAINE.ISO($C8)))
    en AD8 la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((plage_dates>FIN.MOIS($C8;-1))*(plage_dates<=FIN.MOIS($C8;0))*(plage_valeurs="oui"))/SOMMEPROD(1*(plage_dates>FIN.MOIS($C8;-1))*(plage_dates<=FIN.MOIS($C8;0)))
    en AE8 la formule :
    =SOMMEPROD((plage_dates>DATE(ANNEE($C8)-1;12;31))*(plage_dates<=DATE(ANNEE($C8);12;31))*(plage_valeurs="oui"))/SOMMEPROD(1*(plage_dates>DATE(ANNEE($C8)-1;12;31))*(plage_dates<=DATE(ANNEE($C8);12;31)))
    en AF8 la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NB.SI(plage_valeurs;"oui")/NB(plage_dates)
    Le calcul en AC8 est "relativement aisé" avec la version 2013 car la fonction NO.SEMAINE.ISO peut s'employer avec SOMMEPROD ce qui n'est pas le cas
    de la fonction NO.SEMAINE.
    Cordialement
    Claude
    Fichiers attachés Fichiers attachés

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonsoir papouclo,
    SENSATIONNEL CA MARCHE !
    Grand merci également pour le fichier joint.
    Petit bémol, les pourcentages trouvés se modifient dans toutes les lignes au fur et à mesure que l’on rajoute des lignes dans le tableau.
    Ainsi, par exemple si on a une ligne avec un OUI, le pourcentage journalier est de 100 %.
    Par contre, suite au rajout d'une seconde ligne à la même date avec un NON, on a un taux journalier de 50 % pour la première et la seconde ligne.
    J’aurai souhaité que les calculs se fassent ligne par ligne, mais ne soient pas modifiés aux lignes précédentes.
    Ainsi, à la première ligne le taux journalier devrait rester à 100 % et être de 50 % à la seconde ligne.
    Le même petit bémol est valable pour les autres calculs (hebdo, mensuel, annuel et historique).
    Bonne fin de soirée.
    bolide7

  4. #4
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Billets dans le blog
    1
    Par défaut
    RE,
    regarder si le classeur bis est plus satisfaisant.
    Dans ce second classeur, il est inutile de donner un nom aux plages de dates et valeurs puisqu'elles s'augmentent d'une ligne à chaque fois.
    Cordialement
    Claude
    Fichiers attachés Fichiers attachés

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Rebonsoir papouclo,
    GRAND MERCI.
    Tes adaptations correspondent exactement à mes nombreuses exigences.
    Même si je n’ai pas tout compris dans tes nouvelles formules, elles présentent l’avantage d’être beaucoup plus accessibles que tes premières propositions à mes petites compétences en fonction EXCEL.
    Merci encore.
    Très bonne nuit.
    bolide7

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] Compter le nombre d’occurrences par date (Mois, Année)
    Par carte_blanche dans le forum Excel
    Réponses: 8
    Dernier message: 23/04/2015, 13h12
  2. Compter pour chaque ligne le nombre de colonne non vide
    Par historic777 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/03/2013, 11h53
  3. Réponses: 2
    Dernier message: 04/09/2012, 10h19
  4. Réponses: 2
    Dernier message: 28/04/2010, 11h25
  5. Compter le nombre ligne listée (COUNT) ?
    Par StouffR dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2002, 09h41

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