La fonction SIERREUR() contrôle si la formule retourne une valeur d'erreur si c'est le cas, le second argument sera retourné par la fonction (ici, "NA") si pas d'erreur, le résultat de la formule sera retourné.
La fonction INDEX() retourne la valeur située à l'intersection de la ligne et de la colonne passées en argument. La fonction retourne une valeur d'erreur si la ligne ou colonne ou même les deux sont hors plage (par exemple, plage avec 10 lignes et dans l'argument 11 ou plus est demandé)
La fonction EQUIV() effectue la recherche dans la zone (ici, colonne A de la feuille BD) et si trouvé, retourne le numéro de ligne. C'est elle qui va retourner une valeur d'erreur (ce qui est ton cas pour certaines valeurs) si ce qu'elle cherche n'est pas trouvé !
La fonction COLONNE() retourne le numéro de colonne, si la fonction ne reçois par d'argument, c'est le numéro de la colonne où se trouve la fonction qui sera retourné par contre, si l'argument est passé (elle attend une cellule, colonne entrière ou plage) elle effectue un décalage par rapport à cet argument donc, en mettant D1, la fonction retourne le numéro de la colonne D et non celle où elle se trouve, exemple, tu mets la fonction Colonne() sans argument dans une cellule de la colonne A, la fonction retourne 1 si dans l'argument tu mets D1, elle retourne 4 ce qui effectue un décalage. Tu peux aussi entrer D:D mais tu peux aussi entrer une plage mais garde à l'esprit que ce sera toujours la colonne la plus à gauche de la plage qui servira de référence.
En espérant t'avoir aidé à mieux comprendre