Re : Fonction recherche compliquée pour moi.
Bonjour,
En rédigeant l'explication de la formule proposée j'ai remarqué qu'il y avait moyen de la simplifier, donc aussi d'en simplifier la compréhension, vois la pièce jointe.
En B20 : =DECALER(B$1;SOMMEPROD(($B$1:$AV$17=$A20)*LIGNE($1:$17))-1;0)
SOMMEPROD est une fonction matricielle, la seule (que je connaisse) qu'il ne faut valider par Ctrl+Maj+Entrée
Comme son nom l'indique, elle crée une matrice virtuelle (plage de cellules non affichée) dans laquelle elle multiplie des valeurs (PROD) qu'elle additionne ensuite (SOMME)
La matrice virtuelle est identique à B1:AV17, donc 17 lignes * 47colonnes
Dans chaque cellule de cette plage elle teste si la valeur de la cellule est égale à A20 et renvoie VRAI ou FAUX.
Seule la cellule T15, qui contient 6-1, renverra VRAI
Ensuite toutes ces résultats sont multipliés par le numéro de la ligne (LIGNE(1:17)
Pour rappel, en informatique VRAI = 1 et FAUX = 0
Toutes les cellules de la matrice virtuelle contiendront donc 0, sauf T15 qui renverra 15
En additionnant toutes les cellules de la matrice (SOMME) le résultat renvoyé sera aussi 15.
La fonction DECALER renvoie la valeur d'une cellule située X lignes plus bas (ou plus haut si négatif) et Y colonnes à droite (ou à gauche si négatif) que la cellule de référence (A1).
En décalant B1 de 15 lignes, on obtient le contenu de B16, c'est pourquoi il faut soustraire 1 ligne du résultat renvoyé par la fonction SOMMEPROD.
On décale B1 de 0 colonnes (;0), la saisie du 0 n'étant pas obligatoire, Excel le prend par défaut si inexistant.
Cette formule peut être copiée vers le bas et vers la droite