Retningslinjer for og eksempler på matrixformler

Retningslinjer for og eksempler på matrixformler

Vigtigt: Denne artikel er maskinoversat. Se ansvarsfraskrivelsen. Du kan finde den engelske version af denne artikel her til din orientering.

For at blive en erfaren bruger af Excel, skal du vide, hvordan du bruger matrixformler, som kan udføre beregninger, som du ikke kan gøre ved hjælp af ikke-matrixformler. I følgende artikel er baseret på en serie af Excel-Superbrugere kolonner skrevet af Colin Wilcox og tilpasses fra kapitler 14 og 15 i Excel 2002-formler, et adressekartotek, der er skrevet af John Walkenbach, en Excel-MVP.

Få mere at vide om matrixformler

Matrixformler kaldes ofte Ctrl+Skift+Enter-formler, fordi i stedet for blot at trykke på Enter, trykker du på Ctrl+Skift+Enter for at fuldføre formlen.

Hvorfor anvende matrixformler?

Hvis du har erfaring med at bruge formler i Excel, ved du, at du kan foretage nogle ret avancerede beregninger. Du kan f.eks. beregne de samlede omkostninger for et lån over et angivet antal år. Du kan bruge matrixformler til at udføre komplekse opgaver, f.eks.:

  • Tælle antallet af tegn i et celleområde.

  • Lægge de tal sammen, der opfylder bestemte kriterier, f.eks. at de skal være de laveste værdier i et område, eller at det skal være tal inden for et bestemt interval.

  • Lægge hver n'te værdi i et område sammen.

Hurtig introduktion til matrixer og matrixformler

En matrixformel er en formel, der kan udføre flere beregninger på et eller flere elementer i en matrix. En matrix er en række med værdier, en kolonne med værdier eller en kombination af rækker og kolonner med værdier. Matrixformler kan enten returnere flere resultater eller et enkelt resultat. Du kan f.eks. oprette en matrixformel i et celleområde og bruge matrixformlen til at beregne en kolonne eller række med subtotaler. Du kan også placere en matrixformel i en enkelt celle og beregne et enkelt beløb. En matrixformel, der er omfatter flere celler, kaldes en formel med flere celler, og en matrixformel i en enkelt celle kaldes en formel med én celle.

I eksemplerne i næste afsnit kan du se, hvordan du kan oprette matrixformler med en eller flere celler.

Prøv det!

I denne øvelse kan du se, hvordan du kan bruge matrixformler i en eller flere celler til at beregne nogle salgstal. På de første trin bruges en formel med flere celler til at beregne et sæt subtotaler. På de næste trin bruges en formel med én celle til at beregne en hovedtotal.

Matrixformel med flere celler

Her er en projektmappe integreret i browseren. Selvom den indeholder eksempeldata, skal du vide, at du ikke kan oprette eller ændre matrixformlerne i en integreret projektmappe – du har brug for Excel-programmet for at kunne gøre det. Du kan se svarene i den integrerede projektmappe og noget tekst, der forklarer, hvordan matrixformlen virker, men for virkelig at forstå matrixformler, skal du se projektmappen i Excel.

Oprette en matrixformel med flere celler
  1. Kopiér hele tabellen herunder, og indsæt den i celle A1 i et tomt regneark i Excel.

    Sælger

    Biltype

    Antal
    solgt

    Enheds-
    pris

    Samlet
    salg

    Pedersen

    Sedan

    5

    33000

    Coupé

    4

    37000

    Ingle

    Sedan

    6

    24000

    Coupé

    8

    21000

    Jordan

    Sedan

    3

    29000

    Coupé

    1

    31000

    Pica

    Sedan

    9

    24000

    Coupé

    5

    37000

    Sanchez

    Sedan

    6

    33000

    Coupé

    8

    31000

    Formel (hovedtotal)

    Hovedtotal

    '=SUM(C2:C11*D2:D11)

    =SUM(C2:C11*D2:D11)

  2. Hvis du vil se det samlede salg af coupéer og sedaner for hver sælger, skal du markere E2:E11, skrive formlen =C2:C11*D2:D11 og derefter trykke på Ctrl+Skift+Enter.

  3. Hvis du vil se hovedtotalen for alle salg, skal du markere celle F11, skrive formlen =SUM(C2:C11*D2:D11) og trykke på Ctrl+Skift+Enter.

Du kan hente projektmappen ved at klikke på den grønne Excel-knap på den sorte linje nederst i projektmappen. Derefter kan du åbne filen i Excel, markere cellerne med matrixformlerne og trykke på Ctrl+Skift+Enter for at få formlerne til at virke.

Hvis du arbejder i Excel, skal du sørge for, at Ark1 er aktivt, og derefter markere cellerne E2:E11. Tryk på F2, og skriv derefter formlen =C2:C11*D2:D11 i den aktuelle celle E2. Hvis du trykker på Enter, vil du se, at formlen kun angives i E2, og at 165000 vises. I stedet for at trykke på Enter, når du er færdig med formlen, skal du trykke på Ctrl+Skift+Enter. Nu vil du se resultater i cellerne E2:E11. Bemærk, at formlen vises som {=C2:C11*D2:D11} på formellinjen. Det fortæller dig, at det er en matrixformel, som vist i følgende tabel.

