Enhavo

# Array Functions

Ĉi tiu kategorio enhavas la tabelajn funkciojn.

## Kio estas tabelo?

Tabelo estas ligita ĉelaro en kalkultabelo kiu enhavas valorojn. Kvadrata ĉelaro de 3 vicoj kaj 3 kolumnoj estas 3 x 3 tabelo:

| A | B | C | D | E
1 | 7 | 31 | 33
2 | 95 | 17 | 2
3 | 5 | 10 | 50
4

La plej malgranda tabelo ebla estas 1 x 2 aŭ 2 x 1 tabelo kun du apudaj ĉeloj.

## Kio estas tabela formulo?

Tabela formulo estas formulo en kiu la unuopaj valoroj en ĉelaro estas taksataj. La diferenco inter tabela formulo kaj aliaj formuloj estas ke la tabela formulo traktas plurajn valorojn samtempe anstataŭ nur unu.

Tabela formulo ne nur povas trakti plurajn valorojn, sed ĝi povas ankaŭ liveri plurajn valorojn. La rezultoj de tabela formulo ankaŭ estas tabelo.

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 Command Ctrl + 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.

Krom multipliki, oni povas ankaŭ uzi aliajn operatorojn je la referita ĉelaro (tabelo). Per LibreOffice Calc, oni povas adicii (+), subtrahi (-), multipliki (*), dividi (/), uzi eksponentojn (^), kunmeti (&) kaj kompari (=, <>, <, >, <=, >=). Oni povas uzi la operatorojn ĉe ĉiu unuopa valoro en la ĉelaro kaj liveri la rezulton kiel tabelon per tabela formulo.

Comparison operators in an array formula treat empty cells in the same way as in a normal formula, that is, either as zero or as an empty string. For example, if cells A1 and A2 are empty the array formulas {=A1:A2=""} and {=A1:A2=0} will both return a 1 column 2 row array of cells containing TRUE.

### Kiam oni uzas tabelajn formulojn?

Uzu tabelan formulon se vi devas ripeti kalkulojn uzante diversajn valorojn. Se vi devas ŝanĝi la kalkulmetodon poste, simple modifu la tabelan formulon. Por enmeti tabelan formulon, elektu la tutan ĉelaron kaj tiam ŝanĝi laŭnecese la tabelan formulon..

Tabelaj formuloj ankaŭ estas spacoŝpara metodo kiam necesas kalkuli plurajn valorojn, ĉar ili ne estas tre memorintensaj. Plue, tabeloj estas esenca ilo por fari kompleksajn kalkulojn, ĉar vi povas trakti plurajn ĉelarojn en viaj kalkuloj. LibreOffice havas diversajn matematikajn funkciojn por tabeloj, ekzemple la funkcio MMULT por multipliki du tabelojn, kaj la funkcio SUMOPRODUTO por kalkuli la skalan produton de du tabeloj.

## Uzi tabelajn formulojn en LibreOffice Calc

### Implicit intersection of array formulas

You can also create a "normal" formula in which the reference range, such as parameters, indicate an array formula. This formula is also known as "implicit intersection" of array formula. The result is obtained from the intersection of the reference range and the rows or columns in which the formula is found. If there is no intersection or if the range at the intersection covers several rows or columns, a #VALUE! error message appears. The following example illustrates this concept:

In the table above, place the array formula in D1:

{=A1:A3 + 100}

Cells D1, D2, D3 have values 107, 195, 105 respectively.

Insert the formula below in E2, do not enter as array formula.

=A1:A3 + 100

Cells E1 and E3 are empty, Cell E2 has value 195. This is the implicit intersection of array formulas.

Insert formula below in E4, as in E2.

=A1:A3 + 100

Cell E4 display #VALUE!. Row 4 is out of the range A1:A3 of the formula.

### Krei tabelajn formulojn

Se oni kreas tabelan formulon per Funkcia Asistanto, oni devas marki la butonon Tabelo ĉiufoje por ke la rezultoj liveriĝas en tabelo. Alie, liveriĝas nur la valoro en la supra-maldekstra ĉelo de la ĉelaro kalkulata.

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

Tabelaj formuloj vidiĝas en krampoj en LibreOffice Calc. Oni ne povas krei tabelajn formulojn mane enigante la krampojn.

The cells in a results array are automatically protected against changes. However, you can edit, delete or copy the array formula by selecting the entire array cell range.

### Using Inline Array Constants in Formulas

Calc supports inline matrix/array constants in formulas. An inline array is surrounded by curly braces '{' and '}'. Elements can be each a number (including negatives), a logical constant (TRUE, FALSE), or a literal string. Non-constant expressions are not allowed. Arrays can be entered with one or more rows, and one or more columns. All rows must consist of the same number of elements, all columns must consist of the same number of elements.

