Associer des codes à des listes

Résolu/Fermé
Lucie59 - 26 sept. 2018 à 15:23
 Lucie59 - 26 sept. 2018 à 16:29
Bonjour à tous ,





Voici mon problème :
J'ai un tableau avec 46 listes d'une centaine de codes à 11 chiffres chacune. Et il faut que si (à l'aide d'une autre formule que j'ai déjà mise en place), le nombre à 11 chiffres que j'obtiens se trouve dans une de ces 46 listes, il prenne le code de la liste qui lui correspond (allant de 001 à 046).
Si ce nombre se retrouve dans la liste 001, je dois obtenir le code 001.
S'il apparait dans la liste 002, je dois obtenir le code 002… Etc.

J'ai essayé la formule suivante : =SI(NB.SI(V2:V98;Q2);"001";SI(NB.SI(W2:W103;Q2);"002";SI(NB.SI(X2:X101;Q2);"003";""))).
Malheureusement, je ne peux aller que jusqu'à la liste 003, car Excel me dit que j'ai rentré trop d'arguments.
Avez-vous une solution pour que je puisse aller jusqu'à 46 ?

Merci beaucoup !
A voir également:

4 réponses

Raymond PENTIER Messages postés 58533 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 11 juillet 2024 17 144
26 sept. 2018 à 15:55
Essaie
=SI(NB.SI(V2:V98;Q2);"001";"") & SI(NB.SI(W2:W103;Q2);"002";"") & SI(NB.SI(X2:X101;Q2);"003";"") & ...
Raymond PENTIER Messages postés 58533 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 11 juillet 2024 17 144
26 sept. 2018 à 15:57
Tu devrais aussi laisser tomber Excel 75 et passer à une version un peu plus contemporaine, au moins celle de 2007 ! Tu ne seras plus limitée à 3 occurrences.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 405
Modifié le 26 sept. 2018 à 16:00
Bonjour

essayez d'adapter cet exemple, sous réserve que le code cherché n'apparaisse qu'une seule fois dans le tableau
titre de colonne = valeur à trouver soit de A1 à AT1: liste 001 liste 002 etc.....
plage de codes de A2 à AT100 pourl'exemple
pour trouver le titre de la colonne où se trouve une valeur cherchée entrée en AU1, en AV1:
=SIERREUR(INDEX( $A$1:$AT$1;PETITE.VALEUR(SI($$2:$AT$100=AU1;COLONNE(A$1:$AT$1));1));"")
formule matricielle à entrer avec la touche enter en maintenant les touches ctrl et shift enfoncées
elle s'affiche automatiquement entre accolades dans la barre de formule
cette formule est assez lourde, bien limiter sa recopie aux nombres de lignes utiles ainsi que les limites de plages concernées

voila ce que ça donne à plus petite échelle

https://mon-partage.fr/f/aVEPxhyN/


crdlmnt
ccm81 Messages postés 10863 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 12 juin 2024 2 410
26 sept. 2018 à 16:06
Bonjour à tous

Une autre solution via une petite fonction personnalisée (macro)
https://www.cjoint.com/c/HIAofnzyNsB

Cdlmnt
Merci beaucoup à tous ! C'est réglé !

Bonne journée :D