Retningslinjer og eksempler på matriseformler
Applies ToExcel for Microsoft 365 Excel for Microsoft 365 for Mac Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016 Excel for iPad Excel for iPhone

En matriseformel er en formel som kan utføre flere beregninger på ett eller flere elementer i en matrise. Du kan tenke på en matrise som en rad eller kolonne med verdier eller en kombinasjon av rader og kolonner med verdier. Matriseformler kan returnere enten flere resultater eller ett resultat.

Fra og med oppdateringen for september 2018 for Microsoft 365 vil alle formler som kan returnere flere resultater, automatisk renne nedover eller til siden inn i naboceller. Denne endringen i virkemåte ledsages også av flere nye dynamiske matrisefunksjoner. Dynamiske matriseformler, uansett om de bruker eksisterende funksjoner eller de dynamiske matrisefunksjonene, trenger bare å legges inn i en enkelt celle, og deretter bekreftes ved å trykke på Enter. Eldre matriseformler krever først at du merker hele utdataområdet, og deretter bekrefter formelen med CTRL+SKIFT+ENTER. De kalles vanligvis for eksempel CSE-formler.

Du kan bruke matriseformler til å utføre kompliserte oppgaver, for eksempel følgende:

  • Opprett raskt eksempeldatasett.

  • Tell antall tegn i et celleområde.

  • Summer bare tall som oppfyller bestemte vilkår, for eksempel de minste verdiene i et tallområde eller tall som er mellom en øvre og en nedre grense.

  • Summere hver n-te verdi i et verdiområde.

Følgende eksempler viser deg hvordan du oppretter flercellede og encellede matriseformler. Der det er mulig, har vi tatt med eksempler for noen av de dynamiske matrisefunksjonene, samt eksisterende matriseformler som er angitt som både dynamiske og eldre matriser.

Last ned eksemplene våre

Last ned en eksempelarbeidsbok som inneholder alle matrisformel-eksemplene i denne artikkelen.

Denne øvelsen viser deg hvordan du bruker flercellede og encellede matriseformler til å beregne et sett med salgstall. De første trinnene i fremgangsmåten bruker en flercellet formel til å beregne et sett med delsummer. De andre trinnene bruker en encellet formel til å beregne en totalsum.

  • Flercellet matriseformel

    Flercellet matrise-funksjon i celle H10 =F10:F19*G10:G19 for å beregne antall biler solgt etter enhetspris

  • Her beregner vi totale salg av kupébiler og sedanbiler for hver selger ved å skrive inn =F10:F19*G10:G19 i celle H10.

    Når du trykker på Enter, vil du se at resultatene flyter ned til cellene H10:H19. Legg merke til at overflytsområdet er uthevet med en kantlinje når du merker en celle innenfor overflytsområdet. Du legger kanskje også merke til at formlene i cellene H10:H19 er nedtonet. De er der bare for referanse, så hvis du vil justere formelen, må du velge celle H10, hvor originalformelen ligger.

  • Encellet matriseformel

    Encellet matriseformel for å beregne en totalsum med =SUM(F10:F19*G10:G19)

    I celle H20 i eksempelarbeidsboken skriver du inn eller kopierer og limer inn =SUMMER(F10:F19*G10:G19) og trykker deretter på Enter.

    I dette tilfellet multipliserer Excel verdiene i matrisen (celleområdet F10 til G19), og deretter brukes SUMMER-funksjonen til å legge sammen delsummene. Resultatet er en totalsum på kr 15 900 000 for salg.

    Dette eksemplet viser hvor effektiv denne typen formel kan være. La oss for eksempel si at du har 1 000 rader med data. Du kan summere deler av eller alle dataene ved å opprette en matriseformel i én celle i stedet for å dra formelen ned gjennom de 1 000 radene. Legg også merke til at den encellede formelen (i celle H20) er helt uavhengig av den flercellede formelen (formelen i cellene H10 til H19). Dette er en annen fordel med å bruke matriseformler – fleksibilitet. Du kan endre de andre formlene i kolonne H eller slette hele kolonnen i H20. Det kan også være god øving å ha uavhengige totalsummer som dette, da det bidrar til å validere nøyaktigheten av resultatene.

  • Dynamiske matriseformler har også følgende fordeler:

    • Konsekvens    Hvis du klikker en hvilken som helst av cellene fra H10 og nedover, ser du samme formel. Denne konsekvensen kan bidra til å sikre større presisjon.

    • Trygghet    Du kan ikke overskrive en komponent i en flercellet matriseformel. Klikk for eksempel på celle H11, og trykk på Slett. Excel endrer ikke matrisens utdata. Hvis du vil endre den, må du merke cellen øverst til venstre i matrisen eller celle H10.

    • Mindre filstørrelser    Du kan ofte bruke én matriseformel i stedet for flere mellomliggende formler. Bilsalgeksempelet bruker for eksempel én matriseformel til å beregne resultatene for kolonne E. Hvis du hadde brukt standardformler, for eksempel =F10*G10; F11*G11; F12*G12 osv., ville du brukt 11 ulike formler til å beregne det samme resultatet. Det er ikke så farlig, men hva om du hadde tusenvis av rader å summere? Deretter kan det utgjøre en stor forskjell.

    • Effektivitet    Matrisefunksjoner kan være en effektiv måte å bygge komplekse formler på. Matriseformelen =SUMMER(F10:F19*G10:G19) er den samme som denne: =SUMMER(F10*G10,F11*G11,F12*G12,F13*G13,F14*G14,F15*G15,F16*G16,F17*G17,F18*G18,F19*G19).

    • Overflyt    Dynamiske matriseformler vil automatisk flyte inn i utdataområdet. Hvis støttedataene er i en Excel-tabell, vil de dynamiske matriseformlene automatisk endre størrelse når du legger til eller fjerner data.

    • #SPILL!-feil    Dynamiske matriser førte til #SPILL!-Feil, som indikerer at det tiltenkte overflytsområdet blokkeres av en eller annen grunn. Når du løser blokkeringen, vil formelen automatisk flyte over.