The column separator (separating elements in one row) and the row separator are language and locale dependent. But in this help content, the ';' semicolon and '|' pipe symbol are used to indicate the column and row separators, respectively. For example, in the English locale, the ',' comma is used as the column separator, while the ';' semicolon is used as the row separator.

You can view and change the row and column separator in LibreOffice - Preferences Tools - Options - Calc - Formula - Separators.

Arrays can not be nested.

Ekzemploj:

={1;2;3}

An array with one row consisting of the three numbers 1, 2, and 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 Command Ctrl + Shift + Enter.

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

An array with two rows and three values in each row.

={0;1;2|FALSE;TRUE;"two"}

A mixed data array.

=SIN({1;2;3})

Entered as a matrix formula, delivers the result of three SIN calculations with the arguments 1, 2, and 3.

### Redakti tabelan formulon

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 Command Ctrl + /, 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 Command Ctrl + Shift + Enter.

Oni povas formati la diversajn partojn de tabelo. Ekzemple, oni povas ŝanĝi la koloron de la tiparo. Elektu la ĉelaron kaj tiam ŝanĝu la atributon ŝanĝotan.

### Deleting Array Formulae

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 Command Ctrl + /, where / is the division key on the numeric keypad.

2. Press Delete to delete the array contents, including the array formula, or press Backspace and this brings up the Delete Contents dialog box. Select Formula or Delete All and click OK.

### Kopii tabelan formulon

1. Eleku la ĉelaron aŭ tabelon kiu enhavas la tabelan formulon.

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

3. Copy the formula into the input line by pressing Command Ctrl + 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 Command Ctrl + V in the selected space and confirm it by pressing Command Ctrl + Shift + Enter. The selected range now contains the array formula.

### Modifi tabelan ĉelaron

Se vi volas modifi la eligan tabelon, faru jene:

1. Eleku la ĉelaron aŭ tabelon kiu enhavas la tabelan formulon.

2. Sub la elektaĵo, dekstre, vi vidos malgrandan bildsimbolon per kiu vi povas zomi aŭ malzomi ĉe la ĉelaro per la muso.

Kiam vi modifas la tabelan ĉelaron, la tabela formulo ne aŭtomate ŝanĝiĝas. Vi nur ŝanĝas la ĉelaron en kiu la rezulto aperu.

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

### Kondiĉaj tabelaj kalkuloj

Kondiĉa tabela kalkulo estas tabela aŭ matrica formulo kiu inkluzivas funkcion SE() aŭ ELEKTI(). La kondiĉa argumento en la formulo estas area referenco aŭ matrica rezulto.

En la sekva ekzemplo, la testo >0 de la formulo {=SE(A1:A3>0;"jes";"ne")} aplikiĝas al ĉiu ĉelo en la ĉelaro A1:A3 kaj la rezulto kopiiĝas al la rilata ĉelo.

| A | B (formulo) | B (rezulto)
1 | 1 | {=SE(A1:A3>0;"jes";"ne")} | jes
2 | 0 | {=SE(A1:A3>0;"jes";"ne")} | ne
3 | 1 | {=SE(A1:A3>0;"jes";"ne")} | jes

La sekvaj funkcioj ebligas trudan tabelan traktadon: KOREL, KOV, PROGNOZO, FTEST, ĈEORIGINA.ORDINATO, MDETERM, MINVERSIGI, MMULT, MODO, PEARSON.KVADRATA, PROB, RSQ, INKLINO, NORMEYX, SUMOPRODUTO, SUMO.X2MY2, SUMO.X2PY2, SUMO.XMY2, TTEST. Se vi uzas areajn referencojn kiel argumentojn kiam vi vokas iun el tiuj funkcioj, la funkcio kondutas kiel tabela funkcio. La jena tabelo donas ekzemplon de truda tabela traktado.

| A | B (formulo) | B (rezulto) | C (truda tabela formulo) | C (rezulto)
1 | 1 | =A1:A2+1 | 2 | =SUMOPRODUTO(A1:A2+1) | 5
2 | 2 | =A1:A2+1 | 3 | =SUMOPRODUTO(A1:A2+1) | 5
3 |  | =A1:A2+1 | #VALORO! | =SUMOPRODUTO(A1:A2+1) | 5

## FREKVENCO

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.

#### Sintakso

FREKVENCO(Datumoj; Klasoj)

Datumoj reprezentas la referencon al la valoroj nombrotaj.

Klasoj reprezentas la tabelon de valoroj.

This function ignores any text or empty cell within a data range. If you suspect wrong results from this function, look for text in the data ranges. To highlight text contents in a data range, use the value highlighting feature.

Ĝenerala enkonduko al tabelaj funkcioj troviĝas ĉe la supro de ĉi tiu paĝo.

#### Ekzemplo

