MINVERSE・MDETERM関数の使い方|逆行列と行列式・エクセルで連立方程式を解く【実機で解説】

MINVERSE・MDETERM関数の使い方|逆行列と行列式・エクセルで連立方程式を解く【実機で解説】

MINVERSE 関数は逆行列、MDETERM 関数は行列式を求める関数です。これを使うと、Excel で連立方程式を解けます。

例:「りんご(150 円)とみかん(80 円)を合わせて 10 個買ったら 1,150 円だった。それぞれ何個?」は、x+y=10、150x+80y=1150 です。係数を表にして =MMULT(MINVERSE(A2:B3),C2:C3) と書くと、x と y が出ます。この記事では、実際の Excel で確かめた結果で説明します。

練習用Excelファイル(無料ダウンロード)
連立方程式の係数の表と、この記事の MINVERSE・MDETERM・MMULT の式をまとめた練習ファイルです。係数を書き換えて別の問題も解けます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

MINVERSE・MDETERM 関数の書き方

=MDETERM(配列)
=MINVERSE(配列)
引数意味
配列行の数と列の数が同じ(正方形の)数の範囲。ここでは係数の A2:B3

連立方程式の答えは「逆行列×右辺」です。MMULT で掛け算します(MMULT関数の使い方)。

1. 行列式を出す(MDETERM)

係数の 2 行×2 列の行列式です(1×80-1×150)。

=MDETERM(A2:B3)
エクセルのMDETERM関数で連立方程式の係数の行列式を求めた画面
エクセルのMDETERM関数で連立方程式の係数の行列式を求めた画面

結果は -70 でした。行列式が 0 でなければ、答えが 1 つに決まります。

2. 逆行列を出す(MINVERSE)

逆行列は、元の行列に掛けると「1 と 0 の行列(単位行列)」になる行列です。2 行×2 列で返ります。

=MINVERSE(A2:B3)
エクセルのMINVERSE関数で連立方程式の係数の逆行列を求めた画面
エクセルのMINVERSE関数で連立方程式の係数の逆行列を求めた画面

1 行目は -1.1429・0.0143、2 行目は 2.1429・-0.0143 でした。

3. 連立方程式の答えを出す

逆行列に右辺(C2:C3)を掛けると、x と y が縦に並びます。

=MMULT(MINVERSE(A2:B3),C2:C3)
エクセルのMINVERSE関数とMMULTで連立方程式の答えのxとyを1つの式で求めた画面
エクセルのMINVERSE関数とMMULTで連立方程式の答えのxとyを1つの式で求めた画面

x(りんご)は 5 個、y(みかん)は 5 個でした。150×5+80×5=1,150 で、たしかに合っています。

【実機で検証】MINVERSE でつまずくところ

エクセルのMINVERSE関数とMDETERM関数で行列式が0のときや正方形でない範囲のときの結果を確かめた画面
エクセルのMINVERSE関数とMDETERM関数で行列式が0のときや正方形でない範囲のときの結果を確かめた画面
ためしたこと式結果
行列式が 0(A12:B13)の MDETERM=MDETERM(A12:B13)0
行列式が 0 の MINVERSE=MINVERSE(A12:B13)#NUM!
正方形でない範囲(A2:C3)=MDETERM(MINVERSE!A2:C3)#VALUE!
答えを元の式に入れて確かめる(150x+80y)=SUMPRODUCT(MINVERSE!A3:B3,TRANSPOSE(MMULT(MINVERSE(MINVERSE!A2:B3),MINVERSE!C2:C3)))1150
逆行列×元の行列の左上=INDEX(MMULT(MINVERSE(MINVERSE!A2:B3),MINVERSE!A2:B3),1,1)1

2 行目が 1 行目の 2 倍の行列は、行列式が 0 になり、MINVERSE は #NUM! になりました。答えが 1 つに決まらない(逆行列がない)ためです。

行と列の数がちがう範囲(2 行×3 列)を指定すると #VALUE! です。係数だけの正方形の範囲を指定します。

答えを 150x+80y に入れると 1150 で、右辺と一致しました。逆行列に元の行列を掛けた左上は 1 で、単位行列になることも確かめられます。

よくある質問

3 つの未知数(x・y・z)のときは?

係数を 3 行×3 列、右辺を 3 行×1 列にして、同じ =MMULT(MINVERSE(係数),右辺) で解けます。

答えが 0.9999999 のようになるときは?

小数の計算でわずかな誤差が出ることがあります。=ROUND(…,6) などで丸めて表示します。

ゴールシークでも解ける?

答えが 1 つの式なら ゴールシーク、条件がいくつもあるならソルバーでも解けます。

練習用Excelファイル(無料ダウンロード)
この記事の例をまとめた練習ファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

あわせて読みたい:関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次