Matrisekonstanter er en komponent i matriseformler. Du oppretter matrisekonstanter ved å angi en liste med elementer og deretter omslutte listen med klammeparenteser manuelt ({ }), slik:

={1\2\3\4\5} eller ={"January"\"February"\"March"}

Hvis du skiller elementene med semikolon, oppretter du en vannrett matrise (en rad). Hvis du skiller elementene med omvendt skråstrek, oppretter du en loddrett matrise (en kolonne). Du kan opprette en todimensjonal matrise ved å skille elementene i hver rad med komma og skille hver rad med semikolon.

Fremgangsmåtene nedenfor gir deg øvelse i å opprette vannrette, loddrette og todimensjonale konstanter. Vi vil vise eksempler ved hjelp av SEKVENS-funksjonen for å generere matrisekonstanter automatisk, i tillegg til å legge inn matrisekonstanter manuelt.

  • Opprett vannrette konstanter

    Bruk arbeidsboken fra de tidligere eksemplene, eller opprett en ny arbeidsbok. Merk en tom celle, og skriv inn =SEKVENS(1,5). SEKVENS-funksjonen bygger en matrise med 1 rad ganger 5 kolonner, som er lik ={1\2\3\4\5}. Følgende resultat vises:

    Opprett en vannrett matrisekonstant med =SEKVENS(1,5) eller ={1,2,3,4,5}

  • Opprett loddrette konstanter

    Velg en tom celle med plass under den, og angi =SEKVENS(5)eller ={1.2.3.4.5}. Følgende resultat vises:

    Opprett en vertikal matrisekonstant med =SEKVENS(5) eller ={1;2;3;4;5}

  • Opprett todimensjonale konstanter

    Merk en tom celle med plass til høyre og under den, og angi =SEKVENS(3,4). Følgende resultat vises:

    Opprett en matrisekonstant med 3 rader og 4 kolonner med =SEKVENS(3,4)

    Du kan også angi: eller ={1\2\3\4.5\6\7\8.9\10\11\12}, men du bør være oppmerksom på hvor du legger inn semikolon kontra komma.

    Som du kan se, gir SEKVENS-alternativet betydelige fordeler i forhold til å skrive inn konstante matriseverdier manuelt. Det sparer hovedsakelig tid, men det kan også bidra til å redusere feil fra manuelle inntastinger. Det er også enklere å lese, spesielt siden semikolon kan være vanskelig å skille fra kommaseparatorene.

Her er et eksempel som bruker matrisekonstanter som en del av en større formel. I eksempelarbeidsboken kan du gå til Konstant i en formel-regnearket eller opprette et nytt regneark.

