Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Rechercher chaine de caractères dans une colonne [RESOLU]

Darkjoh

XLDnaute Nouveau
Bonjour à toutes et tous,
J'ai besoin de votre aide car j'ai du mal à résoudre entièrement un problème sur Excel
J'ai 2 feuilles : Comptes de Référence et Table de conversion.
Dans Table de conversion, J'ai un tableau dont la colonne A contient une liste de numéros de compte sur 8 caractères
Dans Comptes de Référence, j'ai un tableau avec des numéro en colonne A et un libellé correspondant en B

Je souhaite qu'une colonne du tableau de la feuille table de conversion indique la référence "racine" par rapport à la colonne A du tableau de la feuille comptes de références

exemples :
les comptes internes 1200000 et 1290000 doivent respectivement avoir la référence 120 et 129 car celles-ci sont dans mon tableau de comptes de référence
les comptes internes 32211101 , 32211201, 32211401, 32211601 ne peuvent avoir que la correspondance 3221 car c'est la seule référence racine qui existe dans la feuille comptes de références.

J'ai trouvé une formule matricielle mais celle-ci est erronée INDEX(REFERENCE[NUMERO];EQUIV(1;NB.SI([@[COMPTE INTERNE]];REFERENCE[NUMERO]&"*");0)) car elle me sort la première référence trouvée par exemple 12 pour 1200000 et 1290000

Je vous remercie pour votre aide précieuse
 

Pièces jointes

  • Analyses numeros compta internet.xlsx
    48.8 KB · Affichages: 15
Solution
Bonjour Darkjoh, bienvenue sur XLD,

Vos explications ne sont pas claires et les résultats attendus (colonne B) ne sont pas bien justes.

Mais bon, voyez cette formule matricielle en D3 de la 2ème feuille :
Code:
=SIERREUR(INDEX('comptes de Référence '!A:A;GRANDE.VALEUR(SI(NB.SI(A3;'comptes de Référence '!A$2:A$935&"*");LIGNE('comptes de Référence '!A$2:A$935));1));"")
A valider par Ctrl+Maj+Entrée.

En 1ère feuille le tableau doit être trié sur la colonne A en ordre croissant.

A+

job75

XLDnaute Barbatruc
Bonjour Darkjoh, bienvenue sur XLD,

Vos explications ne sont pas claires et les résultats attendus (colonne B) ne sont pas bien justes.

Mais bon, voyez cette formule matricielle en D3 de la 2ème feuille :
Code:
=SIERREUR(INDEX('comptes de Référence '!A:A;GRANDE.VALEUR(SI(NB.SI(A3;'comptes de Référence '!A$2:A$935&"*");LIGNE('comptes de Référence '!A$2:A$935));1));"")
A valider par Ctrl+Maj+Entrée.

En 1ère feuille le tableau doit être trié sur la colonne A en ordre croissant.

A+
 

Pièces jointes

  • Analyses numeros compta internet(1).xlsx
    54.4 KB · Affichages: 6

Darkjoh

XLDnaute Nouveau
Bonjour job75,

Désolé pour mes explications pas très claires, mon cerveau était en ébullition à force de chercher une solution à ce problème.
En tout cas, je te remercie infiniment pour ta réponse car celle-ci apporte une solution à laquelle je n'aurais pas pensé (j'étais parti sur des GAUCHE ou MAX) mais pas GRANDE.VALEUR que j'avais totalement oublié

J'essaierai d'être plus compréhensible lors de mon prochain post, merci encore pour l'aide rapide et efficace apportée
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…