Excel UNIQUE sur plusieurs colonnes

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Excel UNIQUE sur plusieurs colonnes

Message par ForumBot »

Excel UNIQUE sur plusieurs colonnes




Source : Stack Overflow [office365]

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Excel UNIQUE sur plusieurs colonnes

Message par ayi »

Nouvelle réponse :


Les nouvelles fonctions de mise en forme de tableaux de Ms365 seront utiles :


=UNIQUE(TOCOL(A2:C7,3,1))


TOCOL() retournerait un vecteur de toutes les valeurs autres que les valeurs d’erreur ou vides (3) par colonne (1).


Ancienne réponse :


En utilisant Microsoft365 avec accès à LET(), vous pourriez utiliser :



Formule dans E2 :


=LET(X,A2:C7,Y,SEQUENCE(ROWS(X)*COLUMNS(X)),Z,INDEX(IF(X="","",X),1+MOD(Y,ROWS(X)),ROUNDUP(Y/ROWS(X),0)),SORT(UNIQUE(FILTER(Z,Z<>""))))


De cette façon, la formule devient facilement réutilisable puisque le seul paramètre à modifier est la référence à « X ».


Pour information, cela pourrait aussi être fait via PowerQuery alias Get&Transform, disponible depuis Excel 2013 ou en tant que complément gratuit pour Excel 2010.




  • Sélectionnez vos données (y compris les en-têtes). Allez dans Ruban > Données > « À partir d’un tableau/d’une plage ».




  • Confirmez que vos données ont des en-têtes et PowerQuery devrait s’ouvrir.




  • Dans PowerQuery, sélectionnez toutes les colonnes. Allez dans Transformer > « Transposer ».




  • Sélectionnez à nouveau toutes les colonnes. Allez dans Transformer > « Supprimer le croisement dynamique des colonnes ».




Cela prendra en charge les valeurs vides également. Maintenant :




  • Sélectionnez la colonne d’attributs et supprimez-la.




  • Triez la colonne restante et supprimez les doublons (clic droit sur l’en-tête > « Supprimer les doublons »).




  • Fermez PowerQuery et enregistrez les modifications.




Tableau résultant :



M-Code:

let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"A Values", Int64.Type}, {"B Values", Int64.Type}, {"C Values", Int64.Type}}),
#"Transposed Table" = Table.Transpose(#"Changed Type"),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Transposed Table", {}, "Attribute", "Value"),
#"Removed Columns" = Table.RemoveColumns(#"Unpivoted Columns",{"Attribute"}),
#"Sorted Rows" = Table.Sort(#"Removed Columns",{{"Value", Order.Ascending}}),
#"Removed Duplicates" = Table.Distinct(#"Sor

*(Réponse tronquée)*
Répondre

Revenir à « Excel & VBA »