In the following table, column A lists unsorted measurement values. Column B contains the upper limit you entered for the classes into which you want to divide the data in column A. According to the limit entered in B1, the FREQUENCY function returns the number of measured values less than or equal to 5. As the limit in B2 is 10, the FREQUENCY function returns the second result as the number of measured values that are greater than 5 and less than or equal to 10. The text you entered in B6, ">25", is only for reference purposes.

| 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 |  |

Select a single column range in which to enter the frequency according to the class limits. You must select one field more than the class ceiling. In this example, select the range C1:C6. Call up the FREQUENCY function in the Function Wizard. Select the Data range in (A1:A11), and then the Classes range in which you entered the class limits (B1:B6). Select the Array check box and click OK. You will see the frequency count in the range C1:C6.

More explanations on top of this page.

## KRESKO

Kalkulas la punktojn de eksponenta tendenco en tabelo.

#### Sintakso

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

DataY represents the Y Data array.

DataX (optional) represents the X Data array.

NewDataX (optional) represents the X data array, in which the values are recalculated.

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

In the LibreOffice Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

More explanations on top of this page.

#### Ekzemplo

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.

## LINSTIM

Returns a table of statistics for a straight line that best fits a data set.

#### Sintakso

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

data_Y is a single row or column range specifying the y coordinates in a set of data points.

data_X is a corresponding single row or column range specifying the x coordinates. If data_X is omitted it defaults to 1, 2, 3, ..., n. If there is more than one set of variables data_X may be a range with corresponding multiple rows or columns.

LINEST finds a straight line y = a + bx that best fits the data, using linear regression (the "least squares" method). With more than one set of variables the straight line is of the 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 Command Ctrl + Shift + Return rather than just Return).

In the LibreOffice Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

More explanations on top of this page.

#### Ekzemplo

This function returns an array and is handled in the same way as the other array functions. Select a range for the answers and then the function. Select data_Y. If you want, you can enter other parameters. Select Array and click OK.

The results returned by the system (if stats = 0), will at least show the slope of the regression line and its intersection with the Y axis. If stats does not equal 0, other results are to be displayed.

### Aliaj rezultoj de LINSTIM:

Rigardu la jenajn ekzemplojn:

| A | B | C | D | E | F | G
1 | x1 | x2 | J |  | Retrova valoro |  |
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 | #NA
5 | 7 | 12 | 108 |  | 13,21 | 4 | #NA
6 | 8 | 15 | 111 |  | 675,45 | 102,26 | #NA
7 | 9 | 17 | 120 |  |  |  |
8 | 10 | 19 | 133 |  |  |  |

Kolumno A enhavas plurajn X1-valorojn, kolumno B plurajn X2-valorojn kaj kolumno C la Y-valorojn. Vi jam enigis tiujn valorojn en vian kalkultabelon. Vi ĵus kreis je E2:G6 kaj aktivigis Funkcian Asistanton. Por ke la funkcio LINSTIM efiku, vi devas esti markinta la butonon Tabelo en Funkcia Asistanto. Sekve elektu la jenajn valorojn (aŭ enigu ilin per la klavaro):

data_Y is C2:C8

data_X is A2:B8

linearType and stats are both set to 1.

Tuj kiam vi alklakas al Akcepti, LibreOffice Calc plenigas la supran ekzemplon per la LINSTIM-valoroj montritaj en la ekzemplo.

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

Tio reprezentas la kalkulitajn LINSTIM-valorojn:

E2 and F2: Slope m of the regression line y=b+m*x for the x1 and x2 values. The values are given in reverse order; that is, the slope for x2 in E2 and the slope for x1 in F2.

G2: interkovro b kun la y-akso.

E3 kaj F3: La norma eraro de la inklina valoro.

E3 kaj F3: La norma eraro de la interkovro.

E4: RSQ

F4: La norma eraro de la regresio kalkulita por la Y-valoro.

E5: La F-valoro de la varieca analizo.

F5: La gradoj de libereco el la varieca analizo.

E6: La sumo de la kvadratigita devio de la taksitaj Y-valoroj for de ilia lineara mezumo.

F6: La sumo de la kvadratigita devio de la taksitaj Y-valoroj for de la donitaj Y-valoroj.

More explanations on top of this page.

## LOGSTIM

Ĉi tiu funkcio kalkulas la modifon de la enigitaj datumoj kiel eksponenta regresia kurbo (y=b*m^x).

#### Sintakso

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

DataY represents the Y Data array.

DataX (optional) represents the X Data array.

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

Statistiko (malnepra). Se Statistiko=0, kalkulas nur la regresian koeficienton.

In the LibreOffice Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

More explanations on top of this page.

#### Ekzemplo

Vidu je LINSTIM. Tamen, ne liveras kvadratan sumon.

## MDETERM

Liveras la tabelan determinanton de tabelo. Ĉi tiu funkcio liveras valoron en la aktuala ĉelo; ne necesas difini ĉelaron por la rezulto.

