Array Functions

Den här kategorin innehåller matrisfunktioner.

Vad är en matris?

En matris är ett länkat cellområde med värden i ett kalkylblad. En fyrkant med 3 rader och 3 kolumner är en 3 × 3-matris:

A

B

C

1

7

31

33

2

95

17

2

3

5

10

50


Den minsta möjliga matrisen är en 1 × 2- eller 2 × 1-matris med två intilliggande celler.

Vad är en matrisformel?

En formel där de individuella värdena i ett cellområde beräknas kallas för en matrisformel. Skillnaden mellan en matrisformel och andra formler är att en matrisformel arbetar med flera värden samtidigt i stället för ett värde åt gången.

En matrisformel kan inte bara behandla flera värden, den kan också returnera flera värden. Resultatet av en matrisformel kan också vara en matris.

To multiply the values in the individual cells by 10 in the above array, you do not need to apply a formula to each individual cell or value. Instead you just need to use a single array formula. Select a range of 3 x 3 cells on another part of the spreadsheet, enter the formula =10*A1:C3 and confirm this entry using the key combination + Shift + Enter. The result is a 3 x 3 array in which the individual values in the cell range (A1:C3) are multiplied by a factor of 10.

Förutom multiplikation kan du använda andra räkneoperationer på ett referensområde (en matris). Med LibreOffice Calc kan du addera (+), subtrahera (-), multiplicera (*), dividera (/), använda exponenter (^), länkningar (&) och jämförelser (=, <>, <, >, <=, >=). Operationerna kan utföras på varje enskilt värde i cellområdet och returnera resultatet som en matris om en matrisformel används.

Jämförelseoperatorer i en matrisformel behandlar tomma celler på samma sätt som i en normal formel, dvs. antingen som noll eller som en tom sträng. Om t.ex. cellerna A1 och A2 är tomma returnerar matrisformlerna {=A1:A2=""} och {=A1:A2=0} både en 1-kolumn 2-radmatris av celler som innehåller SANT.

När använder matrisformler?

Du kan använda matrisformler om du ska utföra samma beräkning på flera värden. Om du ändrar beräkningen vid ett senare tillfälle behöver du bara uppdatera matrisformeln. Om du vill lägga till en matrisformel markerar du matrisområdet och gör ändringarna i matrisformeln.

Matrisformler sparar också plats när flera värden ska beräknas, eftersom matrisformler är mycket minnessnåla. Dessutom är matriser ett viktigt verktyg när du utför komplicerade beräkningar, eftersom du kan inkludera flera cellområden i dina beräkningar. I LibreOffice finns många olika matematiska funktioner för matriser, som till exempel funktionen MMULT som multiplicerar två matriser, eller PRODUKTSUMMA som beräknar skalärprodukten av två matriser.

Använda matrisformler i LibreOffice Calc

Du kan också skapa en "normal" formel där områdesreferenser, som parametrar, anges i en matrisformel. Resultatet hämtas från skärningspunkten mellan referensområdet och den rad eller kolumn där formeln påträffas. If there is no intersection or if the range at the intersection covers several rows or columns, a #VALUE! error message appears. Följande exempel illustrerar principen:

Skapa matrisformler

Om du har skapat en matrisformel med Funktionsguiden måste du markera kryssrutan Matris varje gång så att resultaten returneras som en matris. Annars kommer bara värdet i matrisens övre vänstra hörn att användas i beräkningen.

If you enter the array formula directly into the cell, you must use the key combination Shift + + Enter instead of the Enter key. Only then does the formula become an array formula.

note

Matrisformler visas inom klammerparenteser i LibreOffice Calc. Du kan inte skapa en matrisformel genom att skriva in parenteser manuellt.


warning

Cellerna i resultatmatrisen är automatiskt skyddade mot ändringar. Du kan däremot redigera eller kopiera matrisformeln genom att markera hela matrisområdet.


Använda infogade matriskonstanter i formler

Calc har stöd för infogade matriskonstanter i formler. En infogad matris är omgiven av klammerparenteserna '{' och '}'. Elementen kan antingen vara tal (även negativa tal), en logisk konstant (SANT och FALSKT) eller en literal sträng. Icke-konstanta uttryck tillåts ej. Matriserna kan ha en eller flera rader och en eller flera kolumner. Alla rader måste bestå av samma antal element och alla kolumnerna måste bestå av samma antal element.

Kolumnavgränsaren (avgränsar element i samma rad) och radavgränsaren är språk och regionberoende. I det här hjälpavsnitten används dock semikolon ';' och vertikalstrecket '|' för att ange kolumn- och radavgränsare. Till exempel så används i de engelska inställningarna kommatecken ',' som kolumnavgränsare och semikolon ';' som radavgränsare.

