MMULT関数 – 数学/三角

MMULT関数 – 2つの配列(行列)の積を返す関数


1. 使い方と活用例

MMULT関数は、2つの配列(行列)の積を計算し、新しい行列を返す関数です。
線形代数の行列演算をExcelで実行したいときに使用され、統計分析や数理計画、財務モデルなどで活躍します。

2. 基本の書式

=MMULT(array1, array2)

3. 引数の説明

  • array1 – 必須。乗算の左側に置かれる最初の配列(m × n 行列)。
  • array2 – 必須。乗算の右側に置かれる2つ目の配列(n × p 行列)。

4. 使用シーン

  • 線形代数における行列積の計算を行いたい場合。
  • 重回帰分析や統計的な行列操作をExcelで実施したい場合。
  • スコア計算やウェイト付け集計など、複数のデータを組み合わせて数値を計算したい場合。

5. 応用のポイント

MMULT関数は配列数式であり、計算結果が複数セルに渡る場合、出力範囲を事前に選択してから数式を入力し、Ctrl + Shift + Enterで確定する必要があります(旧バージョンのExcel)。
Excel 365やExcel 2019以降では、動的配列に対応しており、Enterだけでスピル出力されます。
array1 の列数と array2 の行数が一致していない場合、#VALUE! エラーが返されます。

6. 具体例とその解説

次の2つの行列があるとします。
A1:B2(2行2列):
1 2
3 4

D1:D2(2行1列):
5
6

このとき、以下の式を使用します。

=MMULT(A1:B2, D1:D2)

計算は以下のように行われます。
1×5 + 2×6 = 17
3×5 + 4×6 = 39
したがって、結果は縦ベクトル {17; 39} になります。

7. 関連関数の紹介

  • TRANSPOSE関数 – 行列を転置(行と列を入れ替える)する関数
  • MINVERSE関数 – 正方行列の逆行列を返す関数
  • LINEST関数 – 最小二乗法による回帰分析を行う関数(内部でMMULTが使われる)
  • SUMPRODUCT関数 – 対応する要素同士の積の総和を求める関数(ベクトル積に似た処理)
  • LET関数 – 中間計算の定義や名前付けを行う関数

8. まとめ

MMULT関数は、Excelで行列の積を計算したい場合に不可欠な関数です。
統計分析や線形代数的処理を表計算で行うための強力なツールであり、動的配列の登場により、より直感的に扱えるようになりました。
正しい行列サイズに注意しながら使うことで、数式モデルの構築が可能になります。

9. 対応バージョン

Excel 2003以降のすべてのバージョンで使用可能です。
Excel 365およびExcel 2019以降では動的配列による出力にも対応しています。