Når du trykker på Ctrl+Skift+Enter, omsluttes formlen med klammeparenteser ({ }), og der indsættes en forekomst af formlen i hver celle i det markerede område. Dette sker meget hurtigt, så det, som du ser i kolonne E, er det samlede salgsbeløb for hver biltype for hver sælger. Hvis du vælger E2 og derefter vælger E3, E4 osv., vil du se, at den samme formel vises: {=C2:C11*D2:D11}.

Totalerne i kolonne E beregnes ved hjælp af en matrixformel

Oprette en matrixformel med én celle

Skriv følgende formel i celle F10 i projektmappen, og tryk derefter på Ctrl+Skift+Enter:

=SUM(C2:C11*D2:D11)

I dette tilfælde multipliceres værdierne i matrixen (celleområde C2 til og med D11), funktionen SUM bruges derefter til at addere totalerne. Resultatet er hovedtotalen på $1.590.000 i salg. I dette eksempel kan du se, hvor effektiv denne type formel kan være. Forestil dig, at du f.eks. har 1.000 rækker med data. Du kan addere dele af eller alle data ved hjælp af en matrixformel i en enkelt celle i stedet for at trække formlen ned gennem de 1.000 rækker.

Bemærk også, at formlen med én celle (i celle B13) er helt uafhængig af formlen med flere celler (formlen i cellerne E2 til og med E11). Dette er en anden fordel ved at bruge matrixformler  – fleksibilitet. Du kan ændre formlerne i kolonne E eller slette kolonnen helt, uden at det påvirker formlen i G11.

Matrixformler har også følgende fordele:

  • Konsistens    Hvis du klikker på en af cellerne fra E2 og nedad, vises den samme formel. Denne konsistent kan sikre en større nøjagtighed.

  • Sikkerhed    Du kan ikke overskrive en komponent i en matrixformel med flere celler. Prøv f.eks. at klikke på celle E3 og trykke på Delete. Du skal markere hele celleområdet (E2 til og med E11) og ændre formlen for hele matrixen eller lade matrixen være uændret. Som en ekstra sikkerhed skal du trykke på Ctrl+Skift+Enter for at bekræfte ændringen af formlen.

  • Mindre filstørrelser    Du kan ofte bruge en enkelt matrixformel i stedet for flere mellemliggende formler. I projektmappen bruges der f.eks. kun én matrixformel til at beregne resultaterne i kolonne E. Hvis du havde brugt almindelige formler, f.eks. =C2*D2; C3*D3; C4*D4...), skulle du have brugt 11 forskellige formler til at beregne de samme resultater.

Syntaksen i matrixformler

Matrixformler bruger overordnet set den samme syntaks som standardformler. De starter med et lighedstegn (=), og du kan bruge alle de indbyggede Excel-funktioner i dine matrixformler. Den primære forskel, når du bruger matrixformler, er, at du skal trykke på Ctrl+Skift+Enter for at oprette en formel. Når du gør det, angives matrixformlen i klammeparenteser – hvis du skriver klammeparenteserne manuelt, bliver formlen konverteret til en tekststreng, og den virker ikke.

Matrixfunktioner er en meget effektiv måde at bygge komplekse formler på. Matrixformlen =SUM(C2:C11*D2:D11) er den samme som: =SUM(C2*D2;C3*D3;C4*D4;C5*D5;C6*D6;C7*D7;C8*D8;C9*D9;C10*D10;C11*D11).

Indtastning og ændring af matrixformler

Vigtigt    Tryk på Ctrl+Skift+Enter, når du vil oprette eller redigere en matrixformel. Dette gælder både formler i flere celler og i én celle.

Når du arbejder med formler i flere celler, skal du også huske følgende:

  • Markér det celleområde, der skal indeholde resultaterne, før du skrive formlen. Du gjorde dette, da du oprettede matrixformlen med flere celler, da du markerede cellerne E2 til og med E11.

  • Du kan ikke ændre indholdet af en enkelt celle i en matrixformel. Du kan prøve det ved at markere celle E3 i projektmappen og trykke på Delete. Der vises en meddelelse i Excel om, at du ikke kan ændre en del af en matrix

  • Du kan flytte eller slette en hel matrixformel, men du kan ikke flytte eller slette en del af den. Hvis du vil gøre en matrixformel mindre, skal du først slette den eksisterende formel og derefter starte forfra.

  • Hvis du vil slette en matrixformel, skal du markere hele formlen, f.eks. =C2:C11*D2:D11, trykke på Delete og derefter trykke på Ctrl+Skift+Enter.

  • Du kan ikke indsætte tomme celler i eller slette celler fra en matrixformel med flere celler.

