Question Comment puis-je obtenir les valeurs distinctes / uniques dans une colonne dans Excel?


Si j'ai une colonne avec des valeurs et que je veux savoir quelles sont les valeurs distinctes (pas combien, mais les valeurs réelles), comment puis-je le faire?

Dans SQL Server, je ferais quelque chose comme

SELECT Distinct(MyColumn) FROM MyTable

250
2017-10-01 15:34


origine


En relation: stackoverflow.com/questions/13307927/... - alexanderbird


Réponses:


Plus simple que vous ne le pensez:

  • Clique le Les données Menu du ruban
  • Sélectionnez le Avancée Bouton dans le Trier et filtrer section
  • Remplissez la boîte de dialogue en copiant les résultats vers un autre emplacement et en vous assurant cochez Dossiers uniques uniquement

enter image description here


270
2017-10-01 15:48



Pour ceux d'entre nous qui vivent encore une existence sans ruban, c'est Data-> Filter-> Advanced. - J.T. Grimes
+1 Cette méthode est supérieure à Supprimer les doublons si vous souhaitez conserver les données d'origine intactes. - Excellll
Si vous copiez des données sur une autre feuille, vous devez lancer la boîte de dialogue Avancé. à partir de la feuille que vous souhaitez copier dans, sinon vous obtenez un You can only copy filtered data to the active sheet Erreur. - Dave Zych
Cela ne se met pas à jour lorsque les valeurs de la plage source changent. Est-il possible de le rendre dynamique? - hughes


Excel 2007 et 2010:
Utilisez le Remove Duplicates option de menu sous le Les données entête.

Excel 2003:
Moyen facile:

  1. Assurez-vous que vos données ont un en-tête
  2. Données -> Filtre -> Filtre avancé
  3. Vérifier uniquement les enregistrements uniques
  4. Sélectionnez Copier vers un autre emplacement
  5. Cliquez sur OK

Façon difficile:

Ecrivez une macro avec le code suivant:

'Remove duplicates from sorted list
Sub getDistinct()
    Do While ActiveCell.Value <> ""
        If ActiveCell.Value = ActiveCell.Offset(1, 0).Value Then
            ActiveCell.Select
            Selection.Delete Shift:=xlUp
        Else
            ActiveCell.Offset(1, 0).Activate
        End If
    Loop
End Sub

Cela vous donne votre liste distincte. Vous voudrez peut-être d'abord copier votre liste sur une autre feuille.


126
2017-10-01 15:43



Merci! C'est une preuve que Stack Exchange est bien meilleur que toute autre source d'informations techniques. Tous les autres résultats de Google sont inutiles et non classés. Aussi je me demande comment les experts-échange survivent - Eran Medan


J'utilise deux méthodes principales pour obtenir des valeurs distinctes - la première est l'inestimable Remove Duplicates outil comme suggéré par Nathan DeWitt.

L'inconvénient de Remove Duplicates est que vous perdez des données. Malgré le pouvoir de Ctrl+z vous ne souhaitez peut-être pas le faire pour diverses raisons - par exemple, vous pouvez avoir des filtres actuellement sélectionnés qui rendent très difficile la suppression des doublons pour obtenir votre liste de valeurs distincte.

L'autre méthode, non mentionnée ci-dessus, consiste à utiliser un tableau croisé dynamique.

Disons que ceci est votre table et que vous voulez obtenir la liste distincte des plates-formes. dummy table

Insérer un Pivot Table avec la table comme source de données.

Maintenant, sélectionnez le Plate-forme (s) colonne comme votre Row Labels.

Voila! Une liste de valeurs distinctes.

pivot table as distinct value list

Si vous souhaitez ranger cela, vous pouvez éteindre Field Headers Et mettre Grand Totals être Off for Rows and Columns.


19
2018-04-04 09:38



La technique du tableau croisé dynamique est géniale! Merci pour cela. - Thomas L Holaday


Ou (simple façon brute):

En B1,

=IF(COUNTIF(A$1:A1,A1)=1,A1,"") 

et copier. Il copie simplement la première occurrence de chaque valeur (dans la ligne dans laquelle il se trouve).


17
2017-08-16 15:35



Comme avec toutes les formules Excel, vous devrez peut-être utiliser des points-virgules (;) au lieu de virgules (,) en fonction des paramètres régionaux de votre système. - Scott


Ou vous pouvez inclure l'option de filtre dans une macro

    Columns("A:A").AdvancedFilter Action:=xlFilterInPlace, Unique:=True

5
2018-04-13 09:37





Pour moi, le moyen le plus simple de trier est d'utiliser l'option "Filtrer".

La première étape consiste à rechercher les valeurs en double avec la mise en forme conditionnelle -> Mettre en évidence les règles de cellules -> Valeurs en double.

Cliquez ensuite sur la flèche de la colonne contenant les doublons (dans ce cas, "Plateformes") -> Filtrer par couleur (couleur des cellules ou couleur de la police).


3
2018-03-06 18:54



Le résultat ici est différent, comme tout les instances de doublons sont supprimées. Par exemple. la colonne avec des valeurs [a, a, b] devrait réduire à [a, b], ne pas [b]. - Hugo Ideler