web-dev-qa-db-fra.com

Ignorer les doublons et créer une nouvelle liste de valeurs uniques dans Excel

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. 

70
tob88

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.

62
achaudhr

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))
21
Totero

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)

10
Jesús Romera

Pour supprimer les doublons d'une colonne 

  1. Trier les valeurs dans la colonne A A-> Z
  2. Sélectionnez la colonne B
  3. 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))
    
  4. 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.

5
Allen King

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)),"")
5
Jook

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
2
Tim Williams

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:

  • Sélectionnez la cellule B2. écrivez la formule pour récupérer les valeurs uniques d'une liste.
  • =IF(COUNTIF(A$2:A2,A2)=1,A2,””)
  • Presse Enter sur votre clavier.
  • La fonction retournera le nom de la première couleur.
  • Pour renvoyer la valeur pour le reste des cellules, copiez la même formule vers le bas. Pour copier une formule dans la plage B3: B8, copiez la formule dans la cellule B2 en appuyant sur la touche. CTRL+C sur votre clavier et collez dans la plage B3: B8 en appuyant sur la touche CTRL+V.
  • Ici vous pouvez voir la sortie où nous avons la liste unique des noms de couleurs.
2
Hitesh Rathor

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é.

0
brian cronrath

Une autre approche, depuis Excel 2016, consiste à utiliser Power Query.

Comment:

  • sélectionner les données (y compris le nom du champ),
  • utilisez le menu Data> From a table or a range,
  • (Excel changera votre feuille en un tableau Excel, ce qui est très pratique),
  • dans l'éditeur de requête de puissance, cliquez avec le bouton droit de la souris sur ColumnA (l'en-tête de colonne) et sur Remove duplicates,
  • dans le menu, choisissez Close and load, choisissez où vous voulez le résultat et vous avez terminé, comme ceci .
  • Lorsque vous souhaitez que la table de résultats soit mise à jour, cliquez dessus avec le bouton droit de la souris et choisissez Refresh.

Avantages :

  • il utilise le processeur uniquement lorsqu'il est mis à jour manuellement, ce qui est très pratique pour les longues listes,
  • si vous êtes curieux, cela offre beaucoup d'autres options puissantes.

Désavantages :

  • il ne se met pas à jour instantanément (vous devez cliquer avec le bouton droit de la souris et actualiser le tableau des résultats),
  • les personnes possédant une ancienne version d'Excel ne pourront pas actualiser le tableau des résultats.
0
mll
=SORT(UNIQUE(A:A))

La formule ci-dessus fonctionne mieux si vous souhaitez répertorier des valeurs uniques dans une colonne.

0
TheOnlyAnil

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)

0
Sergey Ryvkin

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. 

0
Abbas

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.

0
Sachin Joshi