Udvide en matrixformel

Der vil være tilfælde, hvor du har brug for at udvide en matrixformel. Processen er ikke kompliceret, men du skal sørge for at følge vejledningen ovenfor.

I dette regneark har vi tilføjet nogle flere rækker med salg (række 12 til og med 17). Her skal du opdatere matrixformlerne, så de nu omfatter disse ekstra rækker.

Husk, at du skal gøre dette i Excel på computeren (efter at du har hentet projektmappen til din computer).

Udvide en matrixformel
  1. Kopiér hele tabellen til celle A1 i et Excel-regneark.

    Sælger

    Biltype

    Antal
    solgt

    Enheds-
    pris

    Samlet
    salg

    Pedersen

    Sedan

    5

    33000

    165000

    Coupé

    4

    37000

    148000

    Ingle

    Sedan

    6

    24000

    144000

    Coupé

    8

    21000

    168000

    Jordan

    Sedan

    3

    29000

    87000

    Coupé

    1

    31000

    31000

    Pica

    Sedan

    9

    24000

    216000

    Coupé

    5

    37000

    185000

    Sanchez

    Sedan

    6

    33000

    198000

    Coupé

    8

    31000

    248000

    Toth

    Sedan

    2

    27000

    Coupé

    3

    30000

    Wang

    Sedan

    4

    22000

    Coupé

    1

    41000

    Young

    Sedan

    5

    32000

    Coupé

    3

    36000

    Hovedtotal

  2. Markér celle E18, angiv formlen =SUM(C2:C17*D2:D17) for hovedtotalen i celle A20, og tryk på Ctrl+Skift+Enter.
    Svaret skulle blive 2.131.000.

  3. Markér det celleområde, der indeholder den aktuelle matrixformel (E2:E11) plus de tomme celler (E12:E17) ud for de nye data. Du skal med andre ord markere cellerne E2:E17.

  4. Tryk på F2 for at skifte til redigeringstilstand.

  5. På formellinjen skal du rette C11 til C17, rette D11 til D17 og derefter trykke på Ctrl+Skift+Enter.
    Formlen opdateres i cellerne E2 til og med E11, og der placeres en forekomst af formlen i de nye celler, E12 til og med E17.

  6. Skriv matrixformlen = SUM(C2:C17*D2*D17) i celle F17, så den refererer til cellerne fra række 2 til og med række 17. Tryk derefter på Ctrl+Skift+Enter for at angive matrixformlen.
    Den nye hovedtotal bør være 2.131.000.

Ulemper ved matrixformler

Matrixformler er fantastiske, men der er også ulemper:

  • Du kan nemt glemme at trykke på Ctrl+Skift+Enter. Det kan ske for selv de mest erfarne Excel-brugere. Husk at bruge denne tastekombination, når du opretter eller redigerer en matrixformel.

  • Andre brugere af projektmappen forstår muligvis ikke dine formler. Matrixformler er generelt ikke forklaret i regneark. Hvis andre skal redigere dine projektmapper, bør du derfor enten undgå at bruge matrixformler, eller du skal sikre dig, at de kender til matrixformler og ved, hvordan de kan ændre dem, hvis de har brug for det.

  • Afhængigt af computeren hastighed og hukommelse kan store matrixformler gøre beregningerne langsommere.

Toppen af siden

Få mere at vide om matrixkonstanter

Matrixkonstanter er en komponent af matrixformler. Du kan oprette matrixkonstanter ved at oprette en liste med elementer, som du derefter manuelt angiver i klammeparenteser ({ }), f.eks.:

={1,2,3,4,5}

På nuværende tidspunkt ved du, at du skal trykke på Ctrl+Skift+Enter, når du opretter matrixformler. Da matrixkonstanter er en komponent af matrixformler, skal du skrive klammeparenteserne om konstanterne manuelt, når du skriver dem. Du trykker derefter på Ctrl+Skift+Enter, når du vil oprette hele formlen.

Hvis du afgrænser elementerne ved hjælp af kommaer, oprettes der en vandret matrix (en række). Hvis du afgrænser elementerne med semikolonner, opretter du en lodret matrix (en kolonne). Hvis du vil oprette en todimensional matrix, skal du afgrænse elementerne i hver række med kommaer og afgrænse hver række med semikoloner.

Her er en matrix i en enkelt række: {1;2;3;4}. Her er en matrix i en enkelt kolonne: {1;2;3;4}. Og her er en matrix med to rækker og fire kolonner: {1;2;3;4,5;6;7;8}. I matrixen med to rækker er den første række 1, 2, 3 og 4, og den anden række er 5, 6, 7 og 8. Et enkelt komma afgrænser de to rækker mellem 4 og 5.

På samme måde som med matrixformler kan du bruge matrixkonstanter med de fleste af de indbyggede funktioner i Excel. I de følgende afsnit beskrives det, hvordan du kan oprette hver enkelt type kontakt, og hvordan du bruger disse konstanter i funktioner i Excel.

