Innholdsfortegnelse
I denne opplæringen lærer du hva en Excel-matriseformel er, hvordan du legger den inn riktig i regnearkene dine, og hvordan du bruker matrisekonstanter og matrisefunksjoner.
Arrayformler i Excel er et ekstremt kraftig verktøy og et av de vanskeligste å mestre. En enkelt matriseformel kan utføre flere beregninger og erstatte tusenvis av vanlige formler. Og fortsatt har 90 % av brukerne aldri brukt matrisefunksjoner i regnearkene sine, rett og slett fordi de er redde for å begynne å lære dem.
Riktig, matriseformler er en av de mest forvirrende Excel-funksjonene å lære. Målet med denne opplæringen er å gjøre læringskurven så enkel og smidig som mulig.
Hva er en matrise i Excel?
Før vi begynner på matrisefunksjoner og formler, la oss finne ut hva begrepet "array" betyr. I hovedsak er en matrise en samling av elementer. Varene kan være tekst eller tall, og de kan ligge i en enkelt rad eller kolonne, eller i flere rader og kolonner.
Hvis du for eksempel legger inn den ukentlige handlelisten i et Excel-matriseformat, vil det se ut som:
{"Melk", "Egg", "Smør", "Maisflak"}
Så, hvis du velger cellene A1 til og med D1, skriv inn matrisen ovenfor med en lik tegn (=) i formellinjen og trykk CTRL + SHIFT + ENTER , du får følgende resultat:
Det du nettopp har gjort er å lage en endimensjonal horisontal array. Ingentingkonstant
En matrisekonstant kan inneholde tall, tekstverdier, boolske (SANN og FALSE) og feilverdier, atskilt med komma eller semikolon.
Du kan angi en numerisk verdi som et heltall, desimal , eller i vitenskapelig notasjon. Hvis du bruker tekstverdier, bør de være omgitt av doble anførselstegn (") som i enhver Excel-formel.
En matrisekonstant kan ikke inkludere andre matriser, cellereferanser, områder, datoer, definerte navn, formler eller funksjoner .
For å gjøre en matrisekonstant enklere å bruke, gi den et navn:
- Bytt til Formler-kategorien> Definerte navn -gruppen og klikk Definer navn . Alternativt kan du trykke Ctrl + F3 og klikke Ny .
- Skriv inn navnet i Navn
- I boksen Refererer til skriver du inn elementene i matrisekonstanten omgitt av klammeparenteser med det foregående likhetstegnet (=). For eksempel:
={"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"}
- Klikk OK for å lagre den navngitte matrisen og lukke vinduet.
For å angi den navngitte matrisekonstanten i et ark, velg så mange celler i en rad eller kolonne som det er elementer i matrisen din, skriv inn matrisens navn i formellinjen foran =-tegnet og trykk Ctrl + Shift + Enter.
Resultatet skal ligne dette:
Hvis matrisekonstanten ikke fungerer som den skal, se etter følgende problemer:
- Avgrense elementeneav matrisekonstanten med riktig tegn - komma i horisontale matrisekonstanter og semikolon i vertikale.
- Valgde et celleområde som nøyaktig samsvarer med antall elementer i matrisekonstanten. Hvis du velger flere celler, vil hver ekstra celle ha #N/A-feilen. Hvis du velger færre celler, vil bare en del av matrisen bli satt inn.
Bruke matrisekonstanter i Excel-formler
Nå som du er kjent med begrepet matrisekonstanter, la oss se hvordan du kan bruke matriser informulas for å løse dine praktiske oppgaver.
Eksempel 1. Sum N største / minste tall i et område
Du starter med å lage en vertikal matrise konstant som inneholder så mange tall som du vil summere. For eksempel, hvis du vil legge sammen 3 minste eller største tall i et område, er matrisekonstanten {1,2,3}.
Deretter tar du enten LARGE eller SMALL funksjonen, spesifiser hele området av celler i den første parameteren og inkluderer matrisekonstanten i den andre. Til slutt legger du den inn i SUM-funksjonen, slik:
Summer de 3 største tallene: =SUM(LARGE(range, {1,2,3}))
Summer de 3 minste tallene: =SUM(SMALL(range, {1,2,3}))
Ikke glem å trykke Ctrl + Shift + Enter siden du skriver inn en matriseformel, og du vil få følgende resultat:
På lignende måte kan du beregne gjennomsnittet av N minste eller største verdier i et område:
Gjennomsnitt av de 3 beste tallene: =AVERAGE(LARGE(range, {1,2,3}))
Gjennomsnitt avnederste 3 tall: =AVERAGE(SMALL(range, {1,2,3}))
Eksempel 2. Matriseformel for å telle celler med flere betingelser
Anta at du har en liste over bestillinger og du vil vite hvor mange ganger en gitt selger har solgt gitt produkter.
Den enkleste måten ville være å bruke en COUNTIFS-formel med flere betingelser. Men hvis du ønsker å inkludere mange produkter, kan COUNTIFS-formelen din bli for stor i størrelse. For å gjøre det mer kompakt, kan du bruke COUNTIFS sammen med SUM og inkludere en matrisekonstant i ett eller flere argumenter, for eksempel:
=SUM(COUNTIFS(range1, "criteria1", range2, {"criteria1", "criteria2"}))
Den virkelige formelen kan se ut som følger:
=SUM(COUNTIFS(B2:B9, "sally", C2:C9, {"apples", "lemons"}))
Vår prøvematrise består av bare to elementer siden målet er å demonstrere tilnærmingen. I de virkelige matriseformlene dine kan du inkludere så mange elementer som forretningslogikken din krever, forutsatt at den totale lengden på formelen ikke overstiger 8 192 tegn i Excel 2019 - 2007 (1 024 tegn i Excel 2003 og lavere) og datamaskinen din er kraftig nok til å behandle store matriser. Se begrensningene til matriseformler for flere detaljer.
Og her er et avansert matriseformeleksempel som finner summen av alle samsvarende verdier i en tabell: SUM og VLOOKUP med en matrisekonstant.
AND- og OR-operatorer i Excel-matriseformler
En matriseoperator forteller formelen hvordan du vil behandle matrisene - ved hjelp av AND- eller OR-logikk.
- AND-operatoren er stjernen ( *) hvilkener multiplikasjonssymbolet. Den instruerer Excel til å returnere TRUE hvis ALLE betingelsene evalueres til TRUE.
- OR-operator er plusstegnet (+). Den returnerer TRUE hvis NOEN av betingelsene i et gitt uttrykk evalueres til TRUE.
Arrayformel med AND-operatoren
I dette eksemplet finner vi summen av salg der salget person er Mike OG produktet er epler :
=SUM((A2:A9="Mike") * (B2:B9="Apples") * (C2:C9))
Eller
=SUM(IF(((A2:A9="Mike") * (B2:B9="Apples")), (C2:C9)))
Teknisk sett multipliserer denne formelen elementene i de tre matrisene i samme posisjoner. De to første matrisene er representert med TRUE og FALSE-verdier som er resultatene av å sammenligne A2:A9 med Mike" og B2:B9 med "Apples". Den tredje matrisen inneholder salgsnumrene fra området C2:C9. Som enhver matematisk operasjon , konverterer multiplikasjon TRUE og FALSE til henholdsvis 1 og 0. Og fordi multiplisering med 0 alltid gir null, har den resulterende matrisen 0 når en eller begge betingelsene ikke er oppfylt. Hvis begge betingelsene er oppfylt, får det tilsvarende elementet fra den tredje matrisen inn i den endelige matrisen (f.eks. 1*1*C2 = 10). Så resultatet av multiplikasjon er denne matrisen: {10;0;0;30;0;0;0;0}. Til slutt legger SUM-funksjonen sammen matrisens elementer og returnerer et resultat på 40.
Excel-matriseformel med OR-operatoren
Følgende matriseformel med OR-operator (+) legger sammen alle salg der selgeren er Mike ELLER produktet er Apples:
=SUM(IF(((A2:A9="Mike") + (B2:B9="Apples")), (C2:C9)))
I denne formelen legger du sammen elementene i de to første matrisene (som er betingelsene du ønsker å teste), og få TRUE (>0) hvis minst én betingelse evalueres til TRUE; FALSE (0) når alle forholdene vurderes til FALSE. Deretter sjekker IF om resultatet av addisjonen er større enn 0, og hvis det er det, legger SUM opp et tilsvarende element i den tredje matrisen (C2:C9).
Tips. I moderne versjoner av Excel er det ikke nødvendig å bruke en matriseformel for denne typen oppgaver - en enkel SUMIFS-formel håndterer dem perfekt. Ikke desto mindre kan AND- og OR-operatorene i matriseformler være nyttige i mer komplekse scenarier, enn si en veldig god sinnsgymnastikk: )
Dobbel unær operator i Excel-matriseformler
Hvis du noen gang har jobbet med matriseformler i Excel, er sjansen stor for at du kom over noen som inneholder en dobbel bindestrek (--), og du har kanskje lurt på hva den ble brukt til.
En dobbel bindestrek, som teknisk kalles dobbel unær operator, brukes til å konvertere ikke-numeriske boolske verdier (TRUE / FALSE) returnert av noen uttrykk til 1 og 0 som en matrisefunksjon kan forstå.
Følgende eksempel vil forhåpentligvis gjøre ting lettere å forstå. Anta at du har en liste over datoer i kolonne A og du vil vite hvor mange datoer som forekommer i januar, uavhengig av året.
Følgende formel vil fungere enbehandle:
=SUM(--(MONTH(A2:A10)=1))
Siden dette er en Excel-matriseformel, husk å trykke Ctrl + Shift + Enter for å fullføre den.
Hvis du er interessert i en annen måned, erstatte 1 med et tilsvarende tall. For eksempel står 2 for februar, 3 betyr mars, og så videre. For å gjøre formelen mer fleksibel, kan du spesifisere månedsnummeret i en celle, som vist på skjermbildet:
Og nå, la oss analysere hvordan denne matriseformelen fungerer. MÅNED-funksjonen returnerer måneden for hver dato i cellene A2 til A10 representert av et serienummer, som produserer matrisen {2;1;4;2;12;1;2;12;1}.
Deretter sammenlignes hvert element i matrisen med verdien i celle D1, som er nummer 1 i dette eksemplet. Resultatet av denne sammenligningen er en rekke boolske verdier TRUE og FALSE. Som du husker, kan du velge en viss del av en matriseformel og trykke F9 for å se hva den delen tilsvarer:
Til slutt må du konvertere disse boolske verdiene til 1-er og 0-er som SUM-funksjonen kan forstå. Og det er dette den doble unære operatøren trengs for. Den første unæren tvinger SANN/USANT til henholdsvis -1/0. Den andre unæren negerer verdiene, dvs. reverserer tegnet, og gjør dem til +1 og 0, som de fleste Excel-funksjoner kan forstå og arbeide med. Hvis du fjerner den doble unæren fra formelen ovenfor, vil den ikke fungere.
Jeg håper denne korteopplæringen har vist seg nyttig på veien til å mestre Excel-matriseformler. Neste uke skal vi fortsette med Excel-matriser ved å fokusere på avanserte formeleksempler. Følg med og takk for at du leser!
forferdelig så langt, ikke sant?Hva er en matriseformel i Excel?
Forskjellen mellom en matriseformel og en vanlig formel er at en matriseformel behandler flere verdier i stedet for bare én. Med andre ord, en matriseformel i Excel evaluerer alle individuelle verdier i en matrise og utfører flere beregninger på ett eller flere elementer i henhold til betingelsene uttrykt i formelen.
Ikke bare kan en matriseformel håndtere flere verdier samtidig kan den også returnere flere verdier om gangen. Så resultatene som returneres av en matriseformel er også en matrise.
Matriseformler er tilgjengelige i alle versjoner av Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 og lavere.
Og nå ser det ut til å være riktig tidspunkt for deg å lage din første matriseformel.
Enkelt eksempel på Excel-matriseformel
Anta at du har noen elementer i kolonne B, prisene deres i kolonne C, og du vil beregne totalsummen for alle salg.
Selvfølgelig er det ingenting som hindrer deg i å beregne delsummer i hver rad først med noe så enkelt som =B2*C2
og deretter summere disse verdiene:
En matriseformel kan imidlertid spare deg for de ekstra tastetrykkene siden den får Excel til å lagre mellomresultater i minnet i stedet for i en ekstra kolonne. Så alt som trengs er en enkelt matriseformel og 2 raske trinn:
- Velg en tom celle og skriv innfølgende formel i den:
=SUM(B2:B6*C2:C6)
- Trykk på hurtigtasten CTRL + SHIFT + ENTER for å fullføre matriseformelen.
Når du har gjort dette, omgir Microsoft Excel formelen med {krøllete klammeparenteser}, som er en visuell indikasjon på en matriseformel.
Det formelen gjør er å multiplisere verdiene i hver enkelt rad av den spesifiserte array (celle B2 til C6), legg til subtotalene sammen, og skriv ut totalsummen:
Dette enkle eksemplet viser hvor kraftig en matrise formel kan være. Når du arbeider med hundrevis og tusenvis av rader med data, tenk bare på hvor mye tid du kan spare ved å skrive inn én matriseformel i en enkelt celle.
Hvorfor bruke matriseformler i Excel?
Excel-matrise formler er det enkleste verktøyet for å utføre sofistikerte beregninger og gjøre komplekse oppgaver. En enkelt matriseformel kan erstatte bokstavelig talt hundrevis av vanlige formler. Matriseformler er veldig gode for oppgaver som:
- Summer tall som oppfyller visse betingelser, for eksempel sum N største eller minste verdier i et område.
- Summer annenhver rad, eller hver N'te rad eller kolonne, som vist i dette eksemplet.
- Tell antallet av alle eller visse tegn i et spesifisert område. Her er en matriseformel som teller alle tegn, og en annen som teller alle gitte tegn.
Hvordan legge inn matriseformel i Excel (Ctrl + Shift + Enter)
Som du allerede vet,kombinasjon av de 3 tastene CTRL + SHIFT + ENTER er en magisk berøring som gjør en vanlig formel til en matriseformel.
Når du skriver inn en matriseformel i Excel, er det 4 viktige ting å huske på:
- Når du er ferdig med å skrive formelen og samtidig trykket på tastene CTRL SHIFT ENTER, omslutter Excel automatisk formelen mellom {krøllete klammer}. Når du velger en eller flere slike celler, kan du se klammeparentesene i formellinjen, som gir deg en pekepinn på at en matriseformel er der.
- Manuelt å skrive parentesene rundt en formel vil ikke fungere . Du må trykke på Ctrl+Shift+Enter-snarveien for å fullføre en matriseformel.
- Hver gang du redigerer en matriseformel, forsvinner klammeparentesene og du må trykke Ctrl+Shift+Enter igjen for å lagre endringene.
- Hvis du glemmer å trykke Ctrl+Shift+Enter, vil formelen din oppføre seg som en vanlig formel og kun behandle den(e) første verdien(e) i den(e) angitte matrisen(e).
Fordi alle Excel-matriseformler krever å trykke Ctrl + Shift + Enter, de kalles noen ganger CSE-formler .
Bruk F9-tasten for å evaluere deler av en matriseformel
Når du arbeider med matriseformler i Excel, kan du observere hvordan de beregner og lagrer elementene sine (interne matriser) for å vise det endelige resultatet du ser i en celle. For å gjøre dette, velg ett eller flere argumenter innenfor en funksjons parentes, og trykk deretter på F9-tasten. Tilgå ut av formelevalueringsmodusen, trykk på Esc-tasten.
I eksemplet ovenfor, for å se delsummene til alle produktene, velger du B2:B6*C2:C6, trykker på F9 og får følgende resultat.
Merk. Vær oppmerksom på at du må velge en del av formelen før du trykker F9, ellers vil F9-tasten ganske enkelt erstatte formelen din med den eller de beregnede verdien(e).
Enkelcelle- og flercellematriseformler i Excel
Excel-matriseformler kan returnere et resultat i en enkelt celle eller i flere celler. En matriseformel som legges inn i et celleområde kalles en multicelleformel . En matriseformel som ligger i en enkelt celle kalles en enkeltcelleformel .
Det finnes noen få Excel-matrisefunksjoner som er utformet for å returnere flercellede matriser, for eksempel TRANSPOSE, TREND , FREQUENCY, LINEST, etc.
Andre funksjoner, som SUM, AVERAGE, AGGREGATE, MAX, MIN, kan beregne matriseuttrykk når de legges inn i en enkelt celle ved å bruke Ctrl + Shift + Enter.
De følgende eksemplene viser hvordan du bruker en encellet og flercellet matriseformel.
Eksempel 1. En encellet matriseformel
Anta at du har to kolonner som viser antall varer solgt i 2 forskjellige måneder, for eksempel kolonne B og C, og du vil finne den maksimale salgsøkningen.
Vanligvis vil du legge til en ekstra kolonne, for eksempel kolonne D, som beregner salgsendringen for hverprodukt ved å bruke en formel som =C2-B2
, og finn deretter maksimumsverdien i den ekstra kolonnen =MAX(D:D)
.
En matriseformel trenger ikke en ekstra kolonne siden den lagrer mellomresultater perfekt i minnet. Så du bare skriver inn følgende formel og trykker Ctrl + Shift + Enter :
=MAX(C2:C6-B2:B6)
Eksempel 2. En flercellet matriseformel i Excel
I forrige SUM-eksempel, anta at du må betale 10 % avgift fra hvert salg og at du vil beregne avgiftsbeløpet for hvert produkt med én formel.
Velg området med tomme celler, si D2:D6, og skriv inn følgende formel i formellinjen:
=B2:B6 * C2:C6 * 0.1
Når du trykker Ctrl + Shift + Enter , vil Excel plassere en forekomst av matriseformelen din i hver celle av det valgte området, og du vil få følgende resultat:
Eksempel 3. Bruk av en Excel-matrisefunksjon for å returnere en flercellet matrise
Som allerede nevnt, tilbyr Microsoft Excel noen få såkalte "array-funksjoner" som er spesielt designet for å fungere med flercelle-arrayer. TRANSPOSE er en av slike funksjoner, og vi skal bruke den til å transponere tabellen ovenfor, dvs. konvertere rader til kolonner.
- Velg et tomt celleområde der du vil sende ut den transponerte tabellen. Siden vi konverterer rader til kolonner, må du passe på å velge samme antall rader og kolonner som kildetabellen din har henholdsvis kolonner og rader. Idette eksemplet velger vi 6 kolonner og 4 rader.
- Trykk F2 for å gå inn i redigeringsmodus.
- Skriv inn formelen og trykk Ctrl + Shift + Enter .
I vårt eksempel er formelen:
=TRANSPOSE($A$1:$D$6)
Resultatet kommer til å se ut som dette:
Slik bruker du TRANSPOSER som en CSE-matriseformel i Excel 2019 og tidligere. I Dynamic Array Excel fungerer dette også som en vanlig formel. For å lære andre måter å transponere i Excel, vennligst sjekk ut denne opplæringen: Hvordan bytte kolonner og rader i Excel.
Hvordan jobbe med flercellematriseformler
Når du arbeider med multi- cellematriseformler i Excel, sørg for å følge disse reglene for å få de riktige resultatene:
- Velg celleområdet der du vil skrive ut resultatene før du skriver inn formelen.
- For å slette en flercellet matriseformel, velg enten alle cellene som inneholder den og trykk DELETE , eller velg hele formelen i formellinjen, trykk DELETE , og trykk deretter Ctrl + Shift + Enter .
- Du kan ikke redigere eller flytte innholdet i en individuell celle i en matriseformel, og du kan heller ikke sette inn nye celler i eller slette eksisterende celler fra en matriseformel med flere celler. Hver gang du prøver å gjøre dette, vil Microsoft Excel sende advarselen " Du kan ikke endre en del av en matrise ".
- For å krympe en matriseformel, dvs. å bruke den til færre celler, må du sletteden eksisterende formelen først, og skriv deretter inn en ny.
- For å utvide en matriseformel, dvs. bruke den på flere celler, velg alle celler som inneholder gjeldende formel pluss tomme celler der du vil har det, trykk F2 for å bytte til redigeringsmodus, juster referansene i formelen og trykk Ctrl + Shift + Enter for å oppdatere den.
- Du kan ikke bruke flercellede matriseformler i Excel-tabeller.
- Du bør angi en flercellet matriseformel i et celleområde av samme størrelse som den resulterende matrisen returnert av formelen. Hvis Excel-matriseformelen din produserer en matrise som er større enn det valgte området, vises ikke de overskytende verdiene på regnearket. Hvis en matrise returnert av formelen er mindre enn det valgte området, vil #N/A-feil vises i ekstra celler.
Hvis formelen din kan returnere en matrise med et variabelt antall elementer, skriv inn det i et område som er lik eller større enn den maksimale matrisen som returneres av formelen, og pakk formelen inn i IFERROR-funksjonen, som vist i dette eksempelet.
Excel-matrisekonstanter
I Microsoft Excel, en matrisekonstanten er ganske enkelt et sett med statiske verdier. Disse verdiene endres aldri når du kopierer en formel til andre celler eller verdier.
Du så allerede et eksempel på en matrisekonstant opprettet fra en dagligvareliste helt i begynnelsen av denne opplæringen. La oss nå se hvilke andre matrisetyper som finnes og hvordan du lagerdem.
Det finnes 3 typer matrisekonstanter:
1. Horisontal matrisekonstant
En horisontal matrisekonstant ligger i en rad. For å lage en radmatrisekonstant, skriv inn verdiene atskilt med komma og omslutt deretter i klammeparenteser, for eksempel {1,2,3,4}.
Merk. Når du oppretter en matrisekonstant, bør du skrive inn åpnings- og lukkingsparentesene manuelt.
For å legge inn en horisontal matrise i et regneark, velg det tilsvarende antallet tomme celler i en rad, skriv inn formelen ={1,2,3,4}
i formellinjen og trykk Ctrl + Shift + Enter . Resultatet vil være likt dette:
Som du ser på skjermbildet, pakker Excel en matrisekonstant inn i et annet sett med klammeparenteser, akkurat som det gjør når du skriver inn en matriseformel.
2. Vertikal matrisekonstant
En vertikal matrisekonstant ligger i en kolonne. Du lager den på samme måte som en horisontal matrise med den eneste forskjellen at du avgrenser elementene med semikolon, for eksempel:
={11; 22; 33; 44}
3. Todimensjonal matrisekonstant
For å lage en todimensjonal matrise skiller du hver rad med et semikolon og hver kolonne med data med komma.
={"a", "b", "c"; 1, 2, 3}
Arbeide med Excel-matrisekonstanter
Matrisekonstanter er en av hjørnesteinene i en Excel-matriseformel. Følgende informasjon og tips kan hjelpe deg å bruke dem på den mest effektive måten.
- Elementer i en matrise