XL 2016 auto-stop affichage fonction RechercheV

lgo_excel

XLDnaute Nouveau
Bonjour amis de la communauté d'entraide Excel,
Voici le problème exposé.
a) Détection d'une valeur recherchée dans un 1er tableau (nommé T2) se reportant à un 2ème tableau (nommé T1)
b) Les infos recherchés doivent matcher la 1ère colonne "B" et retournant la valeur trouvé à afficher sera en colonne 9 "J"
Attention celles-ci dont au format date (avr.-19)
... jusqu'ici, je suis arrivé à le faire par la fonction RechercheV
c) Problématique : Dates du tableau T1 affichant les valeurs en colonne "B" sont variable. CàD que la première cellule n'est pas automatiquement "Janv.-19" mais peut être une autre date. Je peux chercher "sept.-19" et cette info se trouve au milieu de ma plage. Par contre, toujours terminer l'affichage par "déc.-19" en T2, qui est toujours ma dernière cellule.
La fonction ne marche pas correctement. Les valeurs renvoyées ne sont pas celles attendues. Dans mon exemple en pièce jointe :
1/ je n'arrive pas à afficher "janv.-19"
2/ après Septembre, il continue à afficher "sept.-19" jusqu'à la dernière cellule de la colonne alors qu'il devrait s'arrêter à Septembre !!
Ai-je pris la bonne fonction ? J'ai quand même essayé avec un ";0" ou ";1" pour correspondance exacte : mais pas de meilleur résultat. Me conseillez-vous une autre méthode ?
merci de votre aide.
Regarde la pièce jointe 1085277
 
Dernière édition:
Solution
=SIERREUR(INDEX($J$7:$J$18;EQUIV(1;(MOIS($B$7:$B$18)=MOIS(M7))*(ANNÉE($B$7:$B$18)=$m$3);0))
bien vu pour le 5
bien vu pour le 1
je t'ai mis des accolades pour rappeler que c'était une formule matricielle, mais elles se mettent toute seuls
C'est une formule matricielle, donc a valider par
Maj+Ctrl+Entrée (les 3 doigts en même temps) pour faire apparaitre les accolades, et à chaque fois qu'on y touche.

lgo_excel

XLDnaute Nouveau
Merci djidji59430, ça fonctionne parfaitement bien. Pour valider la formule SiErreur il faut faire ctrl+Maj+Entrée afin de reproduire cette formule matricielle avec les accolades.
Questions: et si je souhaite prendre mois et année: comment l'écrire dans la formule ?
 
Dernière édition:

djidji59430

XLDnaute Barbatruc
C'est une formule matricielle, donc a valider par
Maj+Ctrl+Entrée (les 3 doigts en même temps) pour faire apparaitre les accolades, et à chaque fois qu'on y touche.
je ne comprends pas bien ce que tu veux
Je t'ai mis une nouvelle formule
 

Pièces jointes

  • Classeur2.xlsx
    23.1 KB · Affichages: 9

lgo_excel

XLDnaute Nouveau
Effectivement djidji59430, et merci pour ton aide, ma Q n'était pas assez claire, alors je la redéfinie: Ce que je voulais demander : dans ta formule =SIERREUR(INDEX($J$7:$J$18;EQUIV(MOIS(M7);MOIS($B$7:$B$18);0));""), je vois "équivalence" sur le MOIS, mais y a t'il une possibilité d'intégrer MOIS+ANNéE ? si dans ma plage de cellules il y a des 2 ou 3 années 2018 en début de plage (ou si je traite des 2018 et il y a des 2019 en fin de plage), je ne souhaite que les 2019, et que la copie des cellules démarre ou stop à celles-ci (pas après, pas avant). Merci de l'aide.
 
Dernière édition:

lgo_excel

XLDnaute Nouveau
Merci djidji59430, mais la formule ne fonctionne pas !! Désolé, je me "casse la tête" avec ça...
1/ faut-il un espace entre ( et 1 ?
2/ as-tu fais une faute de frappe après ANNÉE , tu as placé un 5. Serais-ce une ouverture de parenthèse ( ?
3/ tu as placé l'accolade après le = . Est-ce correct ? avant?
Peux-tu contrôler que la fonction fonctionne ? Merci pour ton aide.
 

djidji59430

XLDnaute Barbatruc
=SIERREUR(INDEX($J$7:$J$18;EQUIV(1;(MOIS($B$7:$B$18)=MOIS(M7))*(ANNÉE($B$7:$B$18)=$m$3);0))
bien vu pour le 5
bien vu pour le 1
je t'ai mis des accolades pour rappeler que c'était une formule matricielle, mais elles se mettent toute seuls
C'est une formule matricielle, donc a valider par
Maj+Ctrl+Entrée (les 3 doigts en même temps) pour faire apparaitre les accolades, et à chaque fois qu'on y touche.
 

Pièces jointes

  • Classeur2.xlsx
    23.1 KB · Affichages: 4
Dernière édition:

lgo_excel

XLDnaute Nouveau
et.......... ça marche parfaitement. Merci à ..."roulement de tambour".... djidji59430 pour m'avoir aidé et sauvé d'un cauchemar de qqs journées de recherche à trouver la bonne fonction, en pensant tout d'abord que RECHERCHEV aurait fait l'affaire, mais que le plus judicieux était la combinaison INDEX/EQUIV. Merci à toi. Tu as été le seul à apporter de l'aide dans ce forum, mais finalement UN seul de qualité, c'est pas mal aussi !
 

djidji59430

XLDnaute Barbatruc
Re
Les problèmes viennent souvent de choses simple. Par exemple, une date doit TOUJOURS etre un nombre, jamais un texte. Si on en veux un, on écrit la date, puis on va dans format de cellule personnalisée, et on trouve son bonheur, et elle reste disponible pour les formules.

Crdlmt
 

Discussions similaires

Réponses
15
Affichages
665
Compte Supprimé 979
C
Réponses
2
Affichages
768