# Array Functions

このカテゴリーには、行列関数があります。

## 行列とは

 A B C 7 31 33 95 17 2 5 10 50

## 行列式とは

セル範囲内の個々の値が考慮される数式を、行列式と呼びます。行列式とほかの数式との違いは、前者は一度に複数の値を処理するのに対し、後者は一度に 1 つの値しか処理しない点です。

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.

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

### 行列式の作成

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.

LibreOffice Calc では、行列式は中かっこに囲まれて表示されます。中かっこを手入力しても行列式は作成できません。

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.

### 数式でインライン行列定数を使用する

Calc は数式でのインライン行列定数をサポートしています。 インライン行列は、中括弧「{」および「}」で囲まれています。 要素は、数字 (負の数を含む)、論理定数 (TRUE、FALSE)、文字列のいずれかにできます。 定数以外の式は許可されません。 行列は 1 行以上の行、1 列以上の列で入力できます。 すべての行は同一数の要素で構成される必要があり、すべての列は同一数の要素で構成される必要があります。

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 - Calc - Formula - Separators.

={1;2;3}

これは、1 つの行の 3 つの数字 1、2、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}

これは、2 つの行があり、それぞれの行に 3 つの値のある行列です。

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

これは、組み合わされたデータ行列です。

=SIN({1;2;3})

これは、行列式として入力されたものであり、引数 1、2、3 で 3 つの SIN 計算の結果を提供します。

### 行列式の編集

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.

### 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 + /, 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.

### 行列式のコピー

1. 行列式を含むセル範囲または行列を選択します。

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.

### 行列範囲の調整

1. 行列式を含むセル範囲または行列を選択します。

2. 選択したセルの右下に、マウスで拡大縮小するための小さなアイコンがあります。

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

### 条件付き行列計算

 A B (数式) B (結果) 1 {=IF(A1:A3>0;"yes";"no")} Yes 0 {=IF(A1:A3>0;"yes";"no")} No 1 {=IF(A1:A3>0;"yes";"no")} Yes

CORREL、COVAR、FORECAST、FTEST、INTERCEPT、MDETERM、MINVERSE、MMULT、MODE、PEARSON、PROB、RSQ、SLOPE、STEYX、SUMPRODUCT、SUMX2MY2、SUMX2PY2、SUMXMY2、および TTEST 関数は、強制的な行列処理を行います。これらの関数のいずれかを呼び出すときに、範囲参照を引数として使用すると、関数は行列式のようになります。強制的な行列処理の例を次の表に示します。

 A B (数式) B (結果) C (強制的な行列式) C (結果) 1 =A1:A2+1 2 =SUMPRODUCT(A1:A2+1) 5 2 =A1:A2+1 3 =SUMPRODUCT(A1:A2+1) 5 =A1:A2+1 #VALUE! =SUMPRODUCT(A1:A2+1) 5

## FREQUENCY

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

FREQUENCY(データ; クラス)

データ とは、数える対象となる値の参照です。

クラス とは、限界値の行列です。

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.

このページの一番上から、行列関数に関する一般情報を探せます。

#### Example

 A B C 12 5 1 8 10 3 24 15 2 11 20 3 5 25 1 20 >25 1 16 9 7 16 33

クラスの上限値よりも大きい値の頻度を入力する、単独のセル範囲を選択します。クラスの上限値よりも 1 フィールド多く選択しなければなりません。ここでは、C1:C6 を選択します。関数ウィザード で FREQUENCY 関数を呼び出します。データ の測定範囲を (A1:A11) で選択し、次にクラス限界 (B1:B6) を入力する クラス の列を選びます。行列 チェックボックスをオンにし、OK をクリックします。最初に選択された範囲 C1:C6 に頻度が表示されます。

## GROWTH

#### Syntax

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

データ Y は、Y データ行列を表します。

データ X (オプション) は、X データ行列を表します。

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

LibreOffice Calc の関数のうち、パラメーターが"optional"とマークされたものは省略することができます。例えば、関数に４つのパラメーターがあった場合、最後の２個のパラメーターに"optional"が設定されていれば、４個目のパラメーターもしくは３個目と４個目のパラメーターを省略できます。ただし、３個目のパラメーターだけを省略することはできません。

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

## LINEST

データグループにもっとも適合した直線の統計値のテーブル (表) を返します。

#### Syntax

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

data_Y はデータポイントグループの中で Y 座標を示す 1 行または列の範囲です。

data_X は、対応する 1 つの行、または、X 座標群を記述したカラム範囲です。もし、data_x が省略された場合、デフォルトは 1, 2, 3, ..., n になります。1 つ以上の変数のセットがある場合、data_Xは対応する複数の行または列の範囲になるかもしれません。