tip

You can view and change the row and column separator in - Calc - Formula - Separators.


Du kan inte kapsla matriser.

Exempel:

={1;2;3}

En matris med en rad bestående av de tre talen 1, 2 och 3.

To enter this array constant, you select three cells in a row, then you type the formula ={1;2;3} using the curly braces and the semicolons, then press + Shift + Enter.

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

En matris med två rader och tre värden på varje rad.

={0;1;2|FALSKT;SANT;"två"}

En kombinerad datamatris.

=SIN({1;2;3})

Om den anges som en matrisformel levererar den resultatet av tre SIN-beräkningar med argumenten 1, 2 och 3.

Redigera matrisformler

  1. Select the cell range or array containing the array formula. To select the whole array, position the cell cursor inside the array range, then press + /, where / is the Division key on the numeric keypad.

  2. Either press F2 or position the cursor in the input line. Both of these actions let you edit the formula.

  3. After you have made changes, press + Shift + Enter.

tip

Du kan formatera de olika delarna i en matris. Du kan till exempel ändra teckenfärgen. Markera ett cellområde och ange det attribut som du vill ändra.


Kopiera matrisformler

  1. Markera cellintervallet eller matrisen som innehåller matrisformeln.

  2. Either press F2 or position the cursor in the input line.

  3. Copy the formula into the input line by pressing + C.

  4. Select a range of cells where you want to insert the array formula and either press F2 or position the cursor in the input line.

  5. Paste the formula by pressing + V in the selected space and confirm it by pressing + Shift + Enter. The selected range now contains the array formula.

Justera ett matrisområde

Om du vill ändra utdatamatrisen gör du så här:

  1. Markera cellintervallet eller matrisen som innehåller matrisformeln.

  2. Under markeringen, till höger, visas en liten ikon som du kan zooma in och ut med i området med hjälp av musen.

note

När du justerar matrisområdet kommer matrisformeln inte att ändras automatiskt. Du ändrar bara det område där resultatet visas.


By holding down the key, you can create a copy of the array formula in the given range.

Villkorliga matrisberäkningar

En villkorlig matrisber√§kning √§r en matrisformel som inneh√•ller funktionen OM() eller V√ĄLJ(). Villkorsargumentet i formeln √§r en omr√•desreferens eller ett matrisresultat.

I följande exempel används >0-testet på formeln {=OM(A1:A3>0;"ja";"nej")} i alla celler i området A1:A3 och resultatet kopieras till motsvarande cell.

A

B (formel)

B (resultat)

1

1

{=OM(A1:A3>0;"ja";"nej")}

ja

2

0

{=OM(A1:A3>0;"ja";"nej")}

nej

3

1

{=OM(A1:A3>0;"ja";"nej")}

ja


F√∂ljande funktioner omfattar framtvingad matrishantering: KORREL, KOVAR, PREDIKTION, FTEST, SK√ĄRNINGSPUNKT, MDETERM, MINVERT, MMULT, TYPV√ĄRDE, PEARSON, SANNOLIKHET, RKV, LUTNING, STDFELYX, PRODUKTSUMMA, SUMMAX2MY2, SUMMAX2PY2, SUMMAXMY2, TTEST. Om du anv√§nder referenser som argument n√§r du anropar n√•gon av dessa funktioner, fungerar funktionen som matrisfunktion. I tabellen nedan finns ett exempel p√• framtvingad matrishantering:

A

B (formel)

B (resultat)

C (framtvingad matrisformel)

C (resultat)

1

1

=A1:A2+1

2

=PRODUKTSUMMA(A1:A2+1)

5

2

2

=A1:A2+1

3

=PRODUKTSUMMA(A1:A2+1)

5

3

=A1:A2+1

#V√ĄRDEFEL!

=PRODUKTSUMMA(A1:A2+1)

5


MMULT

Beräknar matrisprodukten av två matriser. Antalet kolumner i matris 1 måste vara lika stort som antalet rader i matris 2. Resultatmatrisen har lika många rader som kolumner.

Syntax

MMULT(Array 1; Array 2)

Array 1 represents the first array used in the array product.

Array 2 represents the second array with the same number of rows.

note

En mer ingående förklaring finns högst upp på den här sidan.


Example

Select a square range. Choose the MMULT function. Select Array 1, then select Array 2. Using the Function Wizard, mark the Array check box. Click OK. The output array will appear in the first selected range.

EXPTREND

Beräknar punkterna i en exponentialutveckling i en matris.

