Formule Excel: afficher les valeurs triées avec la colonne d'assistance -

Table des matières

Formule générique

=INDEX(sata,MATCH(ROWS(exp_rng),sort,0))

Sommaire

Pour récupérer et afficher des valeurs triées avec une colonne d'assistance, vous pouvez utiliser une formule INDEX et MATCH, avec un peu d'aide de la fonction ROWS. Dans l'exemple illustré, la formule en F5 est:

=INDEX(sales,MATCH(ROWS($D$5:$D5),sort,0))

qui affiche le premier élément, basé sur l'index fourni dans la colonne d'assistance. La même approche est utilisée pour afficher les ventes associées dans la colonne G. Pour plus de commodité, la feuille de calcul contient les plages nommées suivantes: item = B5: B11, sales = C5: C11, sort = D5: D11.

Explication

Cette formule répond sur une colonne d'assistance qui contient déjà une liste séquentielle de nombres pour représenter un ordre de tri établi. Les nombres de la colonne auxiliaire sont indépendants du fonctionnement de cette formule. Tant que la séquence est continue, elle peut représenter un tri croissant ou décroissant, voire un tri arbitraire. Dans la plupart des cas, les valeurs proviendront d'une formule.

Au cœur, il s'agit d'une simple formule INDEX et MATCH, où INDEX récupère une valeur basée sur un numéro de ligne spécifié:

=INDEX(item,row)

L'astuce est que la ligne est calculée avec la fonction MATCH en fonction des valeurs de la colonne de tri:

MATCH(ROWS($D$5:$D5),sort,0)

La valeur de recherche en correspondance est générée avec la fonction ROWS et une référence en expansion. Dans la ligne 5 de la feuille de calcul, la plage comprend une cellule et ROWS renvoie 1. Dans la ligne 6, la plage comprend deux cellules et ROWS renvoie 2, et ainsi de suite.

Le tableau est la plage nommée «sort» (D5: D11). À chaque ligne, MATCH localise la valeur de recherche et renvoie la position de ce numéro de ligne dans les données d'origine.

Puisque nous voulons une correspondance exacte, le troisième argument, type de correspondance, est fourni comme zéro.

La valeur renvoyée par MATCH alimente la fonction INDEX en tant que numéro de ligne et INDEX renvoie l'élément à cette position dans les données d'origine.

Articles intéressants...