Je n'ai pas du tout compris ce que tu veux dire.
Pour les explications, on a en effet un concentré de fonctions assez intéressant ...
=arrayformula(vlookup(
sequence(index('Base de données'!$A:$A;MATCH(A3;'Base de données'!$B:$B;0));1;1;1);
sort(ARRAY_CONSTRAIN({'Base de données'!$A:$B\arrayformula(row('Base de données'!$A:$A))};MATCH(A3;'Base de données'!$B:$B;0);3);3;0);
2;0))
là-dedans :
je cherche la ligne où se trouve l'élément, pour O c'est 16 et pour E c'est 6
MATCH(A3;'Base de données'!$B:$B;0)
je construis la base en y ajoutant le n° de ligne (\ sert à juxtaposer)
{'Base de données'!$A:$B\arrayformula(row('Base de données'!$A:$A))
en ne prenant que jusqu'à la ligne où se trouve l'élément, et sur 3 colonnes avec array_constrain
ARRAY_CONSTRAIN(________la base_______;______la position_______;3)
que je trie en sens inverse sur le n° de ligne qui est en 3ème colonne avec sort
sort(_______________________;3;0)
par ailleurs, je construis une suite de numéros depuis 1 jusqu'au niveau correspondant à l'élément choisi avec
sequence(index('Base de données'!$A:$A;MATCH(A3;'Base de données'!$B:$B;0));1;1;1)
et en final je cherche avec vlookup l'élément correspondant à chacun de ces niveaux