Syntax

GROWTH(DataY [; DataX [; NewDataX [; FunctionType]]])

DataY representerar Y-datamatrisen.

DataX (valfritt) representerar X-datamatrisen.

NyadataX (valfritt) representerar X-datamatrisen där värdena räknas om.

FunctionType (optional). If FunctionType = 0, functions in the form y = m^x will be calculated. Otherwise, y = b*m^x functions will be calculated.

I LibreOffice Calc-funktioner kan de parametrar som markeras som "valfria" bara utelämnas när inga efterföljande parametrar finns. I till exempel en funktion med fyra parametrar, där de två sista parametrarna markeras som "valfria", kan du utelämna parameter 4 eller parametrarna 3 och 4, men inte utelämna enbart parameter 3.

En mer ingående förklaring finns högst upp på den här sidan.

Example

This function returns an array and is handled in the same way as the other array functions. Select a range where you want the answers to appear and select the function. Select DataY. Enter any other parameters, mark Array and click OK.

MTRANS

Byter plats på en matris rader och kolumner.

Syntax

TRANSPONERA (Matris)

Parametern matris anger den matris i kalkylbladet som ska transponeras.

note

En allmän introduktion till matrisfunktioner finns högst upp på den här sidan.


Example

In the spreadsheet, select the range in which the transposed array can appear. If the original array has n rows and m columns, your selected range must have at least m rows and n columns. Then enter the formula directly, select the original array and press . Or, if you are using the Function Wizard, mark the Array check box. The transposed array appears in the selected target range and is protected automatically against changes.

A

B

C

D

1

2

3

4

5

2

6

7

8

9


The above table is 2 rows, 4 columns. In order to transpose it, you must select 4 rows, 2 columns. Assuming you want to transpose the above table to the range A7:B10 (4 rows, 2 columns) you must select the entire range and then enter the following:

TRANSPOSE(A1:D2)

Then make sure to enter it as matrix formula with . The result will be as follows:

A

B

7

2

6

8

3

7

9

4

8

10

5

9


FREKVENS

Indicates the frequency distribution in a one-column-array. The function counts the number of values in the Data array that are within the values given by the Classes array.

Syntax

FREKVENS(Data; Klasser)

Data representerar referensen till de värden som ska räknas.

Klasser anger matrisen för begränsningsvärdena.

note

En allmän introduktion till matrisfunktioner finns högst upp på den här sidan.


Example

I följande tabell visas osorterade mått i kolumn A. Kolumn B innehåller den övre gräns som du har angett för de informationsklasser som du vill dela in kolumn A i. Enligt den gräns som du angett i B1 returnerar funktionen FREQUENCY det antal mått som är mindre än eller lika med 5. Eftersom gränsen i B2 är 10 returnerar funktionen FREQUENCY det andra resultatet som antalet mått som är större än 5 och mindre än eller lika med 10. Den text du har angett i B6 (">25") har endast ett referenssyfte.

A

B

C

1

12

5

1

2

8

10

3

3

24

15

2

4

11

20

3

5

5

25

1

6

20

>25

1

7

16

8

9

9

7

10

16

11

33


Markera ett enskilt kolumnområde där frekvensen ska anges (i enlighet med klassgränserna). Du måste markera ett fält utöver den övre klassgränsen. I det här exemplet markerar du området C1:C6. Anropa funktionen FREQUENCY i Funktionsguiden. Markera Data-området i (A1:A11), och sedan det Klass-område i vilket du angett klassgränserna (B1:B6). Markera kryssrutan Matris och välj OK. Frekvensberäkningen visas i området C1:C6.

En mer ingående förklaring finns högst upp på den här sidan.

SUMMAXMY2

Lägger till kvadraterna av variansen mellan motsvarande värden i två matriser.

Syntax

SUMMAXMY2(MatrisX; MatrisY)

MatrisX representerar den första matrisen vars element ska subtraheras och delas upp.

MatrisY representerar den andra matrisen vars element ska subtraheras och delas upp.

En mer ingående förklaring finns högst upp på den här sidan.

EXPREGR

Med den här funktionen beräknas justeringen av angivna data som en exponentiell regressionskurva (y=b*m^x).

Syntax

LOGEST(DataY [; DataX [; FunctionType [; Stats]]])

DataY representerar Y-datamatrisen.

DataX (valfritt) representerar X-datamatrisen.

Funktionstyp (valfritt). Om Funktionstyp = 0, beräknas funktioner i formeln y = m^x. Annars beräknas funktionerna y = b*m^x.

Statistik (valfritt). Om Statistik=0 beräknas bara regressionskoefficienten.