Toppen af siden

Oprette en- og todimensionale konstanter

Med de følgende procedurer får du øvelse i at oprette vandrette, lodrette og todimensionale konstanter.

Oprette en vandret konstant

  1. Brug projektmappen fra de tidligere eksempler, eller opret en ny projektmappe.

  2. Markér cellerne A1 til og med E1.

  3. Skriv følgende formel på formellinjen, og tryk derefter på Ctrl+Skift+Enter:

    ={1,2,3,4,5}

    I dette tilfælde skal du skrive klammeparenteserne ({ }).

    Følgende resultat vises:

    Vandret matrixkonstant i formel

Oprette en lodret konstant

  1. Markér en kolonne med fem celler i projektmappen.

  2. Skriv følgende formel på formellinjen, og tryk derefter på Ctrl+Skift+Enter:

    ={1;2;3;4;5}

    Følgende resultat vises:

    Lodret matrixkontakt i matrixformel

Oprette en todimensional konstant

  1. Markér en blok celler i projektmappen på fire kolonner i bredden og tre rækker i højden.

  2. Skriv følgende formel på formellinjen, og tryk derefter på Ctrl+Skift+Enter:

    ={1,2,3,4;5,6,7,8;9,10,11,12}

    Der vises følgende resultat:

    Todimensional matrixkonstant i matrixformel

Brug af konstanter i formler

Her er et simpelt eksempel, hvor der bruges konstanter:

  1. Opret et nyt regneark i eksempelprojektmappen.

  2. Skriv 3 i celle A1, og skriv derefter 4 i B1, 5 i C1, 6 i D1 og 7 i E1.

  3. Skriv følgende formel i celle A3, og tryk derefter på Ctrl+Skift+Enter:

    =SUM(A1:E1*{1,2,3,4,5})

    Bemærk, at Excel angiver konstanten i et ekstra sæt klammeparenteser, fordi du har oprettet den som en matrixformel.

    Matrixformel med matrixkonstant

    Værdien 85 vises i celle A3.

I næste afsnit beskrives det, hvordan formlen virker.

Syntaksen i matrixkonstanter

Den formel, du netop har brugt, består af flere dele.

Syntaksen for en matrixformel med en matrixkonstant

1. Funktion

2. Lagret matrix

3. Operator

4. Matrixkonstant

Det sidste element i parenteserne er matrixkonstanten: {1,2,3,4,5}. Husk på, at Excel ikke angiver matrixkonstanter i klammeparenteser. Du skal selv skrive dem. Husk også på, at efter at du har føjet en kontakt til en matrixformel, skal du trykke på Ctrl+Skift+Enter for at oprette formlen.

Da Excel først udfører handlinger på de udtryk, der er angivet i parentes, vil de næste to elementer, der behandles, være de værdier, der er gemt i projektmappen (A1:E1) og operatoren. På dette tidspunkt ganger formlen værdierne i den lagrede matrix med de tilsvarende værdier i konstanten. Dette svarer til:

=SUM(A1*1;B1*2;C1*3;D1*4;E1*5)

Til sidst lægger funktionen SUM værdierne sammen, og summen 85 vises i celle A3.

Hvis du vil undlade at bruge den lagrede matrix og holde hele behandlingen i hukommelsen, kan du erstatte den lagrede matrix med en anden matrixkonstant:

=SUM({3,4,5,6,7}*{1,2,3,4,5})

Hvis du vil prøve dette, kan du kopiere funktionen, markere en tom celle i projektmappen, indsætte en formel på formellinjen og derefter trykke på Ctrl+Skift+Enter. Der vises det samme resultat som i den tidligere øvelse, som benyttede matrixformlen:

=SUM(A1:E1*{1,2,3,4,5})

De elementer, du kan bruge i konstanter

Matrixkonstanter kan indeholde tal, tekst, logiske værdier, f.eks. SAND og FALSK, og fejlværdier, f.eks. #I/T. Du kan bruge tal i formaterne heltal, decimal og videnskabelige formater. Hvis du medtager tekst, skal du angive teksten i anførselstegn (").

Matrixkonstanter kan ikke indeholde flere matrixer, formler eller funktioner. Det vil sige, at de kan kun indeholde tekst eller tal, der er adskilt med kommaer eller semikolonner. Excel viser en advarsel, når du skriver en formel som {1,2,A1:D4} eller {1,2,SUM(Q2:Z8)}. Desuden kan numeriske værdier ikke indeholde procenttegn, dollartegn, kommaer eller parenteser.

Navngive matrixkonstanter