LINEST は、線形回帰 (最小二乗法) を使って、もっともデータに適合する直線 y = a + bx を見つけます。1 つ以上の変数がある場合、その直線は 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).

LibreOffice Calc の関数のうち、パラメーターが"optional"とマークされたものは省略することができます。例えば、関数に４つのパラメーターがあった場合、最後の２個のパラメーターに"optional"が設定されていれば、４個目のパラメーターもしくは３個目と４個目のパラメーターを省略できます。ただし、３個目のパラメーターだけを省略することはできません。

#### Example

この関数は行列を返し、ほかの行列関数と同じように処理されます。回答範囲と関数を選択します。データ Y を選択します。必要な場合は、ほかのパラメーターを入力します。「行列」 を選択し、「OK」 をクリックします。

(統計が 0 の場合に) システムによって返される結果は、少なくとも回帰直線と回帰直線と Y 軸の交差を示します。統計が 0 でない場合は、ほかの結果が表示されます。

### その他の LINEST の結果は以下のとおりです。

 A B C D E F x1 x2 y 残存価額 4 7 100 4,17 -3,48 82,33 5 9 105 5,46 10,96 9,35 6 11 104 0,87 5,06 #NA 7 12 108 13,21 4 #NA 8 15 111 675,45 102,26 #NA 9 17 120 10 19 133

データ Y は C2:C8 です。

データ X は A2:B8 です。

OK をクリックすると、LibreOffice Calc は上の例に LINEST 値を入力します。

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

これは計算結果である LINEST 値です:

E2 と* F2:x1 と x2 の値に対する回帰直線 y=b+m*x の傾き m。値は逆方向に指定されます。つまり、x2 の傾きは E2、x1 の傾きは F2 に指定されます。

G2: y 軸との交差 b

E3 および F3: 傾き値の標準誤差

G3: 切片の標準誤差

E4: RSQ

F4: Y 値の回帰の標準誤差

E5: 差異分析から得られる F 値

F5: 差異分析から得られる自由度

E6: 線形平均から導いた、Y の予測値の平方偏差の和

F6: 一定の Y 値から導いた、Y の予測値の平方偏差の和

## LOGEST

この関数は、入力され、調整されたデータを指数回帰曲積 (y=b*m^x) として計算します。

#### Syntax

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

データ Y は、Y データ行列を表します。

データ X (オプション) は、X データ行列を表します。

LibreOffice Calc の関数のうち、パラメーターが"optional"とマークされたものは省略することができます。例えば、関数に４つのパラメーターがあった場合、最後の２個のパラメーターに"optional"が設定されていれば、４個目のパラメーターもしくは３個目と４個目のパラメーターを省略できます。ただし、３個目のパラメーターだけを省略することはできません。

#### Example

LINEST を参照してください。ただし、平方和は返されません。

## MDETERM

#### Syntax

MDETERM(行列)

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

MINVERSE(行列)

## MMULT

2 つの行列の行列積を計算します。行列 1 の列数は、行列 2 の行数と一致しなければなりません。平方行列は、同数の行と列を持ちます。

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

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

## MUNIT

#### Syntax

MUNIT(寸法)

このページの一番上から、行列関数に関する一般情報を探せます。

#### Example

A1 ～ E5 など、表計算ドキュメント内で範囲を選択します。

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

## SUMPRODUCT

#### 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 2 3 4 5 6 7 8 9 10 11 12 13

=SUMPRODUCT(A1:B3;C1:D3) は、397 を返します。

SUMPRODUCT を使用すると、2 つの範囲のスカラー積を計算できます。

SUMPRODUCT は単一の値を返すので、関数を行列式として入力する必要はありません。

## SUMX2MY2

2 つの行列において一致する値の平方差の和を返します。

#### Syntax

SUMX2MY2(行列 X; 行列 Y)

## SUMX2PY2

2 つの行列において一致する値の平方和の和を返します。

#### Syntax

SUMX2PY2(行列 X; 行列 Y)

## SUMXMY2

2 つの行列で一致する値の偏差の平方を加算します。

#### Syntax

SUMXMY2(行列 X; 行列 Y)

## TRANSPOSE

#### Syntax

TRANSPOSE(行列)

このページの一番上から、行列関数の使用に関する一般情報を探せます。

#### 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 2 3 4 5 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 2 6 3 7 4 8 5 9

## TREND

#### Syntax

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

データ Y は、Y データ行列を表します。

データ X (オプション) は、X データ行列を表します。

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.

LibreOffice Calc の関数のうち、パラメーターが"optional"とマークされたものは省略することができます。例えば、関数に４つのパラメーターがあった場合、最後の２個のパラメーターに"optional"が設定されていれば、４個目のパラメーターもしくは３個目と４個目のパラメーターを省略できます。ただし、３個目のパラメーターだけを省略することはできません。

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

ご支援をお願いします！