I LibreOffice Calc-funktioner kan de parametrar som markeras som "valfria" bara utelämnas när inga efterföljande parametrar finns. I till exempel en funktion med fyra parametrar, där de två sista parametrarna markeras som "valfria", kan du utelämna parameter 4 eller parametrarna 3 och 4, men inte utelämna enbart parameter 3.

En mer ingående förklaring finns högst upp på den här sidan.

Example

Se REGR. Ingen kvadratsumma returneras emellertid.

PRODUKTSUMMA

Multiplicerar motsvarande element i de givna matriserna, och returnerar summan av dessa produkter.

Syntax

SUMPRODUCT(Array 1[; Array 2;][...;[Array 255]])

Array 1[; Array 2;][...;[Array 255]] represent arrays whose corresponding elements are to be multiplied.

At least one array must be part of the argument list. If only one array is given, all array elements are summed. If more than one array is given, they must all be the same size.

Example

A

B

C

D

1

2

3

4

5

2

6

7

8

9

3

10

11

12

13


=PRODUKTSUMMA(A1:B3;C1:D3) returnerar 397.

Beräkning: A1*C1+B1*D1+A2*C2+B2*D2+A3*C3+B3*D3

Du kan använda PRODUKTSUMMA när du beräknar skalärprodukten av två vektorer.

note

PRODUKTSUMMA returnerar ett enstaka tal, så du behöver inte ange funktionen som en matrisfunktion.


En mer ingående förklaring finns högst upp på den här sidan.

MINVERT

Returnerar den inversa matrisen.

Syntax

MINVERT(Matris)

Parametern matris är en kvadratisk matris som ska inverteras.

En mer ingående förklaring finns högst upp på den här sidan.

Example

Markera ett kvadratiskt område och välj MINVERT. Välj en utdatamatris, markera kryssrutan Matris och klicka på OK.

ENHETSMATRIS

Returnerar en enhetsmatris av en viss storlek. En enhetsmatris är en kvadratisk matris där alla diagonalelementen är 1 och de övriga elementen är 0.

Syntax

ENHETSMATRIS(Dimensioner)

Dimension anger enhetsmatrisens storlek.

note

En allmän introduktion till matrisfunktioner finns högst upp på den här sidan.


Example

Markera ett rektangulärt område i kalkylbladet, till exempel A1 till E5.

Välj funktionen ENHETSMATRIS utan att avmarkera området. Markera kryssrutan Matris. Ange önskade dimensioner för enhetsmatrisen, i det här fallet 5 och klicka på OK.

You can also enter the =MUNIT(5) formula in the last cell of the selected range (E5), and press .

Du kan nu se en enhetsmatris i området A1:E5.

En mer ingående förklaring finns högst upp på den här sidan.

MDETERM

Returnerar en matris determinant. Den här funktionen returnerar ett skalärvärde i den aktuella cellen, och du behöver inte definiera ett område för resultatet.

Syntax

MDETERM(Matris)

matris är en kvadratisk matris vars determinant ska beräknas.

note

You can find a general introduction to using Array functions on top of this page.


En mer ingående förklaring finns högst upp på den här sidan.

REGR

Returnerar en statistiktabell för en rak linje som bäst passar en datamängd.

Syntax

LINEST(data_Y [; data_X [; linearType [; stats]]])

data_Y är ett enskilt område med en rad eller kolumn som anger y-koordinaterna i en uppsättning datapunkter.

data_X är ett motsvarande enskilt område med rad eller kolumn som specificerar x-koordinaterna. Om data_X utelämnas blir det automatiskt 1, 2, 3, ..., n. Om det finns mer än en uppsättning variabler kan data_X vara ett område med motsvarande flera rader eller kolumner.

REGR hitter en rak linje y = a + bx som bäst passar datan, men hjälp av linjär regression("minsta kvadrat"metoden). Med mer än en uppsättning variabler är den raka linjen av form y = a + b1x1 + b2x2 ... + bnxn.

If linearType is FALSE the straight line found is forced to pass through the origin (the constant a is zero; y = bx). If omitted, linearType defaults to TRUE (the line is not forced through the origin).

If stats is omitted or FALSE only the top line of the statistics table is returned. If TRUE the entire table is returned.

LINEST returns a table (array) of statistics as below and must be entered as an array formula (for example by using + Shift + Return rather than just Return).

I LibreOffice Calc-funktioner kan de parametrar som markeras som "valfria" bara utelämnas när inga efterföljande parametrar finns. I till exempel en funktion med fyra parametrar, där de två sista parametrarna markeras som "valfria", kan du utelämna parameter 4 eller parametrarna 3 och 4, men inte utelämna enbart parameter 3.