En af de bedste måder at bruge matrixkonstanter på er at navngive dem. Det kan være meget nemmere at bruge matrixkonstanter, der er navngivet, og navngivningen kan være med til at skjule kompleksiteten i matrixformler fra andre. Hvis du vil navngive en matrixkonstant og bruge den i en formel, skal du benytte følgende fremgangsmåde:

  1. Klik på Definer navn i gruppen Definerede navne under fanen Formler.
    Dialogboksen Definer navn vises.

  2. Skriv Kvartal1 i feltet Navn.

  3. Skriv følgende konstant (husk at skrive klammeparenteserne manuelt) i feltet Refererer til:

    ={"Januar","Februar","Marts"}

    Indholdet i dialogboksen ser nu sådan ud:

    Dialogboksen Rediger navn med formel

  4. Klik på OK, og markér derefter en række med tre tomme celler.

  5. Skriv følgende formel, og tryk derefter på Ctrl+Skift+Enter:

    =Kvartal1

    Følgende resultat vises:

    Navngivet matrix skrevet som formel

Når du bruger en navngivet konstant som en matrixformel, skal du huske at angive lighedstegnet. Hvis du ikke gør det, vil Excel fortolke matrixen som en tekststreng, og formlen vil ikke virke som forventet. Husk desuden på, at du kan bruge kombinationer af tekst og tal.

Fejlfinding af matrixkonstanter

Hold øje med følgende problemer, hvis dine matrixkonstanter ikke virker:

  • Nogle elementer er muligvis ikke separeret med det korrekte tegn. Hvis du udelader et komma eller et semikolon, eller hvis du placerer et af disse tegn forkert, bliver matrixkonstanten muligvis ikke oprettet korrekt, eller der vises en advarsel.

  • Du har muligvis markeret et celleområde, der ikke stemmer overens med antallet af elementer i konstanten. Hvis du f.eks. markerer en kolonne med seks celler til brug med en konstant med fem celler, vises fejlværdien #I/T i den tomme celle. Hvis du markerer for få celler, vil Excel udelade de værdier, der ikke har en tilsvarende celle.

Matrixkonstanter i brug

I de følgende eksempler kan du se nogle eksempler på brug af matrixkonstanter i matrixformler. Nogle af eksemplerne bruger funktionen TRANSPONER til at konvertere rækker til kolonner og omvendt.

Multiplicer hvert enkelt element i en matrix

  1. Opret et nyt regneark, og markér derefter en blok med tomme celler på fire kolonner i bredden og tre rækker i højden.

  2. Skriv følgende formel, og tryk derefter på Ctrl+Skift+Enter.

    ={1,2,3,4;5,6,7,8;9,10,11,12}*2

Tag kvadratroden af elementerne i en matrix

  1. Markér en blok med tomme celler på fire kolonner i bredden og tre rækker i højden.

  2. Skriv følgende matrixformel, og tryk derefter på Ctrl+Skift+Enter.

    ={1,2,3,4;5,6,7,8;9,10,11,12}*{1,2,3,4;5,6,7,8;9,10,11,12}

    Du kan eventuelt angive denne matrixformel, som bruger indsætningstegnet (^):

    ={1,2,3,4;5,6,7,8;9,10,11,12}^2

Transponere en endimensional række

  1. Markér en kolonne med fem tomme celler.

  2. Skriv følgende formel, og tryk derefter på Ctrl+Skift+Enter.

    =TRANSPONER({1,2,3,4,5})

Selvom du har angivet en vandret matrixkonstant, konverterer funktionen TRANSPONER matrixkonstanten til en kolonne.

Transponere en endimensional kolonne

  1. Markér en række med fem tomme celler.

  2. Skriv følgende formel, og tryk derefter på Ctrl+Skift+Enter.

    =TRANSPONER({1;2;3;4;5})

Selvom du har angivet en lodret matrixkonstant, konverterer funktionen TRANSPONER matrixkonstanten til en række.

Transponere en todimensional konstant

  1. Markér en blok med celler på tre kolonner i bredden og fire rækker i højden.

  2. Skriv følgende konstant, og tryk derefter på Ctrl+Skift+Enter:

    =TRANSPONER({1,2,3,4;5,6,7,8;9,10,11,12})

Funktionen TRANSPONER konverterer hver række til en række kolonner.

Toppen af siden

Bruge grundlæggende matrixformler

I dette afsnit får du eksempler på grundlæggende matrixformler.

Oprette matrixer og matrixkonstanter fra eksisterende værdier

I det følgende eksempel beskrives det, hvordan du kan bruge matrixformler til at oprette links mellem celleområder i forskellige regneark. Det viser dog også, hvordan du opretter en matrixkonstant fra det samme sæt af værdier.

Oprette en matrix ud fra eksisterende værdier

  1. Markér cellerne C8:E10 i et regneark i Excel, og angiv denne formel:

    ={10,20,30;40,50,60;70,80,90}

    Husk at skrive { (startklammeparentes), før du skriver 10, og } (slutklammeparentes), efter at du har skrevet 90, da du opretter en matrix med tal.

  2. Tryk på Ctrl+Skift+Enter, hvilket angiver denne talmatrix i celleområdet C8:E10 ved hjælp af en matrixformel.
    I regnearket skal cellerne C8 til og med E10 se sådan ud:

    10

    20

    30

    40

    50

    60

    70

    80

    90

  3. Markér celleområde C1 til og med E3.

  4. Skriv følgende formel på formellinjen, og tryk derefter på Ctrl+Skift+Enter:

    =C8:E10

    Der vises en matrix på 3x3 i cellerne C1 til og med E3, som har de samme værdier som i C8 til og med E10.

