INDEX -funktion i Excel - Hämta värde från matrisreferens

Ladda ner exempel på arbetsbok

Ladda ner exempelarbetsboken

Denna handledning visar hur du använder Excel INDEX -funktion i Excel för att returnera ett värde baserat på kolumn- och radreferenser.

INDEX Funktionsöversikt

INDEX -funktionen Returnerar ett cellvärde från en lista eller tabell baserat på dess kolumn- och radnummer.

INDEX Funktionssyntax och argument

1 = INDEX (matris, radnummer, [kol_nummer], [områdenummer])

array -Ett cellintervall, eller en arraykonstant.

rad_nummer - Radpositionen i referensen eller arrayen.

column_num - [valfritt] Kolumnpositionen i referensen eller arrayen.

area_num - [valfritt] Det referensintervall som ska användas.

Vad är INDEX -funktionen?

INDEX -funktionen är en av de mer mångsidiga funktionerna i kalkylarkens värld, och den kan användas på många olika sätt och öka komplexiteten. Som sådan kommer vi att diskutera INDEX -funktionen över flera artiklar. Denna artikel kommer att fokusera på en introduktion till INDEX -funktionen. Enkelt uttryckt gör det möjligt för INDEX -funktionen att returnera en referens till en specifik cell eller cellområde.

Grundläggande exempel

Vi börjar med en enkel lista med artiklar.

Vi vill kunna berätta för vår formel att välja ett specifikt objekt från listan baserat på position. Låt oss anta att vi vill ha 3rd objekt från listan. I D1 sätter vi siffran 3. I D2 sätter vi formeln

1 = INDEX (A2: A5, D1)

Eftersom D2 är 3 kommer vår INDEX att returnera 3: anrd cell i detta område, som är A4. Värdet på A4 är “Pineapple” och därmed ser vi det resultatet.

Tabell exempel

Låt oss bygga en multiplikationstabell som ser ut så här:

För att få resultatet av 3 gånger 4 (och inte bara skriva matematikekvationen) kan du skriva en formel för

1 = INDEX (B2: E5, 3, 4)

I det här scenariot har vi sagt till formeln att gå till 3: anrd rad inom det angivna intervalletoch 4th kolumn. Detta kommer att ge en referens till cell E4, och vi får alltså ett värde på 12.

Medan du använder INDEX här för att göra multiplikation är lite överflödigt, kan du också använda detta för att returnera textsträngar.

I det här fallet kan vi säga att vi letar efter tvåannd månad i 3rd fjärdedel. Vår formel skulle vara

1 = INDEX (B2: D5, 3, 2)

Här går vår formel ner till 3: anrd rad (för 3rd kvartal) och 2nd kolumn. Det returnerar en referens till C4 och resultatet av "Aug".

Används med MATCH

INDEX -funktionen används ofta i kombination med MATCH -funktionen, som returnerar den relativa positionen för ett objekt. Låt oss titta på ett betygsboksexempel där vår lärare vill kunna ge ett ämne och elevnamn och hitta motsvarande betyg.

Vår övergripande formel kommer att vara:

1 = INDEX (B2: E5, MATCH (H1, A2: A5, 0), MATCH (H2, B1: E1, 0))

Vi har använt två olika MATCH -funktioner för att återge den relativa positionen för var och en av våra söktermer. Den första söker efter värdet av H1, "Läsning", i intervallet A2: A5. Läsning är 3rd objekt i listan. Våra 2nd MATCH söker på samma sätt efter värdet av "Bob" inom intervallet B1: E1. Bob är 2: annd objekt i den här listan. Således kommer vår formel att utvärderas så här:

1234 = INDEX (B2: E5, MATCH (H1, A2: A5, 0), MATCH (H2, B1: E1, 0))= INDEX (B2: E5, 3, 2)= C4= 89

Vi kommer att diskutera detta mer i.

INDEX i Google Kalkylark

INDEX -funktionen fungerar exakt samma i Google Kalkylark som i Excel:

Ytterligare anmärkningar

Använd INDEX -funktionen för att returnera ett värde baserat på dess position i ett cellområde.

Definiera först cellintervallet att välja mellan. Definiera sedan rad- och kolumnnumren i matrisen.

Du kan använda MATCH -funktionen med INDEX -funktionen för att simulera en VLOOKUP -formel med den extra fördelen att uppslagskolumnen (raden) inte behöver vara den vänstra (översta) kolumnen (rad).

INDEX Exempel i VBA

Du kan också använda INDEX -funktionen i VBA. Typ:
application.worksheetfunction.index (array, row_num, column_num)
För funktionsargumenten (array, etc.) kan du antingen ange dem direkt i funktionen eller definiera variabler som ska användas istället.

Förutsatt att vi har följande data i vårt kalkylblad

Det finns två tabeller definierade i detta exempel, en tabell till vänster som heter Table2 och till höger Table3

Vi kan använda INDEX -funktionen enligt följande

1 WorksheetFunction.Index (intervall ("B2: F6"), 3, 3)

Detta returnerar 18 (cell D4), eftersom det är cellen som ligger på den tredje raden och den tredje kolumncellen i vårt definierade område B2: F6

1 WorksheetFunction.Index (intervall ("tabell2"), 2, 4)

Detta kommer att returnera 51 (cell E3), eftersom det är cellen som ligger på den andra raden och fjärde kolumnen i tabell2

Vi kan också definiera mer än ett intervall, enligt följande. Observera att vi använder en parameter till denna gång (den sista "1"), som definierar intervallet från vilket värdet ska returneras.

1 WorksheetFunction.Index (intervall ("B2: F6, I4: M8"), 2, 5, 1)

Detta kommer att returnera 36 (cell F3), eftersom det är cellen som ligger på den andra raden och femte kolumnen i vårt första definierade område, vilket är tabell2

1 WorksheetFunction.Index (intervall ("B2: F6, I2: M6"), 4, 3, 2)

Detta kommer att returnera 115 (cell K5), eftersom det är cellen som ligger på fjärde raden och tredje kolumnen i vårt andra definierade område, vilket är I2: M6

Återgå till listan över alla funktioner i Excel

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave