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 :

Recherche du maximum d'occurences pour une "catégorie" donnée


Sujet :

Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Recherche du maximum d'occurences pour une "catégorie" donnée
    Bonjour à toutes et à tous,

    Après 4 ans à naviguer sur developpez.net, je me suis enfin décidé à m’inscrire
    Mon problème aujourd'hui concerne Excel, j'espère donc être au bon endroit !

    Imaginons que l'on soit dans un jeu de rôle.
    Voici un exemple de mon tableau à la fin du jeu:
    Partie Rôle Personnage Score
    1 Distributeur Harry 2
    2 Distributeur Harry 3
    3 Narrateur Hermione 9
    4 Distributeur Harry 5
    5 Distributeur Ron 10

    Comment faire pour savoir quel a été le personnage le plus joué en tant que "Distributeur" ? (ici Harry qui a été joué 3 fois en tant que "Distributeur")
    Comment faire pour savoir quel est le meilleur "Distributeur" ? (ici Ron avec un score de 10)

    J'ai cherché avec pas mal de fonctions différentes mais qui ne font pas vraiment ce que je veux. Je saurais le faire dans d'autres langages, mais avec Excel je sèche un peu

    J'espère que vous pourrez m'aider !!
    Merci de m'avoir au moins lu.

    DK

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 661
    Points : 5 785
    Points
    5 785
    Par défaut
    Normalement tu devrais pouvoir avoir toutes tes réponses dans un TCD
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 461
    Points : 707
    Points
    707
    Par défaut
    Bonjour à tous,

    Une idée en formules matricielles et colonne intermédiaire dans le fichier attaché... Espérant venir à ta demande...

    Cordialement
    Fichiers attachés Fichiers attachés

  4. #4
    Membre chevronné
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 036
    Points : 1 917
    Points
    1 917
    Billets dans le blog
    5
    Par défaut
    bonjour,

    La fonction statistique que je préfère pour le premier cas est FREQUENCE.
    Lourd pour le contexte.
    L'alternative est MODE plus léger mais avec un léger risque.

    Le 2ème cas est beaucoup plus simple.

    Pour la lisibilité, on considère les plages nommées. Les formules sont matricielles.
    cas 1 avec Frequence. Plus sûr.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(Personnage;EQUIV(MAX(FREQUENCE(SIERREUR(EQUIV(INDEX(Personnage;SIERREUR(EQUIV(INDEX(Personnage;SI(Rôle=Distributeur;LIGNE(Rôle);"");1);Personnage;0);""));Personnage;0);0);SIERREUR(EQUIV(INDEX(Personnage;SIERREUR(EQUIV(INDEX(Personnage;SI(Rôle=Distributeur;LIGNE(Rôle);"");1);Personnage;0);""));Personnage;0);0)));FREQUENCE(SIERREUR(EQUIV(INDEX(Personnage;SIERREUR(EQUIV(INDEX(Personnage;SI(Rôle=Distributeur;LIGNE(Rôle);"");1);Personnage;0);""));Personnage;0);0);SIERREUR(EQUIV(INDEX(Personnage;SIERREUR(EQUIV(INDEX(Personnage;SI(Rôle=Distributeur;LIGNE(Rôle);"");1);Personnage;0);""));Personnage;0);0));0))
    cas 1 avec Mode plus léger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(Personnage;MODE(SIERREUR(EQUIV(INDEX(Personnage;SI(Rôle=Distributeur;LIGNE(Rôle);"");1);Personnage;0);"")))
    Chacune des 2 formules ci-haut nécessitent de sélectionner au moins 2 cellules avant la saisie.


    cas 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(Personnage;EQUIV(MAX(Score);Score;0))
    Ousmane


    Quand on tombe dans l'eau, la pluie ne fait plus peur.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    @halaster08 Je ne maitrise pas vraiment les tableaux croisés dynamiques. J'essaierai d'y jeter un œil.

    @hben1961 Je vais essayer de regarder aussi.

    @NVCfrm Oui j'avais vu la fonction FREQUENCE mais je ne voyais pas du tout comment l'utiliser. Je vais aussi étudier cette piste avec MODE.

    Merci beaucoup pour vos réponses !

    DK

    EDIT:
    @halaster08 Effectivement les TCD z'ai pas tout compris

    @NVCfrm Ça ne fait pas exactement ce que je veux en fait.

    @hben1961 C'est exactement ce que je veux !! J'ai essayé de reproduire les formules dans mon cas, mais j'ai des erreurs et ce malgré plein d'essais. J'avais nommé mes plages de cellules et ça ne marchait pas, j'ai donc réessayé sans les noms mais pas mieux. Peut-être est-ce dû aux cellules vides ?
    Je suis prêt à joindre mon fichier ...

    Je continue à chercher en attendant !

  6. #6
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par DoctorK Voir le message
    Comment faire pour savoir quel a été le personnage le plus joué en tant que "Distributeur" ? (ici Harry qui a été joué 3 fois en tant que "Distributeur")
    Tu fais une liste de tous les roles possibles et juste à côté tu utilises un simple NB.SI().

    Comment faire pour savoir quel est le meilleur "Distributeur" ? (ici Ron avec un score de 10)
    Le plus simple à mon avis consiste à mettre un filtre sur l'ensemble de ton tableau. Ensuite, il te suffira de quatre clics pour obtenir cette réponse (deux clics pour classer par scrore et deux clics pour limiter aux Distributeurs ou classer par Distributeurs).
    Ruban Données > Filtrer
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Tu fais une liste de tous les roles possibles et juste à côté tu utilises un simple NB.SI().
    Déjà fait ! Mais pour une autre stat. Ça c'est pour avoir toutes les parties pour une catégorie. Dans mon exemple Distributeur => 4; Narrateur => 1.

    Citation Envoyé par Menhir Voir le message
    Le plus simple à mon avis consiste à mettre un filtre sur l'ensemble de ton tableau. Ensuite, il te suffira de quatre clics pour obtenir cette réponse (deux clics pour classer par scrore et deux clics pour limiter aux Distributeurs ou classer par Distributeurs).
    Ruban Données > Filtrer
    Mon but est d'utiliser une formule donc 0 clique !

  8. #8
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par DoctorK Voir le message
    Déjà fait ! Mais pour une autre stat. Ça c'est pour avoir toutes les parties pour une catégorie. Dans mon exemple Distributeur => 4; Narrateur => 1.
    En supposant que les données de ton premier message soient en A1 : D6

    Tu mets dans F2 : Distributeur
    Tu mets dans F3 : Narrateur

    Dans G2 tu mets la formules suivante :
    Et tu la recopies en G3.

    Ca fait exactement ce que tu décris.

    Pour le max d'un rôle, tu mets en H2 la fonction suivante en matricielle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MAX(SI(B$2:B$6=F2;0;D$2:D$6))
    Et u la recopies en H3
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Menhir Voir le message
    En supposant que les données de ton premier message soient en A1 : D6

    Tu mets dans F2 : Distributeur
    Tu mets dans F3 : Narrateur

    Dans G2 tu mets la formules suivante :
    Et tu la recopies en G3.

    Ca fait exactement ce que tu décris.
    Pas tout à fait. Où dans ce cas là je me suis mal exprimé ! Mais je me suis servi de ton raisonnement pour parvenir à mes fins En gros j'ai construis un autre tableau constitué de tous les personnages disponibles et tous les rôles et avec un NB.SI et un MAX j'ai ce qu'il me faut. C'est assez lourd mais bon, ce n'est pas pour quelque chose de professionnel !

    Citation Envoyé par Menhir Voir le message
    Pour le max d'un rôle, tu mets en H2 la fonction suivante en matricielle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MAX(SI(B$2:B$6=F2;0;D$2:D$6))
    Et u la recopies en H3
    Super merci ! J'ai juste corrigé ta formule en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MAX(SI(B$2:B$6=F2;D$2:D$6;0))
    et tout fonctionne !


    Merci pour vos réponses !

    PS: Résolu sans être optimisé. En gros : Système D

  10. #10
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Vue la taille des formules et le peu de fonctions utilisées, je ne vois pas comment on pourrait plus l'optimiser.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Je suis d'accord ! Je parle juste de la façon dont je m'y suis pris, avec tous les tableaux intermédiaires que j'ai créés...

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/12/2014, 15h05
  2. Recherche un pro du flash pour une petite modif
    Par Stegue dans le forum Flash
    Réponses: 7
    Dernier message: 10/06/2007, 08h20
  3. recherche du nombre d'occurences dans une table
    Par berry dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/01/2004, 20h03

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