Oprette en matrixkonstant ud fra eksisterende værdier

  1. Markér cellerne C1:C3, og tryk på F2 for at skifte til redigeringstilstand.
    Matrixformlen skulle gerne stadig være = C8:E10.

  2. Tryk på F9 for at konvertere cellereferencerne til værdier. Excel konverterer værdierne til en matrixkonstant. Formlen skulle nu være ={10,20,30;40,50,60;70,80,90} ligesom C8:E10.

  3. Tryk på Ctrl+Skift+Enter for at oprette matrixkonstanten som en matrixformel.

Tælle antal tegn i et celleområde

I følgende eksempel kan du se, hvordan du kan tælle antallet af tegn, herunder antal mellemrum, i et celleområde.

  1. Kopiér hele denne tabel, og indsæt den i celle A1 i et regneark.

  2. Markér celle A9, og tryk derefter på Ctrl+Skift+Enter for at se det samlede antal tegn i cellerne A2:A6 (66).

  3. Markér celle A12, og tryk derefter på Ctrl+Skift+Enter for at se indholdet af den længste af cellerne i området A2:A6 (celle A3).

Data

Dette er en

gruppe celler, der

samles til

en

enkelt sætning.

Samlet antal tegn i A2:A6

=SUM(LÆNGDE(A2:A6))

Indholdet af den længste celle (A3)

=INDEKS(A2:A6;SAMMENLIGN(MAKS(LÆNGDE(A2:A6));LÆNGDE(A2:A6);0);1)

Følgende formel bruges i celle A9 og tæller det samlede antal tegn (66) i celle A2 til og med A6.

=SUM(LÆNGDE(A2:A6))

I dette tilfælde returnerer funktionen LÆNGDE længden af hver tekststreng i hver af cellerne i området. Funktionen SUM lægger derefter disse værdier sammen og viser resultatet (66) i en celle, der indeholder formlen, A9.

Finde den n'te mindste værdi i et område

I dette eksempel kan du se, hvordan du kan finde de tre mindste værdier i et celleområde.

  1. Markér cellerne A16 til og med A18.
    Dette sæt celler indeholder de resultater, der returneres af matrixformlen.

  2. Skriv følgende formel på formellinjen, og tryk derefter på Ctrl+Skift+Enter:

    =MINDSTE(A5:A14;{1,2,3})

Værdierne 400, 475 og 500 vises i henholdsvis celle A16 til og med A18.

Denne formel bruger en matrixkonstant til at evaluere funktionen MINDSTE tre gang og returnerer den mindste (1), næstmindste (2) og tredjemindste (3) værdi i matrixen i cellerne A1:A10. Hvis du vil finde flere værdier, kan du føje flere argumenter til konstanten og et tilsvarende antal resultatceller til området A12:A14. Du kan også bruger flere funktioner med denne formel, f.eks. SUM eller MIDDEL. Eksempler:

=SUM(MINDSTE(A 5 :A1 4 ,{1;2;3}))

=MIDDEL(MINDSTE(A 5 :A1 4 ,{1;2;3}))

Finde den n'te største værdi i et område

Hvis du vil finde de største værdier i et område, kan du erstatte funktionen MINDSTE med funktionen STØRSTE. I det følgende eksempel bruges funktioner RÆKKE og INDIREKTE også.

  1. Markér cellerne A1 til og med A3.

  2. Skriv denne formel på formellinjen, og tryk derefter på Ctrl+Skift+Enter:

    =STØRSTE(A5:A14;RÆKKE(INDIREKTE("1:3")))

Værdierne 3200, 2700 og 2000 vises i henholdsvis celle A1 til og med A3.

Her vil det være på sin plads at fortælle lidt om funktionerne RÆKKE og INDIREKTE. Du kan bruge funktionen RÆKKE til at oprette en matrix med efterfølgende heltal. Du kan f.eks. markere en tom kolonne med 10 celler i eksempelprojektmappen og skrive denne matrixformel i cellerne A5:A14 og derefter trykke på Ctrl+Skift+Enter:

=RÆKKE(1:10)

Formlen opretter en kolonne med ti efterfølgende heltal. Hvis du vil se et potentielt problem, kan du indsætte en række over det område, der indeholder matrixformlen, dvs. over række 1. Excel justerer rækkereferencerne, og formlen opretter heltal fra 2 til 11. Du kan løse det problem ved at indsætte funktionen INDIREKTE i formlen:

=RÆKKE(INDIREKTE("1:10"))

