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 :

Comment trier selon le nombre d'occurrences?


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    ingénieur essai
    Inscrit en
    Juin 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : ingénieur essai
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 35
    Points : 20
    Points
    20
    Par défaut Comment trier selon le nombre d'occurrences?
    Bonjour,

    Je suis sur un problème similaire à celui présenté dans cette discussion. J'ai un tableau à une colonne avec des valeurs textuelles.
    Je souhaite créer un tableau à deux colonnes contenant la liste des valeurs uniques dans la colonne 1 et le nombre de chaque valeur dans la colonne 2.
    Par contre, je souhaite que ce tableau soit trier en ordre décroissant du nombre de valeurs.

    J'ai trouvé deux solutions qui donne un résultat, mais qui ne me conviennent pas.


    la première solution utilise la formule suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =TRIER(NB.SI(Tableau1[valeurs];UNIQUE(Tableau1[valeurs])) & "-"  & UNIQUE(Tableau1[valeurs]))
    Nom : solu1.PNG
Affichages : 901
Taille : 29,8 Ko

    La deuxième solution consiste à rajouter une colonne à mon tableau d'origine contenant le nombre d'occurrences de la ligne et d'appliquer un tri sur tout le tableau.
    Nom : solu3.PNG
Affichages : 904
Taille : 23,7 Ko

    Y aurait-il un moyen de faire plus simple en une seule formule (sans VBA)?

    Guillaume.
    [XL-365]

  2. #2
    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 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    Par simple formule qui créerait une plage dynamique, je ne vois pas, surtout si tu souhaites récupérer le résultat par tableau structuré.

    Avec Power Query, c'est l'affaire de trois clics:
    • Importation du tableau dans Poer query;
    • Regroupement des valeurs avec dénombrement;
    • Tri décroissant sur le nombre d'occurrences.




    Par clic droit dans le tableau Excel de résultat, on actualise les données.


    Nom : 2021-05-07_113000.png
Affichages : 846
Taille : 6,2 Ko

  3. #3
    Membre émérite
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 116
    Points : 2 645
    Points
    2 645
    Par défaut
    Bonjour

    un tableau croisé dynamique trié par ordre décroissant du nombre de valeur ne correspond-il pas à votre besoin ?

    sinon un regroupement dans Power Query puis un tri décroissant
    ça prend 15 secondes à définir et quelques clics

    Code Power Query : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    let
        Source = Excel.CurrentWorkbook(){[Name="Tableau2"]}[Content],
        #"Lignes groupées" = Table.Group(Source, {"Valeurs"}, {{"Nombre", each Table.RowCount(_), Int64.Type}}),
        #"Lignes triées" = Table.Sort(#"Lignes groupées",{{"Nombre", Order.Descending}})
    in
        #"Lignes triées"

    Stéphane

  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 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    C'est vrai qu'en "full Excel", un TCD fonctionne très bien aussi

    Nom : 2021-05-07_114038.png
Affichages : 839
Taille : 11,5 Ko

  5. #5
    Membre à l'essai
    Homme Profil pro
    ingénieur essai
    Inscrit en
    Juin 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : ingénieur essai
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    Merci pour vos réponses. Je vais regarder ça.
    C'est vrai que je n'utilises pas trop les tableaux croisés dynamiques car à chaque fois que j'ai voulu m'en servir, je n'arrivais pas vraiment à ce que je voulais.
    Concernant Power query, je l'utilise un peu pour récupérer des données (SAP ou vigicrues) mais je n'ai pas assez approfondi pour savoir que l'on pouvait faire des regroupements.

    Je pensais que les nouvelles fonctions Excel 365 pourraient convenir.


    Merci et bon week-end

    Guillaume.

    Par contre, aujourd'hui j'ai aussi découvert la fonction Excel Agregat() qui est pas mal pour calculer la médiane et autres centiles sur des données filtrées.

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

Discussions similaires

  1. [HQL] Trier selon le nombre d'occurrence de l'id
    Par etiennegonnot dans le forum Hibernate
    Réponses: 2
    Dernier message: 19/11/2012, 17h07
  2. Réponses: 10
    Dernier message: 01/08/2009, 02h02
  3. [MySQL] Compter/classer selon le nombre d'occurrence
    Par AIexis dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/10/2008, 18h39
  4. Trier selon le nombre de champs identiques
    Par figoro dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/10/2007, 14h07
  5. comment trier les instances d'une classe selon un attribut choisi
    Par rddev dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 29/05/2007, 00h01

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