#### Sintakso

MDETERM(Array)

Tabelo reprezentas kvadratan tabelon en kiu la determinantoj estas difinitaj.

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

More explanations on top of this page.

## MINVERSIGI

Liveras la inversajn tabelon.

#### Sintakso

MINVERSE(Array)

tabelo reprezentas kvadratan tabelon invertotan.

More explanations on top of this page.

#### Ekzemplo

Elektu kvadratan ĉelaron kaj elektu je MINVERSIGI. Elektu la eligan tabelon, elektu la kampon Tabelo kaj alklaku je Akcepti.

## MMULT

Kalkulas la tabelan produton de du tabeloj. La nombro da kolumnoj por tabelo 1 devas kongrui la nombron da vicoj por tabelo 2. La kvadrata tabelo havas egalan nombron da vicoj kaj kolumnoj.

#### Sintakso

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.

More explanations on top of this page.

#### Ekzemplo

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.

## MUNIT

Liveras la unitan kvadratan tabelon de donita grando. La unita tabelo estas kvadrata tabelo kie la ĉefaj diagonalaj elementoj egalas al 1 kaj ĉiuj aliaj tabelaj elementoj egalas al 0.

#### Sintakso

MUNIT(Dimensio)

Dimensio referas al la grando de la tabela unito.

Ĝenerala enkonduko al tabelaj funkcioj troviĝas ĉe la supro de ĉi tiu paĝo.

#### Ekzemplo

Elektu kvadratan ĉelaron en la kalkultabelo, ekzemple de A1 ĝis E5.

Sen malelekti la ĉelaron, elektu la funkcion MUNITO. Marku la butonon Tabelo. Enigu la deziratan dimensiojn por la tabela unito, ĉi-kaze 5, kaj alklaku al Akcepti.

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

Vi nun vidas unitan tabelon en ĉelaro A1:E5.

More explanations on top of this page.

## SUMO.X2MY2

Liveras la sumon de la diferenco de kvadratoj de rilataj valoroj en du tabeloj.

#### Sintakso

SUMX2MY2(ArrayX; ArrayY)

ArrayX represents the first array whose elements are to be squared and added.

ArrayY represents the second array whose elements are to be squared and subtracted.

More explanations on top of this page.

## SUMO.X2PY2

Liveras la sumon de la sumo de kvadratoj de rilataj valoroj en du tabeloj.

#### Sintakso

SUMX2PY2(ArrayX; ArrayY)

ArrayX represents the first array whose elements are to be squared and added.

ArrayY represents the second array, whose elements are to be squared and added.

More explanations on top of this page.

## SUMO.XMY2

Adicias la kvadratojn de la varianco inter rilataj valoroj en du tabeloj.

#### Sintakso

SUMXMY2(ArrayX; ArrayY)

ArrayX represents the first array whose elements are to be subtracted and squared.

ArrayY represents the second array, whose elements are to be subtracted and squared.

More explanations on top of this page.

## SUMOPRODUTO

Multiplikas rilatajn elementojn en la donitaj tabeloj, kaj liveras la sumon de tiuj produtoj.

#### Sintakso

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.

#### Ekzemplo

| A | B | C | D
1 | 2 | 3 | 4 | 5
2 | 6 | 7 | 8 | 9
3 | 10 | 11 | 12 | 13

=SUMOPRODUTO(A1:B3;C1:D3) liveras je 397.

Kalkulo: A1*C1 + B1*D1 + A2*C2 + B2*D2 + A3*C3 + B3*D3

Oni povas uzi je SUMOPRODUTO por kalkuli la skalan produton de du vektoroj.

SUMOPRODUTO liveras unu numeron. Ne necesas enigi la funkcion kiel tabelan funkcion.

More explanations on top of this page.

## TENDENCO

Liveras valorojn laŭlonge linearan tendencon.

#### Sintakso

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

DataY represents the Y Data array.

DataX (optional) represents the X Data array.

NewDataX (optional) represents the array of the X data, which are used for recalculating values.

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.

In the LibreOffice Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

More explanations on top of this page.

#### Ekzemplo

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.

## TRANSPONI

Transponas la vicojn kaj kolumnojn de tabelo.

#### Sintakso

TRANSPOSE(Array)

tabelo reprezentas la tabelon en la kalkultabelo transponotan.

Ĝenerala enkonduko al tabelaj funkcioj troviĝas ĉe la supro de ĉi tiu paĝo.

#### Ekzemplo

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 Shift + Command + Enter Shift + Ctrl + Enter. 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 Shift + Command + Enter Shift + Ctrl + Enter. The result will be as follows:

| A | B
7 | 2 | 6
8 | 3 | 7
9 | 4 | 8
10 | 5 | 9

Rilataj temoj

Functions by Category