Funktionen INDIREKTE bruger tekststrenge som argumenter (hvilket er grunden til, at intervallet 1:10 er angivet i anførselstegn). Excel justerer ikke tekstværdier, når du indsætter rækker eller flytter matrixformlen. Det medfører, at funktionen RÆKKE altid opretter det ønskede interval af heltal.

Lad os se nærmere på den formel, du brugte tidligere – =STØRSTE(A5:A14;RÆKKE(INDIREKTE("1:3"))) – startende fra den inderste parentes og udad. Funktionen INDIREKTE returnerer et sæt tekstværdier. I dette tilfælde værdierne 1 til 3. Funktionen RÆKKE opretter en kolonnematrix med tre celler. Funktionen STØRSTE bruger værdierne i celleområdet A5:A14, og den evalueres tre gange: en gang for hver reference, der returneres af funktionen RÆKKE. Værdierne 3200, 2700 og 2000 returneres til kolonnematrixen med tre celler. Hvis du vil finde flere værdier, skal du føje et større celleområde til funktionen INDIREKTE.

Og endelig kan du bruge denne formel med andre funktioner, f.eks. SUM og MIDDEL.

Finde den længste tekststreng i et celleområde

Denne formel virker kun, når et dataområde indeholder en enkelt kolonne med celler. Angiv følgende formel i celle A16 på Ark3, og tryk på Ctrl+Skift+Enter:

=INDEKS(A6:A9;SAMMENLIGNING(MAKS(LÆNGDE(A6:A9));LÆNGDE(A6:A9);0);1)

Teksten "bunch of cells that" vises i celle A16.

Lad os se nærmere på formlen startende fra de inderste elementer og udad. Funktionen LÆNGDE returnerer længden af hvert element i celleområdet A6:A9. Funktionen MAKS beregner den største værdi blandt elementerne, hvilket svarer til den længste tekststreng, som er i celle A7.

Nu begynder det at blive mere kompliceret. Funktionen SAMMENLIGNING beregner forskydningen (den relative placering) af den celle, som indeholder den længste tekststreng. Dette kræver tre argumenter: en opslagsværdi, en opslagsmatrix og en sammenligningstype. Funktionen SAMMENLIGNING søger efter den angivne opslagsværdi i opslagsmatrixen. I dette tilfælde er opslagsværdien den længste tekststreng:

