Av någon anledning, om du vill utföra en operation på ett område med specifika index, kommer du att tänka på att använda INDEX -funktionen för att få en mängd värden på specifika index. Så här.
Låt oss förstå det med ett exempel.
Här har jag en kolumn Rate. Jag vill summera värden på position 1,3 och 5. Jag skriver den här formeln i C2.
= SUMMA (INDEX (A2: A11, {1,3,5}))
Överraskande returnerar INDEX -funktionen inte en rad värden när vi tillhandahåller en array som index. Vi får bara det första värdet. Och SUM -funktionen returnerar endast summan av ett värde.
Så hur får vi INDEX -funktionen att returnera den matrisen. Jag hittade den här lösningen på internet och jag förstår inte riktigt hur det fungerar, men det fungerar.
Den generiska formeln för att få Array of Indexes
= SUMMA (INDEX (intervall, N (OM (1, {siffror))))
Räckvidd: Det är intervallet som du vill leta efter vid angivna indexnummer
Siffra: detta är indexnumren.
Låt oss nu applicera ovanstående formel på vårt exempel.
Skriv denna formel i C2.
= SUMMA (INDEX (A2: A11, N (IF (1, {1,3,5})))
Och detta ger det rätta svaret som 90.
Hur det fungerar.
Som jag sa, jag vet inte varför det fungerar och returnerar antalet siffror men här händer det.
IF (1, {1,3,5}): Denna del returnerar matrisen {1,3, 5} som förväntat
N (IF (1, {1,3,5})) kan översättas till N ({1,3,5}) vilket ger oss igen {1,3,5}
OBS: N -funktionen returnerar antalet ekvivalenter för valfritt värde. Om ett värde inte är nummerkonverterbart returnerar det 0 (som text). Och för fel returnerar det fel.
INDEX ((A2: A11, N (IF (1, {1,3,5}))): denna del översätter till INDEX ((A2: A11, {1,3,5}) och på något sätt returnerar detta matrisen { 10,30,50}. Som du har sett tidigare när du skriver INDEX ((A2: A11, {1,3,5}) direkt i formeln returnerar den bara 10. Men när vi använder N- och IF -funktionen returnerar den hela Om du förstår det, låt mig veta i kommentarfältet nedan.
Hur man använder cellreferenser för indexvärden för att få en array
I exemplet ovan hårdkodade vi indexen i funktion. Men tänk om jag vill ha det från ett område som kan förändras. Vi ersätter {1,3,5} med räckvidd? Vi prövar.
Här har vi denna formel i Cell D2:
= SUMMA (INDEX (A2: A11, N (IF (1, A2: A5)))
Detta ger 10. Det allra första värdet för det angivna indexet. Även om vi anger det som en matrisformel med CTRL+SKIFT+ENTER ger det samma resultat.
För att få det att fungera lägg till + eller - (dubbel unary) operatör före intervall och ange det som matrisformel.
{= SUMMA (INDEX (A2: A11, N (IF (1,+A2: A5)))}
Det här fungerar. Fråga mig inte hur? Det fungerar bara. Om du kan berätta för mig hur jag kommer att inkludera ditt namn och förklaring här.
Så vi lärde oss hur man får en array från INDEX -funktionen. Det händer några galna saker här i excel. Om du kan förklara hur det fungerar här i kommentarfältet nedan, kommer jag att inkludera det i min förklaring med ditt namn.
Nedladdning fil:
Relaterade artiklar:
Matriser i Excel Formula
Använd INDEX och MATCH för att leta upp värde
Hur man använder LOOKUP -funktionen i Excel
Sökvärde med flera kriterier
Populära artiklar:
VLOOKUP -funktionen i Excel
COUNTIF i Excel 2016
Hur man använder SUMIF -funktionen i Excel