formule doublon avec condition

david84

XLDnaute Barbatruc
Bonjour,
J'ai un tableau avec 2 colonnes.
je cherche une formule me permettant de récupérer sur 2 autres colonnes les valeurs des 2 premières colonnes sans les doublons de la colonne 2.
ex :
cyclisme paris cyclisme paris
cyclisme caen natation cannes
cyclisme paris
natation cannes
natation strasbourg
natation cannes

Ci-joint fichier.
Merci.
 

Pièces jointes

  • formule_doublon.xls
    21 KB · Affichages: 111

david84

XLDnaute Barbatruc
Re : formule doublon avec condition

Oui sur le principe mais j'aurai du mal à l'utiliser dans ce que que je veux faire.
Je suis en train de voir s'il est possible de combiner la solution de Cisco en l'incluant dans une formule "gauche(formule de Cisco)" dans une colonne et "droite(formule de Cisco) dans une autre mais je manque encore d'expérience...
 

CISCO

XLDnaute Barbatruc
Re : formule doublon avec condition

Bonsoir

en l'incluant dans une formule "gauche(formule de Cisco)" dans une colonne et "droite(formule de Cisco) dans une autre mais je manque encore d'expérience...

Je ne pense pas que cela puisse fonctionner car il faut forcément faire une comparaison avec l'ensemble ((NB.SI(D$1 : D1....) = 0), la partie gauche (correspondant à la colonne A) et la partie droite (correspondant à la colonne B), pour éliminer les doublons, et uniquement les doublons. Cela semble possible avec un concatener, mais cela ne fonctionne pas. J'ai aussi essayé en passant par un nom défini pour l'occasion, mais là aussi échec... Grrrrr.

Il y a peut être moyen en passant par un format personnalisé, mais je ne sais, ni si cela est possible, ni comment : Il faudrait pouvoir, grace à ce format personnalisé, dans une première colonne, n'afficher que jusqu'à l'espace, et dans une autre colonne, n'afficher qu'à partir de cet espace. Autrement dit, ces colonnes contiendraient le texte en entier, mais tout ne serait pas affiché.

Ou en utilisant la colonne résultat que je propose comme colonne intermédiaire...

Ou alors en passant par une macro...

@ plus
 
Dernière édition:

bcharef

XLDnaute Accro
Re : formule doublon avec condition

Re bonsoir david84, Jean-Marcel, ROGER2327 & CISCO,
Re bonsoir à toutes et à tous.

Un autre essai avec des plages nommées dynamiques.

Dans l'espoir que notre reine Monique pourra intervenir, afin d'éliminer la colonne supplémentaire.

Cordialement.

BCharef
 

Pièces jointes

  • formule_doublonV2.zip
    6.5 KB · Affichages: 65

david84

XLDnaute Barbatruc
Re : formule doublon avec condition

Bonsoir à tous et merci pour votre implication.
Cisco, malgré mon peu d'exérience sur Excel, je ne vois également pas comment essayer de partager deux mots qui sont...déjà sur 2 colonnes, à moins d'utiliser un subterfuge pour essayer de contourner le problème.
Bcharef, ton travail est brillant et j'avoue avoir du mal à tout comprendre mais je pense que tu arrive au même résultat que la formule de Cisco dont le résultat serait ensuite obtenu avec les formule gauche et droite dans 2 autres colonnes (si ce n'est pas le cas explique le moi STP).
Demain est un autre jour, peut-être que quelqu'un aura une révélation !
Merci encore à tous.
 

david84

XLDnaute Barbatruc
Re : formule doublon avec condition

Juste une chose histoire de bien te comprendre et vu mon niveau basique : peux-tu me traduire en "français" ce que veux dire cette partie de la formule :
MIN(SI(NB.SI($C$2:C2;CONCATENER(Disciplines;" ";Communes))=0;LIGNE(Communes))))&""

Merci
Merci
 

CISCO

XLDnaute Barbatruc
Re : formule doublon avec condition

Bonsoir

Pas évident à expliquer en "français"...

MIN(SI(NB.SI($C$2:C2;CONCATENER(Disciplines;" ";Communes))=0;LIGNE(Communes))))&""

CONCATENER(Disciplines;" ";Communes)) donne "Disciplines Communes"
NB.SI( )= 0 car le contenu de C2 est différent de "Disciplines Communes"
donc SI(NB.SI( )=0;.... renvoie le n° de la ligne contenant "Communes".

En réalité, et pour bien comprendre le fonctionnement de cette formule, il faut garder en mémoire le fait qu'il s'agit d'un calcul matriciel.

C2 n'est pas comparé qu'à A2&" "&B2, mais aussi à A3&" "&B3, et à A4&" "&B4 et ainsi de suite.
NB.SI( ) n'est égal à 0 que lorsque ces groupes de mots sont différents de C2.

La formule garde donc en mémoire tous les n° de lignes contenant en A&" "&B des groupes de mots différents de C2. On a donc éliminé les n° de ligne contenant les doublons de C2

Et finalement la formule ne garde dans cette liste, grace à MIN, que le plus petit de ces n° de ligne.

Et on recommence en dessous en comparant cette fois si, non seulement à C2, mais aussi à C3, pour éliminer tous les doublons de C2 et de C3.

Et en dessous on recommence en comparant à C2, à C3 et à C4, histoire d'éliminer tous les doublons de C2, C3 et C4.

Et ainsi de suite.

@ plus
 
Dernière édition:

Discussions similaires