Module
Contents
Index 🔎︎

# 行列関数

この分類項目には、行列関数が含まれます。

## 行列とは

行列は、表計算ドキュメント内で連結された、値を含むセル範囲です。3 行と 3 列の範囲は 3 x 3 行列です。

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

最小の行列は 1 x 2 または 2 つの隣接セルを持つ 2 x 1 行列です。

## 行列式とは

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

行列式は、複数の値を処理できるだけではなく、複数の値を返すこともできます。行列式の結果も行列です。

上記の行列で個々のセルの値を 10 倍する場合、各セルや値に数式を適用する必要はありません。その代わりに使用する必要があるのは、1 つの行列式だけです。スプレッドシートの別の部分に 3 x 3 セルの範囲を選択し、数式 =10*A1:C3 を入力し、キーの組み合わせ Command Ctrl
+ Shift + Enter でこの入力を確定します。結果は、セル範囲 (A1:C3) の個々の値に因数 10 が掛けられる 3 x 3 の行列です。

乗算に加え、参照範囲 (行列) ではほかの演算子を使用することもできます。LibreOffice Calc では、加算 (+)、減算 (-)、乗算 (*)、除算 (/)、指数 (^)、連結 (&)、および比較 (=、<>、<、>、<=、>=) を行えます。演算子はセル範囲内の個々の値に対して使用でき、行列式が入力されている場合は結果を行列として返します。

行列式の比較演算子は、通常の数式と同じように、つまり、ゼロまたは空の文字列として、空白セルを扱います。たとえば、セル A1 と A2 が空白の場合、行列式 {=A1:A2=""} と {=A1:A2=0} は、両方 TRUE を含むセルの 1 列 2 行の行列を返します。

### 行列式をいつ使用するか

異なる値を使用して計算を繰り返す必要がある場合は、行列式を使用します。行列式を使用すると、後から計算方法を変える場合でも、行列式を更新するだけで済みます。行列式を追加するには、行列範囲全体を選択し、必要に応じて行列式に変更を加えます。

行列式は、メモリーを大量に消費するわけではないので、いくつかの値を計算するときに容量を節約することもできます。さらに、行列は複雑な計算を行う場合に不可欠となるツールでもあります。これは、複数のセル範囲を計算の中に含めることができるためです。LibreOffice は、2 つの行列を乗算する MMULT 関数や、2 つの行列のスカラー積を計算する SUMPRODUCT 関数など、さまざまな数学関数を提供します。

## LibreOffice Calc で行列式を使用する

また、パラメーターなどの参照範囲で行列式を示す「通常の」数式を作成することもできます。その結果は、参照範囲と、数式が含まれる行または列の共通部分から返されます。共通部分がない場合、または、共通部分の範囲に複数の行または列が含まれる場合は、#VALUE! エラーメッセージが表示されます。この概念を次の例で説明します。

### 行列式の作成

関数ウィザード を使用して行列式を作成する場合、作成するたびに 行列 チェックボックスをオンにして結果が行列に返されるようにする必要があります。チェックボックスをオンにしないと、計算される行列の左上のセルの値のみが返されます。

セルに直接行列式を入力する場合は、Enter キーだけではなく、(Shift) + (Command)(Ctrl)
+ (Enter) のキーの組み合わせを使用する必要があります。このキーの組み合わせを使用した場合だけ、数式は行列式にはなります。

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

結果行列のセルは、変更されないよう自動的に保護されます。ただし、行列のセル範囲全体を選択すると、行列式を編集またはコピーできます。

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

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

行列を入れ子にすることはできません。

例:

={1;2;3}

これは、1 つの行の 3 つの数字 1、2、3 で構成される行列です。

この行列定数を入力するには、1 つの行中の 3 つのセルを選択し、中括弧とセミコロンを使って、次の数式をタイプします。 ={1;2;3}そして、CommandCtrl
+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. 行列関数を含むセル範囲や行列を選択します。行列全体を選択するには、行列範囲内のセルにカーソルを置き、CommandCtrl
   +/（テンキーで/が割り当てられたキー）を押します。

2. F2 キーを押すか、数式入力ボックスにカーソルを移動します。どちらかのアクションにより、数式を編集します。

3. 変更を終了したら、(Command)(Ctrl)
   + (Shift) + (Enter) キーを押します。

行列の個別部分を設定できます。たとえば、フォント色を変更できます。セル範囲を選択し、希望の属性を変更します。

### 行列式のコピー

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

2. F2 キーを押すか、数式入力ボックスにカーソルを移動します。

