Alla matrisformler returnerar inte matriser med flera kolumner och/eller flera rader till kalkylbladet. Men när de gör det kan det hända att du är intresserad av att bara se ett värde i arrayen. Du kan använda Excels INDEX-funktion för att hjälpa till med det.
Till exempel är LINEST en av kalkylbladsfunktionerna som bara fungerar korrekt om du array-anger formeln som innehåller funktionen. Men anta att du bara vill ha tillgång till ett cellvärde i LINEST-resultaten, kanske för att rymma en kalkylbladslayout i en rutinrapport. I så fall vill du inte nödvändigtvis ha hela uppsättningen av LINEST-resultat, och du kan använda Excels INDEX-funktion för att plocka ut och endast visa den du är intresserad av att visa.
Så här kan du till exempel ange LINEST för en multipel regression:
=LINEST(A2:A51,B2:D51,,TRUE)
Om du matris anger den formeln i ett intervall om 5 rader gånger 4 kolumner, innehåller skärningspunkten mellan det intervallets tredje rad och första kolumn regressionens R-kvadratvärde. Så om du bara väljer en enskild cell och anger följande formel, får du endast R-kvadratvärdet:
=INDEX(LINEST(A2:A51,B2:D51,,TRUE),3,1)
Här förser du INDEX med arrayen av värden som returneras av LINEST-funktionen. Det är det första argumentet att INDEXERA. De andra och tredje argumenten till INDEX är siffrorna 3 och 1, som instruerar INDEX att hitta värdet i den tredje raden och första kolumnen i arrayen och returnera det till kalkylbladet.
Du kan ange den fullständiga INDEX-formeln som precis ges normalt, med en array av LINEST-resultat som sitt första argument, utan kombinationen Ctrl och Shift och Enter - det vill säga utan att matrisinmata den. (Pröva det åt båda hållen, både matar in den och matar in den normalt.)
Och ändå, om du försöker ange följande encellsmatrisformel, ger den felet #VALUE! om du försöker skriva in det normalt:
=OM(H44639:H44644>0,G44639:G44644,0)
När formeln anropar en funktion som Excel förväntar sig att ta en array som ett argument, kan formeln anges normalt. Så är fallet med den här formeln:
=INDEX(LINEST(A2:A51,B2:D51,,TRUE),3,1)
Resultaten LINEST är kapslade i INDEX-funktionen, där de fungerar som dess första argument. Excel förväntar sig att INDEX tar en matris med värden som sitt första argument - att analysera en matris är vad INDEX föddes för att göra. Så formeln som ges behöver inte matas in.
Däremot måste denna encellsmatrisformel vara matrismatad:
=MEDEL(OM(A2:A25="Zig",B2:B25,""))
I det här fallet förväntar sig inte Excel att IF-funktionen kommer att ta en matris med värden som ett argument, men här presenterar vi inte en utan två matriser med värden för IF: intervallet A23:A25 och B2:B25. (Du kan till och med ta ställningen att det finns en uppsättning av 24 instanser av "" som antyds av de två första argumenten.) Eftersom formeln inte uppfyller Excels initiala förväntningar på argumenten till IF, måste du uppmärksamma Excel på situationen, och du gör det genom att mata in formeln.