(MAKS(LÆNGDE( A6 : A9 ))

og strengen findes i denne matrix:

LÆNGDE( A6:A9 )

Argumentet for sammenligningstypen er 0. Sammenligningstypen kan være værdien 1, 0 eller -1. Hvis du angiver 1, returnerer SAMMENLIGNING den største værdi, der er mindre end eller lig med opslagsværdien. Hvis du angiver 0, returnerer SAMMENLIGNING den første værdi, der er lig med opslagsværdien. Hvis du angiver -1, finder SAMMENLIGNING den mindste værdi, der er større end eller lig med den angivne opslagsværdi. Hvis du ikke angiver en værdi for matchningstypen, anvendes værdien 1.

Funktionen INDEKS accepterer følgende argumenter: en matrix og et række‑ og kolonnenummer i matrixen. Celleområdet A6:A9 er matrixen, funktionen SAMMENLIGNING er celleadressen, og det sidste argument (1) angiver, at værdien kommer fra den første kolonne i matrixen.

Toppen af siden

Anvende avancerede matrixformler

I dette afsnit kan du finde eksempler på avancerede matrixformler.

Opsummere et område, der indeholder fejlværdier

Funktionen SUM i Excel virker ikke, hvis du forsøger at opsummere et område, der indeholder fejlværdier, f.eks. #I/T. I dette eksempel kan du se, hvordan du kan opsummere værdierne i det navngivne område Data, som indeholder fejl.

=SUM(HVIS(ER.FEJL(Data);"";Data))

Formlen opretter en ny matrix, der indeholder de oprindelige værdier minus eventuelle fejlværdier. Funktionen ER.FEJL søger efter fejl i celleområdet (Data). Funktionen HVIS returnerer en bestemt værdi, hvis den angivne betingelse evalueres til SAND, og en anden værdi, hvis betingelsen evalueres til FALSK. I dette tilfælde returneres der tomme strenge ("") for alle fejlværdier, da de evalueres til SAND, og den returnerer de resterende værdier fra området (Data), fordi de evalueres til FALSK (de indeholder altså ikke fejlværdier). Funktionen SUM beregner derefter totalen for den filtrerede matrix.

Tælle antal fejlværdier i et område

Dette eksempel minder om den foregående formel, men her returneres antallet af fejlværdier i det navngivne område Data i stedet for, at de filtreres fra:

=SUM(HVIS(ER.FEJL(Data),1,0))

Denne formel opretter en matrix, der indeholder værdien 1 for de celler, som indeholder fejl, og værdien 0 for de celler, der ikke indeholder fejl. Du kan forenkle formlen og opnå det samme resultat, hvis du fjerner det tredje argument til funktionen HVIS, som vist her:

=SUM(HVIS(ER.FEJL(Data),1))

Hvis du ikke angiver dette, returnerer funktionen HVIS værdien FALSK, hvis en celle ikke indeholder en fejlværdi. Det er muligt at forenkle formlen endnu mere:

=SUM(HVIS(ER.FEJL(Data)*1))

Denne version virker, fordi SAND*1=1 og FALSK*1=0.

Lægge værdier sammen baseret på betingelser

Du kan få brug for at lægge værdier sammen baseret på betingelser. Denne matrixformel lægger kun de positive heltal sammen i området Salg:

=SUM(HVIS(Salg>0,Salg))

Funktionen HVIS opretter en matrix med positive og falske værdier. Funktionen SUM ignorerer de falske værdier, fordi 0+0=0. Det celleområde, du bruger i denne formel, kan bestå af et vilkårligt antal rækker og kolonner.

Du kan også lægge værdier sammen, der opfylder mere end én betingelse. Denne matrixformel beregner værdier større end 0 og mindre end eller lig med 5:

=SUM((Salg>0)*(Salg<=5)*(Salg))

Husk på, at denne formel returnerer en fejl, hvis området indeholder en eller flere celler, som ikke indeholder tal.

Du kan også oprette matrixformler, der bruger en type af ELLER-betingelse. Du kan f.eks. lægge de værdier sammen, som er mindre end 5 og større end 15:

=SUM(HVIS((Salg<5)+(Salg>15),Salg))

Funktionen HVIS finder alle de værdier, der er mindre end 5 og større end 15 og overfører derefter disse værdier til funktionen SUM.

Du kan ikke bruge funktionerne OG og ELLER direkte i matrixformler, fordi funktionerne returnerer et enkelt resultat, dvs. enten SAND eller FALSK, og matrixfunktioner kræver resultater i en matrix. Du kan løse problemet ved hjælp af den logik, der vises i den foregående formel. Du kan med andre ord foretage matematiske handlinger, f.eks. addition eller multiplikation, på de værdier, der opfylder betingelsen ELLER eller OG.

Beregne et gennemsnit, der udelader nulværdier

I dette eksempel kan du se, hvordan du kan fjerne nulværdier fra et område, når du skal finde middelværdien af værdierne i området. Formlen bruger et dataområde med navnet Salg:

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

Funktionen HVIS opretter en matrix med de værdier, der ikke er lig med 0, og den overfører derefter disse værdier til funktionen MIDDEL.

Tælle antal forskelle mellem to celleområder

Denne matrixformel sammenligner værdierne i to områder med navnene MineData og DineData og returnerer antallet af forskelle mellem de to områder. Hvis indholdet af de to områder er identisk, returneres 0. Hvis du vil bruge formlen, skal celleområderne have samme størrelse og dimension (hvis f.eks. MineData er et område på 3 rækker gange 5 kolonner, skal DineData også være 3 rækker gange 5 kolonner):

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

Formlen opretter en ny matrix med samme størrelse som de områder, du sammenligner. Funktionen HVIS udfylder matrixen med værdien 0 og værdien 1 (0 for forskellige celler og 1 for identiske celler). Funktionen SUM returnerer derefter summen af værdierne i matrixen.

Du kan forenkle formlen på denne måde:

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

På samme måde som den formel, der tæller antal fejlværdier i et område, virker denne formel, fordi SAND*1=1 og FALSK*1=0.

Finde placeringen af den største værdi i et område

Denne matrixformel returnerer rækkenummeret for den største værdi i området Data, som består af én kolonne:

=MIN(HVIS(Data=MAKS(Data);RÆKKE(Data);""))

Funktionen HVIS opretter en ny matrix, der svarer til området Data. Hvis en tilsvarende celle indeholder den største værdi i området, indeholder matrixen rækkenummeret. Ellers indeholder matrixen en tom streng (""). Funktionen MIN bruger den nye matrix som det andet argument og returnerer den mindste værdi, hvilket svarer til rækkenummeret med den største værdi i Data. Hvis den største værdi i området Data findes i flere celler, returnerer formlen den række, som indeholder den første forekomst af værdien.

Hvis du vil returnere den faktiske celleadresse for den største værdi, skal du bruge denne formel:

=ADRESSE(MIN(HVIS(Data=MAKS(Data);RÆKKE(Data);""));KOLONNE(Data))

Toppen af siden

Har du brug for mere hjælp?

Du kan altid spørge en ekspert i Excel Tech Community, få support i Answers community eller foreslå en ny funktion eller forbedring i Excel User Voice.

Bemærk: Ansvarsfraskrivelse for maskinoversættelse: Denne artikel er blevet oversat af et computersystem uden menneskelig indgriben. Microsoft tilbyder disse maskinoversættelse for at hjælpe ikke-engelsktalende brugere til at kunne nyde indhold om Microsofts produkter, tjenester og teknologier. Da artiklen er maskinoversat, kan den indeholde forkerte ord eller syntaks- eller grammatikfejl.

Se også

Oversigt over formler

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×