3. 数式入力ボックスに数式をコピーするには、(Command)(Ctrl)
   + (C) キーを押します。

4. 行列式を挿入するセル範囲を選択し、F2 キーを押すか、数式入力ボックスにカーソルを移動します。

5. (Command)(Ctrl)
   + (V) キー押して選択範囲内に数式を貼り付け、(Command)(Ctrl)
   + (Shift) + (Enter) キーを押して確定します。すると、選択範囲内に行列式が入力されます。

### 行列範囲の調整

出力行列を編集する場合は、次を行います。

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

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

行列範囲を調整した場合、行列式は自動的に調整されません。この場合は、結果が表示される範囲を変更しているだけです。

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

### 条件付き行列計算

条件付き行列計算では、IF() または CHOOSE() 関数を含む行列式を使用します。数式における条件付き引数とは、範囲参照または行列の結果です。

次の例では、{=IF(A1:A3>0;"yes";"no")} 式の >0 検定が A1:A3 の範囲の各セルに適用され、結果が対応するセルにコピーされます。

| A | B (数式) | B (結果)
1 | 1 | {=IF(A1:A3>0;"yes";"no")} | Yes
2 | 0 | {=IF(A1:A3>0;"yes";"no")} | No
3 | 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 | 1 | =A1:A2+1 | 2 | =SUMPRODUCT(A1:A2+1) | 5
2 | 2 | =A1:A2+1 | 3 | =SUMPRODUCT(A1:A2+1) | 5
3 |  | =A1:A2+1 | #VALUE! | =SUMPRODUCT(A1:A2+1) | 5

## FREQUENCY

1 列で構成される行列の度数分布を示します。クラス行列の値の範囲にあるデータ行列の値の数を数えます。

### 構文

FREQUENCY(データ; クラス)

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

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

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

### 例

次の表では、列 A には並べ替えられていない測定値がリストされています。列 B には列 A のデータを分割するクラスの上限値が含まれます。B1 に入力された限界値に基づき、FREQUENCY 関数は 5 以下の測定値の数を返します。B2 の限界値が 10 であれば、FREQUENCY 関数は 2 つめの結果として 5 より大きく 10 以下の測定値を返します。B6 に入力したテキスト「>25」は、参照用としてのみ使用されます。

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

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

More explanations on top of this page.

## GROWTH

行列内の指数トレンドのポイントを計算します。

### 構文

GROWTH(データ Y; データ X; 新しいデータ X; 関数タイプ)

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

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

新しいデータ X (オプション) は、値を再計算する X データの行列を表します。

関数タイプ (オプション)。関数タイプ = 0 の場合は、y = m^x という形式の関数が計算されます。その他の場合は、y = b*m^x という関数が計算されます。

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.

### 例

この関数は行列を返し、ほかの行列関数と同じように処理されます。回答を表示する範囲と関数を選択します。データ Y を選択します。何らかのほかのパラメーターを入力し、「行列」 をマークして、「OK」 をクリックします。

## LINEST

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

### 構文

