Comparer deux plages et récupérer l'entête de colone de la cellule qui match.

Anonyme
2024-06-16T05:12:12+00:00

Bonjour,

je souhaite catégoriser mes dépenses en comparant la colonne libellé d'un tableau de dépense avec un tableau manuel regroupant les paternes à matcher où chaque entête de colonnes corresponds à une catégories.

la fonction s'inscrit dans le premier tableau d'une colonne catégories.

J'ai essayer pas mal de choses mais je tourne en rond et je bloque.

voici le modèle du premier tableau qui est chargé à partir d'un csv actualisé auquel j'ai rajouté la colonne Catégorie que je veux peupler :

Date Montant Libellé Catégorie
31/05/2024 -12 264 PREL C/C SAS ONATI - ABONNEME   ONATI          VINI 05_2024 FAC2024 Téléphone
30/05/2024 -360 ABON TIARE NET 2                REF0060/TAX         41ABONNEMENT Banque
29/05/2024 -2 000 CB660- 27/05 SC CARREFOUR FA Courses
29/05/2024 -9 007 CB660- 27/05 DR COFFRE Médecin

le modèle du second tableau qui peut contenir des case vides (Tableau16 dans le code) avec les match partielles que je sélectionne manuellement de la colonne Libellé:

| Banque | Médecin | Téléphone | Courses | | ABON TIARE NET | DR COFFRE | ONATI | CARREFOUR | | --- | --- | --- | --- | | COTIS CARTE TIARE | | | |

et voici ce que j'ai déjà testé mais qui n'est pas encore concluant:

Le but étant de me retourné la valeur d'entête de la colonne du second tableau ou se trouve la cellule qui match.

=SI(SOMME(SIERREUR(CHERCHE(Tableau16;[@Libellé]);0))>0;Tableau16[[#En-têtes];[Banque]];"") //Ne marche que pour une colonne et pas tout le tableau

=CHERCHE(Tableau16;[@Libellé]) //mouai...

=SI(ESTTEXTE(Tableau16);SIERREUR(CHERCHE(Tableau16;[@Libellé]);0);0)>0 //Me renvois VRAI ou FAUX si match il y a...

=RECHERCHEX(C3;Tableau16;Tableau16[#En-têtes];"";2) //Ne fonctionne pas...

=INDEX(Tableau16[#En-têtes]; 1; MAX((Tableau16=[@Libellé]) * (COLONNE(Tableau16)))) //Me renvois tout les entêtes...

Si vous auriez une solution ou une aide car là je patauge !

Microsoft 365 et Office | Excel | Autres | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

3 réponses

  1. Hecatonchire 53,870 Points de réputation Modérateur bénévole
    2024-06-16T18:15:37+00:00

    Bonjour,

    Avec ton tableau16 présenté ainsi

    =CONCAT(MAP(SEQUENCE(NBVAL(Tableau16[Libellé]));LAMBDA(v;SI(NB.SI.ENS([@Libellé];"*"&INDEX(Tableau16[Libellé];v)&"*");INDEX(Tableau16[Catégorie];v);""))))

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2024-06-16T07:57:18+00:00

    Hello, voila qui est fait.

    j'ai modifié mes formulation pour essayer d'être plus explicite aussi.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. DanielCo 107.7K Points de réputation
    2024-06-16T07:06:09+00:00

    Bonjour,

    Au lieu de "=MaFonctionSurLaquelleJeBloque", peux-tu mettre le résultat attendu ?

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire