Recherche de doublon- logique

Bonjour à tous,

J'aimerais réaliser un système de tri de doublon dans une feuille excel mais je ne vois pas trop par où attaquer le problème.

J'ai une matrice avec 4 colonnes (A,B,C,D) et environ 500 lignes.

Chaque cellule affiche une valeur aléatoire entre 0 et 101 via une fonction Alea.Entre.borne et je cherche à déterminer si certaines lignes sont doublons avec d'autres.

Cependant, c'est maintenant que les choses se corsent:

Selon mes critères, les lignes "0","1","2","3" ou "3","2","1","0" ou encore "1","3","2","0" sont doublons entre elles. En effet, l'important n'est pas ce que chaque cellule contient sur une ligne, mais bien l'ensemble de la ligne sans distinction de quelle cellule prends quoi.

Voilà mon problème, je ne sais pas trop quelle logique je pourrais employer (si c'est possible) pour réaliser ça. Du coup si vous avez des pistes de raisonnement que je pourrais employer, je suis preneur

Merci d'avance

Bonjour

Faisable par PowerQuery, intégré à Excel

Poste un exemple

Voici un exemple, je n'ai jamais utilisé Power Query mais tu piques ma curiosité

8doublon.xlsx (98.70 Ko)

Bonjour,

en attendant vu que tu n'en as que 4 par ligne, tu peux ajouter une colonne qui te les sort triés et concaténés :

=TEXTE(PETITE.VALEUR(A1:D1;1);"000")&TEXTE(PETITE.VALEUR(A1:D1;2);"000")&TEXTE(PETITE.VALEUR(A1:D1;3);"000")&TEXTE(PETITE.VALEUR(A1:D1;4);"000")

eric

Edit : un poil plus court :

=((PETITE.VALEUR(A1:D1;1)*1000+PETITE.VALEUR(A1:D1;2))*1000+PETITE.VALEUR(A1:D1;3))*1000+PETITE.VALEUR(A1:D1;4)

Edit2 : c'est mon dernier mot :

=SOMMEPROD(PETITE.VALEUR(A1:D1;{1;2;3;4})*{10000000000;10000000;10000;1})

éventuellement mettre la colonne au format Nombre, 0 décimales

Bonjour

Dans la mesure où tu as des valeurs avec alea il faut désactiver le calcul automatique

Quand veux relancer un calcul : F9 puis clic droit sur le tableau issu de la requête, actualiser

Les ligne en doublons ont un X : ajoute un segment pour les filtrer si tu le souhaites

7doublon3-pq.xlsx (172.09 Ko)

Un grand merci pour votre aide et vos conseils

@78chris Est-ce que tu pourrais me donner le nom de la technique que tu as utilisé, pour que je puisse me documenter là dessus parce que je sens que ça va m'être très utile

RE

PowerQuery intégré à Exel

J'ai mis le tableau de valeurs sous forme de tableau et l'ai nommé Data (en remplacement du nom automatique Tableau1)

Se placer dans une cellule du tableau : Données, A partir d'un tableau : ce qui ouvre PowerQuery

  • Onglet Ajouter une colonne, Colonne d'Index
  • Accueil, Nouvelle Source, Autres sources, Requête vide
  • dans la barre de formule taper =Data puis renommer cette requête en HorsDoublons
  • sélectionner la colonne Index, clic droit, Dépivoter les autres colonnes
  • sélectionner la colonne Index, Transformer, Regrouper par : nom de colonne Tab, opération Toutes les lignes
  • Ajouter une colonne, Colonne personnalisée : formule
    =List.Sort(Table.Column([Tab],"Valeur"))
  • cliquer sur la double flèche près du titre Personnalisé : Extraire les valeurs, puis Point virgule
  • sélectionner la colonne Personnalisé , Transformer, Regrouper par : cocher Avancé et faire 2 opérations :
    nom de colonne Nombre, opération Compter les lignes
    nom de colonne Tab, opération Toutes les lignes
  • filtrer la colonne Nombre pour sélectionner les 1
  • Ajouter une colonne, Colonne personnalisée : nom Index, formule
  • cliquer sur la double flèche près du titre Index : Développer sur de nouvelle lignes
  • clic droit sur la colonne Index, Supprimer les autres colonnes
  • Sélectionner la requête Data, Accueil, Fusionner des requêtes, fusionner comme nouvelle : choisir HorsDoublons en seconde requête, sélectionner la colonne Index dans chaque requête, jointure Externe Gauche
  • cliquer sur la double flèche près du titre HorsDoublons : décocher tout sauf Index
  • Ajouter une colonne, Colonne personnalisée : nom Doublon, formule
    =if [Index.1]=null then "X" else null
  • supprimer les deux colonnes d'index
  • renommer la requête Final
  • sortir par Fermer et Charger dans, Connexion uniquement
  • Afficher le volet des requêtes, (Données, Requêtes et connexions) clic droit sur Final, Charger dans, Table : choisir l'emplacement

Super

Encore merci

Rechercher des sujets similaires à "recherche doublon logique"