
Generisk formel
=INDEX(sata,MATCH(ROWS(exp_rng),sort,0))
Sammanfattning
För att hämta och visa värden sorterade med en hjälpkolumn kan du använda en INDEX- och MATCH-formel, med lite hjälp från ROWS-funktionen. I exemplet som visas är formeln i F5:
=INDEX(sales,MATCH(ROWS($D$5:$D5),sort,0))
som visar det första objektet baserat på indexet i hjälpar-kolumnen. Samma tillvägagångssätt används för att visa tillhörande försäljning i kolumn G. För enkelhets skull innehåller kalkylbladet följande namngivna intervall: artikel = B5: B11, försäljning = C5: C11, sortering = D5: D11.
Förklaring
Denna formel svarar på en hjälpkolumn som redan innehåller en sekventiell lista med siffror för att representera en etablerad sorteringsordning. Siffrorna i hjälpkolumnen är oberoende av hur denna formel fungerar. Så länge sekvensen är kontinuerlig kan den representera en stigande eller fallande sort eller till och med en godtycklig sortering. I de flesta fall kommer värden från en formel.
Kärnan är detta en enkel INDEX- och MATCH-formel, där INDEX hämtar ett värde baserat på ett specificerat radnummer:
=INDEX(item,row)
Tricket är att raden beräknas med MATCH-funktionen baserat på värden i sorteringskolumnen:
MATCH(ROWS($D$5:$D5),sort,0)
Uppslagsvärdet i matchning genereras med ROWS-funktionen och en expanderande referens. I rad 5 i kalkylbladet innehåller intervallet en cell och ROWS returnerar 1. I rad 6 innehåller intervallet två celler och ROWS returnerar 2, och så vidare.
Matrisen är namngivet intervall "sort" (D5: D11). Vid varje rad lokaliserar MATCH uppslagsvärdet och returnerar positionen för det radnumret i originaldata.
Eftersom vi vill ha en exakt matchning anges det tredje argumentet, matchningstyp, som noll.
Värdet som returneras av MATCH matas in i INDEX-funktionen som radnummer och INDEX returnerar artikeln på den positionen i originaldata.