LINEST(データ Y; データ X; 線形タイプ; 統計)

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 は以下のように統計テーブル (行列) を返します。また、行列式として入力されなければなりません (つまり、単なる Return ではなく CommandCtrl
+Shift+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.

### 例

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

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

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

以下の例を検証します。

| A | B | C | D | E | F | G
1 | x1 | x2 | y |  | 残存価額 |  |
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 |  |  |  |

列 A にはいくつかの X1 値が、列 B にはいくつかの X2 値が、そして列 C には Y 値が含まれています。これらの値は、表計算ドキュメントにすでに入力されています。ここで、表計算ドキュメントに E2:G6 が設定され、関数ウィザード がオンになっています。LINEST 関数を実行するには、関数ウィザード の 行列 チェックボックスをオンにする必要があります。次に、表計算ドキュメントで以下の値を選択します (または、値をキーボードから入力します)。

データ Y は C2:C8 です。

データ X は A2:B8 です。

線形タイプ と 統計情報 の両方に 1 が設定されます。

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

数式 バーの数式は、LINEST 行列 {=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 の予測値の平方偏差の和

More explanations on top of this page.

## LOGEST

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

### 構文

LOGEST(データ Y; データ X; 関数タイプ; 統計)

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

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

関数タイプ (オプション)。関数タイプ = 0 の場合は、y = m^x という形式の関数が計算されます。その他の場合は、y = b*m^x という関数が計算されます。

統計値 (オプション)。統計値=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.

### 例

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

## MDETERM

行列の行列式を返します。この関数は、現在のセルの値を返します。結果を返すために範囲を指定する必要はありません。

### 構文

MDETERM(行列)

行列 とは、行列式が指定される平方行列です。

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

More explanations on top of this page.

## MINVERSE

逆行列を返します。

### 構文

MINVERSE(行列)

行列 とは、逆転させる平方行列です。

More explanations on top of this page.

### 例

範囲を選択してから、MINVERSE を選択します。次に、出力行列を選択し、行列 フィールドを選んでから OK をクリックします。

## MMULT

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

### 構文

MMULT(行列; 行列)

最初の位置にある 行列 は、行列積で使用される最初の行列です。

2 つめの 行列 とは、行数が同じの 2 つめの行列です。

More explanations on top of this page.

### 例

範囲を選択します。MMULT 関数を選びます。最初の 行列 を選択し、次に 2 つめの 行列 を選択します。関数ウィザード を使用し、行列 チェックボックスをオンにし、OK をクリックします。出力行列が、最初に選択された範囲に表示されます。

## MUNIT

一定サイズの単位平方行列を返します。単位行列とは、主要対角要素が 1、その他の行列要素が 0 になる平方行列です。

### 構文

MUNIT(寸法)

寸法 とは、行列の単位のサイズです。

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

### 例

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

範囲の選択を解除せずに、MUNIT 関数を選択します。「行列」 チェックボックスをマークします。使用する行列単位の次数を入力します。この場合は、5 を入力します。「OK」 をクリックします。

選択した範囲 (E5) の最後のセルに数式 =Munit(5) を入力し、Shift + Command + EnterShift + Ctrl + Enter
を押すこともできます。

範囲が A1:E5 の単位行列が示されます。

More explanations on top of this page.

## SUMPRODUCT

指定の行列内において一致する要素を乗算し、それらの積の和を返します。

### 構文

SUMPRODUCT(行列 1; 行列 2...行列 30)

行列 1、行列 2...行列 30 は、対応する要素が乗算される行列を表します。

少なくとも 1 つの行列が引数リストの一部でなければなりません。行列が 1 つしか与えられていない場合、すべての行列要素が合計されます。

### 例

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

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

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

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

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

More explanations on top of this page.

## SUMX2MY2

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

### 構文

SUMX2MY2(行列 X; 行列 Y)

行列 X は、要素が平方されて加算される最初の行列を表します。

行列 Y は、要素が平方されて減算される 2 番目の行列を表します。

More explanations on top of this page.

## SUMX2PY2

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

### 構文

SUMX2PY2(行列 X; 行列 Y)

行列 X は、要素が平方されて加算される最初の行列を表します。

行列 Y は、要素が平方されて加算される 2 番目の行列を表します。

More explanations on top of this page.

## SUMXMY2

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

### 構文

SUMXMY2(行列 X; 行列 Y)

行列 X は、要素が減算されて平方される最初の行列を表します。

行列 Y は、要素が減算されて平方される 2 番目の行列を表します。

More explanations on top of this page.

## TRANSPOSE

行列の行と列を入れ替えます。

### 構文

TRANSPOSE(行列)

行列 とは、表計算ドキュメントの行列の中で行と列を入れ替えるものを指します。

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

### 例

表計算ドキュメントで、行と列を入れ替えた行列を表示する範囲を選択します。元の行列が n 行と m 列で構成されている場合は、選択された範囲には少なくとも m 行と n 列なければなりません。次に、数式を直接入力してから元の行列を選択し、(Shift) + (Command) + (Enter)(Shift) + (Ctrl) + (Enter)
キーを押します。関数ウィザード を使用する場合は、行列 チェックボックスをオンにします。行と列を入れ替えた行列が選択した範囲に表示され、変更されないよう自動的に保護されます。

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

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

## TREND

線形トレンド上の値を返します。

### 構文

TREND(データ Y; データ X; 新しいデータ X; 線形タイプ)

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

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

新しいデータ X (オプション) は、値の再計算に使用される X データの行列を表します。

線形タイプ (オプション)。線形タイプ = 0 にすると、線はゼロ点を通るように計算されます。その他の場合は、オフセット線も計算されます。標準値は 線形タイプ <> 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.

### 例

トレンドデータを表示する表計算ドキュメント内の範囲を選択します。まず、関数を選択します。出力データを入力するか、出力データをマウスで選択します。行列 フィールドをマークし、OK をクリックします。すると、出力データから計算されたトレンドデータが示されます。

関連項目

Functions by Category