I celle D9 skrev vi inn =SEKVENS(1,5,3,1), men du kan også angi 3, 4, 5, 6 og 7 i cellene A9:H9. Det er ikke noe spesielt med det bestemte tallvalget, vi valgte bare noe annet enn 1–5 for differensiering.

I celle E11 skriver du =SUMMER(D9:H9*SEKVENS(1,5)), eller =SUMMER(D9:H9*{1\2\3\4\5}). Formlene returnerer 85.

Bruk matrisekonstanter i formler. I dette eksemplet brukte vi =SUM(D9:H(*SEKVENS(1,5))

SEKVENS-funksjonen bygger den tilsvarende matrisekonstanten {1\2\3\4\5}. Ettersom det utføres operasjoner i Excel først på uttrykk som er omsluttet med klammeparenteser, er de neste to elementene som blir behandlet, celleverdiene i D9:H9, og multiplikasjonsoperatoren (*). På dette tidspunktet multipliserer formelen verdiene i den lagrede matrisen med tilsvarende verdier i konstanten. Dette tilsvarer følgende:

=SUMMER(D9*1,E9*2,F9*3,G9*4,H9*5)eller =SUMMER(3*1,4*2,5*3,6*4,7*5)

Til slutt legger SUMMER-funksjonen sammen verdiene og returnerer 85.

For å unngå å bruke den lagrede matrisen og holde operasjonen helt i minnet, kan du erstatte den med en annen matrisekonstant:

=SUMMER(SEKVENS(1,5,3,1)*SEKVENS(1,5)) eller =SUMMER({3\4\5\6\7}*{1\2\3\4\5})

Elementer du kan bruke i matrisekonstanter

  • Matrisekonstanter kan inneholde tall, tekst, logiske verdier (for eksempel SANN og USANN) og feilverdier som #N/A. Du kan bruke tall i formater som heltall, desimal og vitenskapelig. Hvis du tar med tekst, må du omslutte den med anførselstegn («tekst»).

  • Matrisekonstanter kan ikke inneholde flere matriser, formler eller funksjoner. Med andre ord kan de inneholde bare tekst eller tall som er skilt med semikolon eller omvendt skråstrek. En advarsel vises når du angir en formel som {1\2\A1:D4} eller {1\2\SUMMER(Q2:Z8)}. Numeriske verdier kan heller ikke inneholde prosenttegn, valutategn eller parenteser.

En av de beste måtene å bruke matrisekonstanter på, er å gi dem navn. Konstanter som har navn, kan være mye enklere å bruke, og de kan skjule noe av kompleksiteten til matriseformlene dine for andre. Du kan gi en matrisekonstant navn og bruke den i en formel ved å gjøre følgende:

Gå til Formler > Definerte navn > Definer navn. Skriv inn Kvartal1 i boksen Navn. Skriv inn følgende konstant nedenfor i boksen Refererer til (husk å skrive inn klammeparentesene manuelt):

={"Januar";"Februar";"Mars"}

Dialogboksen skal nå se slik ut:

Legg til en navngitt matrisekonstant fra Formler > Definerte navn > Navnebehandling > Ny

Klikk på OK, velg deretter en rad med tre tomme celler, og skriv inn =Kvartal1.

Følgende resultat vises:

Bruk en navngitt matrisekonstant i en formel, for eksempel =Kvartal1, der Kvartal1 er definert som ={"Januar","Februar","Mars"}

Hvis du vil at resultatene skal spilles av loddrett i stedet for vannrett, kan du bruke =TRANSPONER(Kvartal1).

Hvis du vil vise en liste på 12 måneder, slik du kan bruke når du bygger en regnskapsrapport, kan du basere ett av gjeldende år med SEKVENS-funksjonen. Det flotteste med denne funksjonen er at selv om bare måneden vises, er det en gyldig dato bak den som du kan bruke i andre beregninger. Du finner disse eksemplene på regnearkene Navngitt matrisekonstant og Hurtigeksempeldatasett i eksempelarbeidsboken.

=TEKST(DATO(ÅR(IDAG()),SEKVENS(1,12),1),«mmm»)

Bruk en kombinasjon av funksjonene TEKST, DATO, ÅR, IDAG og SEKVENS for å bygge en dynamisk liste på 12 måneder

Dette bruker DATO-funksjonen til å opprette en dato basert på gjeldende år, SEKVENS oppretter en matrisekonstant fra 1. til 12. for januar til og med desember, og deretter konverterer TEKST-funksjonen visningsformatet til «mmm» (jan, feb, mar osv.). Hvis du ville vise hele månedsnavnet, for eksempel januar, bruker du «mmmm».

Når du bruker en navngitt konstant som en matriseformel, må du huske å angi likhetstegnet, for eksempel =Kvartal1, ikke bare Kvartal1. Hvis du ikke gjør det, tolker Excel matrisen som en streng med tekst, og formelen vil ikke fungere som forventet. Husk også på at du kan bruke kombinasjoner av funksjoner, tekst og tall. Det avhenger av hvor kreativ du vil være.

Eksemplene nedenfor viser noen av måtene du kan bruke matrisekonstanter på i matriseformler. Noen av eksemplene bruker funksjonen TRANSPONER til å konvertere rader til kolonner, og omvendt.

  • Multipliser hvert element i en matrise

    Skriv =SEKVENS(1,12)*2 eller ={1\2\3\4.5\6\7\8.9\10\11\12}*2

    Du kan også dele med (/), legge til med (+), og trekke fra med (-).

  • Kvadrer elementene i en matrise

    Skriv =SEKVENS(1,12)^2 eller ={1\2\3\4.5\6\7\8.9\10\11\12}^2

  • Finn kvadratroten av kvadrerte elementer i en matrise

    Skriv =ROT(SEKVENS(1,12)^2), eller =ROT({1\2\3\4.5\6\7\8.9\10\11\12}^2)

  • Transponer en endimensjonal rad

    Skriv =TRANSPONER(SEKVENS(1,5)), eller =TRANSPONER({1\2\3\4\5})

    Selv om du skrev inn en vannrett matrisekonstant, konverterer funksjonen TRANSPONER matrisekonstanten til en kolonne.

  • Transponer en endimensjonal kolonne

    Skriv =TRANSPONER(SEKVENS(5,1)), eller =TRANSPONER(1.2.3.4.5)

    Selv om du skrev inn en loddrett matrisekonstant, konverterer TRANSPONER-funksjonen konstanten til en rad.

  • Transponer todimensjonale konstanter

    Skriv =TRANSPONER(SEKVENS(3,4)), eller =TRANSPONER({1\2\3\4.5\6\7\8.9\10\11\12})

    TRANSPONER-funksjonen konverterer hver rad til en serie med kolonner.

Denne delen inneholder eksempler på enkle matriseformler.

  • Opprett matriser fra eksisterende verdier

    Eksemplet nedenfor forklarer hvordan du bruker matriseformler til å opprette en ny matrise fra en eksisterende matrise.

    Skriv =SEKVENS(3,6,10,10) eller ={10\20\30\40\50\60.70\80\90\100\110\120.130\140\150\160\170\180}

    Pass på at du skriver { (venstre parentes) før du skriver 10, og } (høyre parentes) etter at du har skrevet 180, fordi du oppretter en matrise med tall.

    Skriv deretter inn =D9#, eller =D9:I11 i en tom celle. En matrise på 3 x 6 celler vises med de samme verdiene du ser i D9:D11. #-tegnet kalles -operator for overflytende område, og er Excels måte å referere til hele matriseområdet på i stedet for å måtte angi i detalj.

    Bruk operatoren for sølt område (#) til å referere til en eksisterende matrise

  • Opprett matrisekonstanter fra eksisterende verdier

    Du kan ta resultatene av en formel for overflytende matrise og konvertere dem til bestanddelene. Velg celle D9, og trykk på F2 for å bytte til redigeringsmodus. Trykk på F9 for å konvertere cellereferansene til verdier, som Excel så konverterer til en matrisekonstant. Når du trykker på Enter, skal formelen, =D9#, nå være ={10\20\30.40\50\60.70\80\90}.

  • Tell tegn i et celleområde

    Eksemplet nedenfor viser hvordan du teller antall tegn, i et celleområde. Dette inkluderer mellomrom.

    Tell totalt antall tegn i et område og andre matriser for å arbeide med tekststrenger

    =SUM(LEN(C9:C13))

    I dette tilfellet returnerer LENGDE-funksjonen lengden på hver tekststreng i hver av cellene i området. SUMMER-funksjonen legger deretter sammen de aktuelle verdiene og viser resultatet (66). Hvis du ville få et gjennomsnittlig antall tegn, kan du bruke:

    =GJENNOMSNITT(LEN(C9:C13))

  • Innholdet i den lengste cellen i området C9:C13

    =INDEKS(C9:C13,SAMMENLIGNE(MAKS(LEN(C9:C13)),LEN(C9:C13),0),1)

    Denne formelen fungerer bare når et dataområde inneholder én kolonne med celler.

    La oss ta en nærmere titt på formelen – vi begynner fra de indre elementene og jobber oss utover. Funksjonen LEN returnerer lengden på hvert av elementene i celleområdet D2:D6. STØRST-funksjonen beregner den største verdien blant disse elementene, som tilsvarer den lengste tekststrengen, som er i celle D3.

    Her begynner det å bli litt komplisert. SAMMENLIGNE-funksjonen beregner forskyvningen (den relative plasseringen) til cellen som inneholder den lengste tekststrengen. Du gjør dette ved å bruke tre argumenter: en oppslagsverdi, en oppslagsmatrise og en sammenligningstype. SAMMENLIGNE-funksjonen søker i oppslagsmatrisen etter den angitte oppslagsverdien. I dette tilfellet er oppslagsverdien den lengste tekststrengen:

    STØRST(LEN(C9:C13)

    og den aktuelle strengen finnes i følgende matrise:

    LEN(C9:C13)

    Argumentet samsvarstype i dette tilfellet er 0. Sammenligningstypen kan være verdiene 1, 0 eller -1.

    • 1 – returnerer den største verdien som er mindre enn eller lik oppslagsverdien.

    • 0 – returnerer den første verdien som er helt lik oppslagsverdien

    • -1 – returnerer den minste verdien som er større enn eller lik den angitte oppslagsverdien

    • Hvis du utelater en sammenligningstype, forutsettes verdien 1.

    Til slutt tar INDEKS-funksjonen følgende argumenter: en matrise og et rad- og kolonnenummer i den aktuelle matrisen. Celleområdet C9:A13 angir matrisen, SAMMENLIGNE-funksjonen angir celleadressen, og det endelige argumentet (1) angir at verdien kommer fra den første kolonnen i matrisen.

    Hvis du vil hente innholdet i den minste tekststrengen, erstatter du STØRST i eksemplet ovenfor med MIN.

  • Finn de minste verdiene i et område

    Dette eksemplet viser hvordan du finner de tre minste verdiene i et celleområde, der en matrise med eksempeldata i cellene B9:B18 er blitt opprettet med: =INT(RANDARRAY(10,1)*100). Vær oppmerksom på at TILFELDIGMATRISE er en volatil funksjon, slik at du får et nytt sett med tilfeldige tall hver gang Excel beregner.

    Matriseformel i Excel for å finne den n. minste verdien: =SMALL(B9#,SEKVENS(D9))

    Skriv inn =N.MINST(B9#;SEKVENS(D9), =N.MINST(B9:B18;{1.2.3})

    Denne formelen bruker en matrisekonstant til å evaluere N.MINST-funksjonen tre ganger og returnere de minste tre medlemmene i matrisen som finnes i celle B9:B18, der 3 er en variabel verdi i celle D9. Hvis du vil finne flere verdier, kan du øke verdien i SEKVENS-funksjonen eller legge til flere argumenter i konstanten. Du kan også bruke tilleggsfunksjoner med denne formelen, for eksempel SUMMER eller GJENNOMSNITT. For eksempel:

    =SUM(N.MINST(B9#,SEKVENS(D9))

    =GJENNOMSNITT(N.MINST(B9#,SEKVENS(D9))

  • Finn de n største verdiene i et område

    Du kan finne de største verdiene i et område ved å erstatte N.MINST-funksjonen med N.STØRST-funksjonen. I tillegg bruker eksemplet nedenfor RAD- og INDIREKTE-funksjonene.

    Skriv inn =N.STØRST(B9#,RAD(INDIREKTE("1:3")))eller =N.STØRST(B9:B18;RAD(INDIREKTE("1:3")))

    På dette tidspunktet kan det være nyttig å vite litt om RAD- og INDIREKTE-funksjonene. Du kan bruke RAD-funksjonen til å opprette en matrise med etterfølgende heltall. Velg for eksempel en tom en, og skriv inn:

    =RAD(1:10)

    Formelen oppretter en kolonne med 10 etterfølgende heltall. Du kan se et potensielt problem hvis du setter inn en rad over området som inneholder matriseformelen (det vil si over rad 1). Radreferansene justeres og formelen genererer nå heltall fra 2 til 11. Du kan løse dette problemet ved å legge til INDIREKTE-funksjonen i formelen:

    =RAD(INDIREKTE("1:10"))

    INDIREKTE-funksjonen bruker tekststrenger som sine argumenter (det er derfor området 1:10 er omsluttet av anførselstegn). Tekstverdier justeres ikke når du setter inn rader eller flytter matriseformelen på andre måter. Som et resultat genererer alltid RAD-funksjonen ønsket matrise med heltall. Like enkelt å bruke SEKVENS:

    =SEQUENCE(10)

    La oss undersøke formelen du brukte tidligere – =N.STØRST(B9#,RAD(INDIREKTE("1:3"))) – med start fra de indre parentesene og arbeide utover: INDIREKTE-funksjonen returnerer et sett med tekstverdier, i dette tilfellet verdiene fra 1 til 3. RAD-funksjonen genererer i sin tur en trecellet kolonnematrise. N.STØRST-funksjonen bruker verdiene i celleområdet B9:B18 og evalueres tre ganger for hver referanse som returneres av RAD-funksjonen. Hvis du vil finne flere verdier, legger du til et større celleområde i INDIREKTE-funksjonen. Til slutt, som med eksempler med N.MINST, kan du bruke denne formelen med andre funksjoner, for eksempel SUMMER og GJENNOMSNITT.

  • Summer et område som inneholder feilverdier

    SUMMER-funksjonen i Excel fungerer ikke når du prøver å summere et område som inneholder en feilverdi, for eksempel #VALUE! eller #N/A. Dette eksemplet viser hvordan du summerer verdiene i et område kalt Data, som inneholder feil:

    Bruk matriser til å håndtere feil. =SUMMER(HVIS(ERFEIL(Data),"",Data) vil for eksempel summere området kalt Data selv om det inneholder feil, for eksempel #VALUE! eller #NA!.

  • =SUMMER(HVIS(ERFEIL(Data);"";Data))

    Formelen oppretter en ny matrise som inneholder de opprinnelige verdiene minus eventuelle feilverdier. Hvis du starter fra de indre funksjonene og arbeider utover, søker funksjonen ERFEIL i celleområdet (Data) etter feil. HVIS-funksjonen returnerer en spesifikk verdi hvis et vilkår du angir, evalueres som SANN, og en annen verdi det evalueres som USANN. I dette tilfellet returnerer den tomme strenger ("") for alle feilverdier fordi de evalueres til SANN, og den returnerer de gjenværende verdiene fra området (Data) fordi de evalueres til USANN, noe som betyr at de ikke inneholder feilverdier. SUMMER-funksjonen beregner deretter totalsummen for den filtrerte matrisen.

  • Tell antall feilverdier i et område

    Dette eksemplet er som forrige formel, men her returneres antallet feilverdier i et område kalt Data i stedet for at de filtreres ut:

    =SUMMER(HVIS(ERFEIL(Data);1;0))

    Denne formelen oppretter en matrise som inneholder verdien 1 for cellene som inneholder feil, og verdien 0 for cellene som ikke inneholder feil. Du kan forenkle formelen og få de samme resultatene ved å fjerne det tredje argumentet for HVIS-funksjonen, på følgende måte:

    =SUMMER(HVIS(ERFEIL(Data);1))

    Hvis du ikke angir argumentet, returnerer HVIS-funksjonen USANN hvis en celle ikke inneholder en feilverdi. Du kan forenkle formelen enda mer på følgende måte:

    =SUMMER(HVIS(ERFEIL(Data)*1))

    Denne versjonen fungerer fordi SANN*1=1 og USANN*1=0.

Du trenger kanskje å summere verdier basert på betingelser.

Du kan bruke matriser til å beregne basert på bestemte betingelser. =SUMMER(HVIS(Salg>0,Salg)) summerer alle verdier større enn 0 i et område kalt Salg.

Denne matriseformelen summerer for eksempel bare de positive heltallene i et område kalt Salg, som representerer cellene E9:E24 i eksempelet ovenfor:

=SUMMER(HVIS(Salg>0;Salg))

HVIS-funksjonen oppretter en matrise med positive og usanne verdier. SUMMER-funksjonen ignorerer hovedsakelig de usanne verdiene fordi 0+0=0. Celleområdet du bruker i denne formelen, kan bestå av et hvilket som helst antall rader og kolonner.

Du kan også summere verdier som oppfyller mer enn én betingelse. Denne matriseformelen beregner for eksempel verdier som er større enn 0 OG mindre enn 2500:

=SUMMER((Salg>0)*(Salg<2500)*(Salg))

Husk at denne formelen returnerer en feil hvis området inneholder én eller flere ikke-numeriske celler.

Du kan også opprette matriseformler som bruker en type ELLER-betingelse. Du kan for eksempel summere verdier som er større enn 0 ELLER mindre enn 2500:

=SUMMER(HVIS((Salg>0)+(Salg<2500),Salg))

Du kan ikke bruke OG- og ELLER-funksjonene direkte i matriseformler fordi disse funksjonene returnerer ett resultat, enten SANN eller USANN, og matrisefunksjoner krever matriser med resultater. Du kan omgå dette problemet ved å bruke logikken som er vist i forrige formel. Du utfører med andre ord matematiske beregninger, for eksempel addisjon eller multiplikasjon, på verdier som oppfyller ELLER- eller OG-betingelsen.

Dette eksemplet viser hvordan du fjerner nuller fra et område når du trenger å finne gjennomsnittet av verdiene i det aktuelle området. Formelen bruker et dataområde kalt Salg:

=GJENNOMSNITT(HVIS(Salg<>0;Salg))

HVIS-funksjonen oppretter en matrise med verdier som ikke er lik 0, og sender deretter de aktuelle verdiene videre til GJENNOMSNITT-funksjonen.

Denne matriseformelen sammenligner verdiene i to celleområder kalt MineData og DineData og returnerer antallet forskjeller mellom de to. Hvis innholdet i de to områdene er identiske, returnerer formelen 0. Hvis du vil bruke denne formelen, må celleområdene ha samme størrelse og ha samme dimensjon. Hvis for eksempel MineData er et område på 3 rader ganger 5 kolonner, må DineData også være 3 rader ganger 5 kolonner:

=SUMMER(HVIS(MineData=DineData,0,1))

Formelen oppretter en ny matrise i samme størrelse som områdene du sammenligner. HVIS-funksjonen fyller matrisen med verdiene 0 og 1 (0 for celler som ikke samsvarer, og 1 for identiske celler). SUMMER-funksjonen returnerer deretter summen av verdiene i matrisen.

Du kan forenkle formelen på følgende måte:

=SUMMER(1*(MineData<>DineData))

På samme måte som formelen som teller feilverdier i et område, fungerer denne formelen fordi SANN*1=1 og USANN*1=0.

Denne matriseformelen returnerer radnummeret til maksimumsverdien i et område med én kolonne, kalt Data:

=MIN(HVIS(Data=STØRST(Data);RAD(Data);""))

HVIS-funksjonen oppretter en ny matrise som samsvarer med området kalt Data. Hvis en tilsvarende celle inneholder maksimumsverdien i området, inneholder matrisen radnummeret. Hvis ikke inneholder matrisen en tom streng (""). MIN-funksjonen bruker den nye matrisen som sitt andre argument og returnerer den minste verdien, som samsvarer med radnummeret til maksimumsverdien i Data. Hvis området kalt Data inneholder identiske maksimumsverdier, returnerer formelen raden til den første verdien.

Hvis du vil returnere den faktiske celleadressen til en maksimumsverdi, bruker du følgende formel:

=ADRESSE(MIN(HVIS(Data=STØRST(Data);RAD(Data);""));KOLONNE(Data))

Du finner lignende eksempler i eksempelarbeidsboken om Forskjellene mellom datasett-regnearket.

Anerkjennelse

Deler av denne artikkelen var basert på en rekke Excel Power User-kolonner skrevet av Colin Wilcox, og tilpasset fra kapittel 14 og 15 av Excel 2002-formler, en bok skrevet av John Walkenbach, en tidligere Excel-MVP.

Trenger du mer hjelp?

Du kan alltid spørre en ekspert i det tekniske fellesskapet for Excel eller få støtte i Fellesskap.

Se også

Dynamiske matriser og overflytende matrise

Dynamiske matriseformler kontra eldre CSE-matriseformler

FILTER-funksjonen

TILFELDIGMATRISE-funksjonen

SEKVENS-funksjonen

SORTER-funksjonen

SORTER ETTER-funksjonen

UNIK-funksjonen

#OVERFLYT!-feil i Excel

implisitt skjæringspunktoperator: @

Oversikt over formler

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.