Mon idée est de trouver le rang de chaque valeur de
col1 dans la zone jaune de la colonne
A.
6 en colonne
col1 doit donner
4. Le problème est qu'il peut arriver qu'une valeur de la colonne
col1 ne correspond à aucune valeur dans la zone jaune de la colonne
A.
Je pars de la formule
EQUIV(B$4;$A$4:$A$10;0))
qui renvoie
#N/A si la valeur en
B$4 ne figure pas dans
$A$4:$A$10 (la zone jaune de la colonne
A), ou le rang de la valeur en
B$4 dans
$A$4:$A$10 si cette valeur y figure.
De là découle que la formule
SI(ESTNA(EQUIV(B$4;$A$4:$A$10;0));"";DROITE(" "&EQUIV(B$4;$A$4:$A$10;0);3))
renvoie la chaine
"" si la valeur en
B$4 ne figure pas dans
$A$4:$A$10, ou
" n" où n est le rang de la valeur en
B$4 dans
$A$4:$A$10 si cette valeur y figure.
Dans l'exemple du classeur, on obtient
" 4".
En faisant la même chose pour chacune des valeurs de la colonne
col1 et en concaténant les résultats, j'obtiens une chaîne de caractères
" n m p ..." où
m,
n,
p, ... sont les rangs des dites valeurs qui figurent dans la zone jaune de la colonne
A. Comme la formule est trop longue pour être placée dans une seule cellule, je la répartis dans les colonnes
M et
N et je concatène les deux colonnes dans la colonne
O. À partir de cette colonne, j'extrais les quatre premières valeurs figurant dans la chaîne dans les colonnes
P,
Q,
R,
S.
C'est ensuite un jeu d'enfant que d'extraire les valeurs de la zone jaune de la colonne
A dans le deuxième tableau.
Le raisonnement est exactement le même pour ce qui d'extraire les valeurs de la zone bleue de la colonne
A.