En mer ingående förklaring finns högst upp på den här sidan.

Example

Den här funktionen returnerar en matris och hanteras på samma sätt som andra matrisfunktioner. Markera ett område för svaren och sedan funktionen. Välj data_Y. Du kan vid behov ange andra parametrar. Välj Matris och klicka på OK.

Resultatet som returnerades av systemet (om Statistik = 0) visar åtminstone lutningen av regressionslinjen och dess skärningspunkt med y-axeln. Om Statistik inte är lika med 0 visas andra resultat.

Andra resultat från REGR:

Titta på följande exempel:

A

B

C

D

E

F

G

1

x1

x2

y

Restvärde

2

4

7

100

4,17

-3,48

82,33

3

5

9

105

5,46

10,96

9,35

4

6

11

104

0,87

5,06

#SAKNAS

5

7

12

108

13,21

4

#SAKNAS

6

8

15

111

675,45

102,26

#SAKNAS

7

9

17

120

8

10

19

133


Kolumn A innehåller flera X1-värden, kolumn B innehåller flera X2-värden och kolumn C innehåller Y-värdena. Du har redan skrivit in värdena i kalkylbladet. Du har nu markerat E2:G6 i kalkylbladet och startat Funktionsguiden. För att funktionen REGR ska fungera måste du ha markerat kryssrutan Matris i Funktionsguiden. Markera sedan följande värden i kalkylbladet (eller skriv in dem med tangentbordet):

data_Y är C2:C8

data_X är A2:B8

Linjärtyp och Statistik är båda inställda på 1.

När du klickar på OK kommer LibreOffice Calc att fylla i exemplen ovan med REGR-värden enligt exemplet.

The formula in the Formula bar corresponds to each cell of the LINEST array {=LINEST(C2:C8;A2:B8;1;1)}.

Detta representerar de beräknade REGR-värdena:

E2 och F2: Lutning m på regressionslinjen y=b+m*x för värdena x1 och x2. Värdena anges i omvänd ordning, dvs. lutningen för x2 i E2 och lutningen för x1 i F2.

G2: B skär y-axeln.

E3 och F3: Standardfel för lutningsvärdet.

G3: Standardfelet för skärningspunkten

E4: RKV

F4: Standardfelet för regressionen som beräknats för y-värdet.

E5: F-värdet från variansanalysen.

F5: Frihetsgraden från variansanalysen.

E6: Summan av kvadratavvikelsen för de uppskattade y-värdena från det linjära medelvärdet.

F6: Summan av kvadratavvikelsen för det uppskattade y-värdet från givna y-värden.

En mer ingående förklaring finns högst upp på den här sidan.

SUMMAX2MY2

Returnerar summan av differensen för kvadraterna för motsvarande värden i två matriser.

Syntax

SUMMAX2MY2(MatrisX; MatrisY)

MatrisX representerar den första matrisen vars element ska delas upp och multipliceras.

MatrisY representerar den andra matrisen vars element ska delas upp och subtraheras.

En mer ingående förklaring finns högst upp på den här sidan.

SUMMAX2PY2

Returnerar summan av summorna för kvadraterna för motsvarande värden i två matriser.

Syntax

SUMMAX2PY2(MatrisX; MatrisY)

MatrisX representerar den första matrisen vars element ska delas upp och multipliceras.

MatrisY representerar den andra matrisen vars element ska kvadreras och adderas.

En mer ingående förklaring finns högst upp på den här sidan.

TREND

Returnerar värden utmed en linjär trend.

Syntax

TREND(DataY [; DataX [; NewDataX [; LinearType]]])

DataY representerar Y-datamatrisen.

DataX (valfritt) representerar X-datamatrisen.

NyadataX (valfritt) representerar matrisen för X-data, som används för att räkna om värden.

LinearType (optional). If LinearType = 0, then lines will be calculated through the zero point. Otherwise, offset lines will also be calculated. The default is LinearType <> 0.

I LibreOffice Calc-funktioner kan de parametrar som markeras som "valfria" bara utelämnas när inga efterföljande parametrar finns. I till exempel en funktion med fyra parametrar, där de två sista parametrarna markeras som "valfria", kan du utelämna parameter 4 eller parametrarna 3 och 4, men inte utelämna enbart parameter 3.

En mer ingående förklaring finns högst upp på den här sidan.

Example

Select a spreadsheet range in which the trend data will appear. Select the function. Enter the output data or select it with the mouse. Mark the Array field, click OK. The trend data calculated from the output data is displayed.

Please support us!