Sélection de valeurs sous conditions et sur une plage extensible

Fermé
ObladiOblada Messages postés 2 Date d'inscription jeudi 8 janvier 2015 Statut Membre Dernière intervention 8 janvier 2015 - 8 janv. 2015 à 11:50
ObladiOblada Messages postés 2 Date d'inscription jeudi 8 janvier 2015 Statut Membre Dernière intervention 8 janvier 2015 - 8 janv. 2015 à 16:05
Bonjour à tous,

Sur un tableau Excel, je souhaite rechercher la date la plus récente d'un événement donné sur une plage extensible.
Comme c'est un peu complexe à expliquer, je vous mets ci-dessous une capture d'écran :



Par exemple, dans B3 (dont on voit la formule sur la capture), je recherche la dernière date à laquelle la revue M1 a été réalisée. La formule fonctionne.
Mais - car il faut qu'il y ait un mais, sinon je n'aurais pas besoin d'aide - cette formule ne fonctionne plus dès lors que je rajoute un mois supplémentaire au-delà de mars 2014, en copiant collant le modèle en fin de tableau à droite. À moins, bien sûr, de mettre à jour la formule à chaque fois qu'un mois est ainsi ajouté.

Je cherche donc à créer une formule un peu plus intelligente qui fonctionnera après tout ajout de mois en fin de tableau.
La solution consiste peut-être en une formule matricielle, mais c'est quelque chose que je maîtrise très mal. J'ai également testé des RECHERCHEH, mais je n'ai pas réussi à m'en dépatouiller.

Si quelqu'un sait comment faire, je vous en serai très reconnaissant ! :)

Désolé si ce problème a déjà été posé, je ne l'ai en tout cas pas retrouvé après une petite recherche.

1 réponse

ObladiOblada Messages postés 2 Date d'inscription jeudi 8 janvier 2015 Statut Membre Dernière intervention 8 janvier 2015 1
8 janv. 2015 à 16:05
J'y ai passé la journée, mais j'ai finalement trouvé tout seul.
Je mets la solution ici pour mémoire, si jamais cela peut aider d'autres personnes :

en B3 il faut mettre la formule MAX(SI($D$2:$O$2="M1";SI(D3:O3="X";DECALER(D3:O3;0;-1);"");""))
en validant par Ctrl+Shift+Entrée (formule matricielle)

Et pour éviter l'affichage de dates du style 0/01/1900 en cas de non valeurs, il faut utiliser la formule suivante :
=SI(MAX(SI($D$2:$O$2="M1";SI(D3:O3="X";DECALER(D3:O3;0;-1);"");""))=0/1/1900;"";MAX(SI($D$2:$O$2="M1";SI(D3:O3="X";DECALER(D3:O3;0;-1);"");"")))
1