RechercheV a partir d'une liste avec doublon

Salut tout le monde !

Je viens a nouveau vous demander de l'aide pour une question qui, de ce que j'ai trouvé, pose des problèmes a pas mal de monde... Je n'ai aps trouvé de solution qui s'appliquent a mon cas particulier, donc je fais un nouveau post =D

Je cherche a faire une rechercheV d'une valeur dans une liste ou cette valeur se retrouve potentiellement plusieurs fois, mais pas forcément au même endroit. et cette valeur change d'un jour a l'autre, selon les dossiers en cours.

Un fichier de démo est présent en PJ, ça sera plus simple pour expliquer mon problème

En colonnes A et B, ce sont des valeurs qui ne changent pas (la colonne B est importante).

En colonne C, on rentre manuellement le Sample Name (en fonction de la colonne A, mais on utilise le BARCODE (colonne B) pour tout le reste).

En colonne I, on classe les sample names en fonction du barcode (Colonne I) qui leur est associé (avec une recherchev du barcode dans la colonne B qui renvoit la colonne C en colonne I)

En colonne M, avec la formule matricielle, on renvoit tous les Sample Names, dan l'ordre d'apparition en colonne I et sans les trous.

En colonne L, je cherche a retrouver le barcode qui correspond au sample name (exemple, X96011863575 renvoit le barcode 7). problème : on a des réplicats de Sample Name (pour assurer un crtain suivi qualité). Du coup, la recherchev ne renvoit que le barcode qui correspond a la première occurence du Sample name. Je voudrais qu'il renvoit les différents barcode, en fonction de l'ordre et du nombre de réplicat (si 3 réplicats, 3 barcodes différents, etc.).

Si besoin, vous avez un modèle de la meme feuille de calcul en feuille 3, mais qui est vide de toute donnée.

J'espère être clair dans ma demande ^^'

Est-ce que quelqu'un a une idée ? Je peux prendre les formules en français ou anglais indifférement =D

Merci d'avance a mon sauveur ou ma sauveuse !

Bonjour,

Essayez ceci en L2, à valider avec CTRL + SHIFT + ENTREE et à tirer vers le bas

=SI(SIERREUR(INDEX($H$2:$I$97; PETITE.VALEUR(SI($I$2:$I$97<>"";LIGNE($A$1:$A$96); "");LIGNE(B1) );1); "")<>0;(SIERREUR(INDEX($H$2:$I$97; PETITE.VALEUR(SI($I$2:$I$97<>"";LIGNE($A$1:$A$96); "");LIGNE(B1) );1); ""));"")

Cdlt

ça marche nickel ! Merci beaucoup !!

Est-ce qu'il serait possible par hasard d'avoir une explication sur comment fonctionne cette formule ?
je maitrise très mal index et ligne ^^'

Merci =D

Bonjour,

Je vais essayer d'être le plus clair possible, avec des couleurs, ce sera plus simple pour la compréhension:

***************************************************************************************************************

PETITE.VALEUR(plage, rang), ici formule de base, rapportée dans notre cas:

PETITE.VALEUR(SI($I$2:$I$97<>"";LIGNE($A$1:$A$96); "");LIGNE(B1) ): sur la plage I2 à I97, pour chaque ligne non vide, on prend la plus petite valeur (dont le rang correspondant au numéro de la ligne sur laquelle se trouve la formule) trouvée en colonne B, si la formule se trouve sur la ligne 2 on prendra la 2ème petite valeur et ainsi de suite pour les autres lignes.

****************************************************************************************************************

INDEX(Plage, Ligne, Colonne), ici formule de base, rapportée dans notre cas:

INDEX($H$2:$I$97; PETITE.VALEUR(SI($I$2:$I$97<>"";LIGNE($A$1:$A$96); "");LIGNE(B1) );1) on recherche dans la plage H2:I97 (donc sur 2 colonnes) une valeur située à la ligne donnée par PETITE.VALEUR dans la colonne I, si la valeur est trouvée, on prend la valeur située sur la première colonne (H) , c'est à dire le chiffre correspondant à la valeur cherchée.

J'espère que ceci vous aura aidé.

Cdlt

Merci beaucoup !

C'est beaucoup plus clair !

Rechercher des sujets similaires à "recherchev partir liste doublon"