J'ai une colonne de valeurs qui apparaissent souvent sous forme de doublons. J'ai besoin de créer une nouvelle colonne, de valeurs uniques basées sur la première colonne, comme suit:
Column A Column B
a a
a b
b c
c
c
Cette colonne B devra en fait apparaître sur une feuille différente, au sein du même classeur. Je suppose donc que le format de code sheet2!A1
sera nécessaire.
Je n'ai pas eu de chance avec les options du menu Données/Filtre car cela ne semble fonctionner que sur commande. J'ai besoin que la colonne B se mette à jour automatiquement chaque fois qu'une nouvelle valeur est entrée dans la colonne A.
La réponse de Totero est correcte. Le lien est également très utile.
Fondamentalement, la formule dont vous avez besoin est la suivante:
B2=INDEX($A$2:$A$20, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$20), 0))
Puis appuyez ctrl+shift+enter (ou cela ne fonctionnera pas avec une formule matricielle).
Il faut garder à l’esprit deux points importants: la liste complète est dans les cellules A2:A20
, puis cette formule doit être collée dans la cellule B2
(pas B1
car cela vous donnera une référence circulaire). Deuxièmement, il s’agit d’une formule matricielle. Vous devez donc appuyer sur ctrl+shift+enter ou cela ne fonctionnera pas correctement.
Il existe un bon guide sur la façon de procéder ici .
Fondamentalement quelque chose de semblable à:
=INDEX(Sheet1!$A$1:$A$20, MATCH(0, COUNTIF($B$1:B1,Sheet!$A$1:$A$20), 0))
Dans mon cas, Excel était gelé en utilisant la formule de
B2 = INDEX (2 $ A: 20 $, MATCH (0, COUNTIF (1 $: 1 $, 2 $: 2 $: 20 $), 0))
car il y avait beaucoup de lignes (10000). Donc je l'ai fait d'une autre manière que je montre ci-dessous.
J'ai copié ma liste d'origine dans une deuxième colonne, puis avec la fonction Excel "Supprimer les doublons", j'ai pu trouver la liste des valeurs uniques.
Copié à partir du site Web Microsoft Office:
Select all the rows, including the column headers, in the list
vous voulez filtrer.
Cliquez sur la cellule en haut à gauche de la plage, puis faites-la glisser vers la cellule en bas à droite.
On the Data menu, point to Filter, and then click Advanced Filter. In the Advanced Filter dialog box, click Filter the list, in place. Select the Unique records only check box, and then click OK.
La liste filtrée est affichée et les lignes en double sont masquées.
On the Edit menu, click Office Clipboard.
Le volet Office Presse-papiers s'affiche.
Make sure the filtered list is still selected, and then click Copy Copy button.
La liste filtrée est mise en surbrillance avec des contours englobants et la sélection apparaît sous la forme d'un élément>> en haut du Presse-papiers.
On the Data menu, point to Filter, and then click Show All.
La liste originale est à nouveau affichée.
Press the DELETE key.
La liste originale est supprimée.
In the Clipboard, click on the filtered list item.
La liste filtrée apparaît au même emplacement que la liste d'origine.
Source: Site Web Microsoft Office (lien supprimé, cause morte)
Pour supprimer les doublons d'une colonne
Alors que la colonne B est toujours sélectionnée, dans la zone de saisie de la formule, entrez
=IF(TRIM(A1)=TRIM(A2),"",TRIM(A1))
Alors que la colonne B est toujours sélectionnée, sélectionnez Edition -> Remplir -> Vers le bas (dans les versions plus récentes, sélectionnez simplement la cellule B1 et déroulez la zone extérieure pour la développer complètement dans la colonne).
Remarque: si la colonne B se trouve sur une autre feuille, vous pouvez utiliser les feuilles Sheet1! A1 et Sheet1! A2.
Sur une colonnetriée, vous pouvez également essayer cette idée:
B2=A2
B3=IFERROR(INDEX(A:A,MATCH(B2,A:A,1)+1),"")
B3 peut être collé. Il en résultera 0, après le dernier match unique. Si cela n'est pas souhaité, mettez une déclaration IF pour l'exclure.
Modifier:
Plus facile qu'une instruction IF, du moins pour les valeurs textuelles:
B3=IFERROR(T(INDEX(A:A,MATCH(B2,A:A,1)+1)),"")
Dans le module de feuille de calcul de la feuille contenant la liste:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngDest As Range
If Not Intersect(Target, Me.Columns(1)) Is Nothing Then
Set rngDest = ThisWorkbook.Sheets("Sheet2").Range("A1")
Me.Range(Me.Range("A2"), Me.Cells(Rows.Count, 1).End(xlUp)).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=rngDest, Unique:=True
End If
End Sub
J'ai une liste de noms de couleurs dans la plage A2: A8, dans la colonne B, je souhaite extraire une liste distincte de noms de couleurs.
Suivez les étapes ci-dessous:
=IF(COUNTIF(A$2:A2,A2)=1,A2,””)
Honnêtement, j'ai suivi ces exemples et ils n'ont tout simplement pas fonctionné. Après avoir eu du mal à faire fonctionner Excel, j'ai fini par copier tout le contenu de ma colonne sur le Bloc-notes ++, où j'ai pu trouver une solution simple en quelques minutes. Jetez un oeil à ceci: Suppression des lignes en double dans Notepad ++
Edit: Voici un bref aperçu de la procédure à suivre dans TextFX:
Plugins -> Gestionnaire de plugins -> Afficher le gestionnaire de plugins -> Onglet Disponible -> TextFX -> Installer
Une fois TextFX installé dans Bloc-notes ++, sélectionnez tout le texte dont vous souhaitez supprimer les doublons, puis vérifiez les points suivants: TextFX -> Outils TextFX -> Trier les sorties uniquement, lignes UNIQUE
Cliquez ensuite sur "trier les lignes sensibles à la casse" ou "trier les lignes sensibles à la casse" et le tri sera effectué.
Une autre approche, depuis Excel 2016, consiste à utiliser Power Query.
Comment:
Data
> From a table or a range
,Remove duplicates
,Close and load
, choisissez où vous voulez le résultat et vous avez terminé, comme ceci .Refresh
.Avantages :
Désavantages :
=SORT(UNIQUE(A:A))
La formule ci-dessus fonctionne mieux si vous souhaitez répertorier des valeurs uniques dans une colonne.
Trouver ici formule mentionnée ci-dessus avec contrôle d'erreur
=IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($D$1:D1, $B$2:$B$9), 0)),"")
où: (B2: B9 correspond aux données de colonne dont vous souhaitez extraire les valeurs uniques, D1 correspond à la cellule ci-dessus dans laquelle se trouve votre formule)
Tout ce que vous avez à faire est de: Dans la liste, choisissez la liste dans laquelle vous souhaitez extraire les enregistrements. Et le plus important est de vérifier: Enregistrements uniques uniquement.
Donc, pour cette tâche, commencez par trier vos données dans l’ordre de A à Z ou de Z à A, puis utilisez une formule simple, comme indiqué ci-dessous:
=IF(A2=A3, "Duplicate", "Not Duplicate")
La formule ci-dessus indique que si les données de la colonne A2 (A correspond à la colonne et 2 correspond au numéro de ligne) sont similaires à A3 (A correspond à la colonne et 3 correspond au numéro de ligne), le résultat sera dupliqué, sinon le résultat ne sera pas dupliqué.
Prenons un exemple. La colonne A comprend une adresse électronique dans laquelle certains sont en double. Ainsi, dans la colonne 2, j’ai utilisé la formule ci-dessus qui, dans les résultats, m’affiche les deux cellules en double, l’une des lignes 2 et 6.
Une fois que vous avez les données en double, placez un filtre sur votre feuille et affichez uniquement les données en double et supprimez toutes les données inutiles.