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 :

identifier le nombre de commandes différentes par jour [XL-2016]


Sujet :

Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 353
    Points : 184
    Points
    184
    Par défaut identifier le nombre de commandes différentes par jour
    Bonjour

    je cherche une méthode pour pouvoir identifier le nbre de commande différente que j'ai par jour et cela sans compter les doublons à partir du fichier excel joint

    merci de votre aide !
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    merci de prendre le soin de décrire la conception de ta feuille plutôt que de joindre un fichier

    donc, en aveugle, charge à toi d'adapter :

    - soit une feuille où j'ai en Colonne A des dates / En colonne B des numéros de commandes (ou l'inverse, ça ne changera rien)
    - la ligne 1 est occupée par les titres "DATE" et "COMMANDE"
    - cette plage est un tableau structuré (Menu Insertion >> Tableau) avec le nom par défaut Tableau1


    Après avoir écrit en colonne D (à partir de D2) la liste des dates sans doublon :
    1) recopier l'ensemble de la colonne A dans la colonne D
    2) utiliser l'outil de nettoyage des doublon : Menu Données >> Supprimer les doublons


    Ecrire en E2 la formule matricielle suivante (à valider par Ctrl+Maj+Entrée)

    =NB(1/FREQUENCE(SI((Tableau1[[#Données];[DATE]]=D2);Tableau1[[#Données];[COMMANDE]]);Tableau1[[#Données];[COMMANDE]]))
    Ceci fait, tirer la formule vers le bas pour chaque date.

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 353
    Points : 184
    Points
    184
    Par défaut
    Waaw EXCELLENT

    mille merci !

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Salut.

    Un TCD me semblerait utile, dans ce cas.

    N'oublie pas non plus de travailler avec un tableau de données (transformer ta plage en tableau de données via Insert\Tableaux\Tableau). Ainsi, si tu ajoutes tes données, elles sont prises en compte dans tes formules et tes traitements.

    Nom : 2017-05-09_063723.png
Affichages : 1581
Taille : 32,0 Ko

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 353
    Points : 184
    Points
    184
    Par défaut
    mais il me semble que le TCD compte les doublons, non ?

    Et c'est bien la le pb, si pour une date donnée nous trouvons plusieurs n° de commande identique pour cette même date, le TCD fera une somme sans tenir compte des doublons

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Tu as tout à fait raison. J'avais zappé cette info.

    Note que dans la chouette formule de Joe.Levrai ( ), tu peux laisser tomber ce qui est en gras dans Tableau1[[#Données];[DATE]]= et utiliser uniquement Tableau1[DATE]=, vu que tu es en 2016. Idem pour la colonne des commandes.

    Pour réaliser cela par TCD (si tu avais besoin d'autres analyses), tu pourrais te tourner vers PowerPivot pour préparer ton TCD.

  7. #7
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Pierre, je rebondis sur ta remarque concernant le caractère optionnel de ciblage sur la zone #Données

    en fait, j'ai pris l'habitude de toujours les mettre car parfois c'était impératif, mais effectivement pas toujours.
    Et pas moyen de comprendre la raison ...

    A te lire, c'est uniquement lié à la version Excel ? J'avais presque trouvé une explication liées aux formules (suivant le type de formules qu'on utilise ou le fait que ça du matriciel) mais rien de bien probant.

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Salut Joe,

    La version 2007 était très verbeuse, mais depuis la 2010, je n'ai jamais rencontré de problèmes en n'utilisant pas [#Données] et par défaut, Excel prend uniquement la zone de données du tableau ou de la colonne si précisée...

  9. #9
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    Cool merci

    effectivement, maintenant que tu le dis, je rencontrais le problème quand au sein de mon organisation nous avions des environnements hybrides (2007 - 2010 - 2013 - 2016)

    un peu moins bête ce soir en me couchant

  10. #10
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 353
    Points : 184
    Points
    184
    Par défaut
    Bonjour Joe,

    merci bcp pour la manipulation décrite ci-dessus, cette formule matricielle fonctionne à merveille.

    toutefois lorsque j'ai plus de 200 milles lignes, excel surchauffe et le temps de traitement est très long,
    auriez vous une solution/conseils pour cela ?

    merci d'avance

  11. #11
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    il est rare de pouvoir obtenir le beurre et l'argent du beurre.

    un listing de 200 000 lignes et des formules matricielles pour dénombrer en dédoublonnant, c'est forcément mauvais mariage pour les impatients
    on peut éventuellement partir sur une piste non matricielle, mais qui va nécessiter une colonne supplémentaire et un tri des données afin de mâcher le travail et alléger la formule pour ôter l'aspect matriciel qui provoque l'indigestion de calcul.

    j'ai, fait rare, ouvert ton classeur pour la démonstration

    1) J'ai inséré un tableau (Tableau1) sur ta plage de données (pas obligatoire mais plus pratique et lisible pour faire les formules)
    2) J'ai trié le tableau sur la colonne DATE (plus ancien au plus récent) puis sur la colonne num_commande (du plus petit au plus grand)
    3) J'ai ajouté une troisième colonne (je l'ai appelée "OK") et écrit sur la première ligne la formule suivante :
    =SI(ET([@[num_commande]]=A1;[@date]=B1);"";1)
    Cette formule, puisqu'appliquée à une colonne de mon tableau structurée, s'est répercutée sur toutes les lignes de mon tableau
    J'ai maintenant une colonne qui m'indique "1" si pour une journée donnée, la commande apparaît pour la première fois, et "rien" si c'est une commande déjà référencée sur cette date

    J'ai écrit sur le côté les différentes dates (colonne F)
    En colonne G (G1), j'ai écrit la formule suivante :
    =SOMMEPROD(1*(Tableau1[date]=F1)*(Tableau1[OK]=1))
    J'ai tiré la formule vers le bas pour calculer les autres dates

    et le tour est joué ?

    Nom : dvp_92.png
Affichages : 1331
Taille : 44,8 Ko

  12. #12
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Pour moi, l'analyse de 200.000 lignes, ça passe par PowerPivot. La puissance de PowerPivot est vraiment là pour alléger ce genre de travail et Power Pivot offre les possibilités de tests sur les doublons.

  13. #13
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    Une autre piste :

    1) Utiliser un filtre avancé en mode "copie des éléments", sans aucun critère filtre, en ayant coché "extraction sans doublon"
    2) On se retrouve avec une nouvelle plage totalement dédoublonnée sur laquelle un simple NB.SI (ou un TCD pour reprendre la proposition de Pierre) se suffira à lui-même



    Réalisable également en automatique via VBA, en 5 lignes de codes

  14. #14
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 353
    Points : 184
    Points
    184
    Par défaut
    super merci beaucoup !!!

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

Discussions similaires

  1. Afficher une commande unix par jour
    Par awesomeman dans le forum AppleScript
    Réponses: 0
    Dernier message: 06/05/2016, 01h51
  2. Compter le nombre d'actions différentes par utilisateur
    Par exentro dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/03/2015, 15h55
  3. Requête simple : nombre de commande par jour
    Par morgan4 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 19/12/2007, 16h43
  4. Nombre de mois différents par rapport a des dates
    Par mims1664 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 05/03/2007, 09h24
  5. afficher un texte différent par jour
    Par winx69 dans le forum Langage
    Réponses: 2
    Dernier message: 20/01/2006, 17h26

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