MMULT 関数

Excel 2007+

概要

MMULT関数は、2つの配列の行列積(マトリックス乗算)を計算し、結果を新しい配列として返します。array1の行数×array2の列数のサイズを持つ結果配列が生成され、線形代数やデータ分析で多用される高度な配列演算機能です。

構文

MMULT(配列1, 配列2)

パラメータ

パラメータ タイプ 必須 説明
配列1 Array はい 最初の配列。列数が配列2の行数と一致必須
配列2 Array はい 2番目の配列。行数が配列1の列数と一致必須

MMULT関数の使用

MMULTは線形代数計算や統計解析、マトリックス変換などで使用されます。配列1の列数と配列2の行数が一致する条件を満たす必要があり、結果はarray1の行数×array2の列数の配列となります。Microsoft 365ではEnterキー、従来版ではCtrl+Shift+Enterで配列数式として入力します。

MMULTの一般的な例

基本的な2×2行列の乗算

=MMULT(A1:B2,C1:D2)

A1:B2(2×2)とC1:D2(2×2)の行列積を計算し、2×2の結果配列を出力。出力範囲を選択後配列数式で入力。

ベクトルと行列の乗算

=MMULT(A1:A3,B1:D3)

3×1ベクトルと3×3行列の積を計算。結果は1×3ベクトルとして出力。線形変換に使用。

統計解析での使用

=MMULT(MMULT(B1:D3,B1:D3),A1:A3)

共分散行列とベクトルの乗算。多次元分析に活用。

よくある質問

1. array1の列数≠array2の行数、2. 配列に数値以外のデータ(空白・文字列)を含む、3. 配列数式として正しく入力されていない場合です。

Microsoft 365ではEnterキーだけで動的配列として動作。従来版では出力範囲選択後Ctrl+Shift+Enterが必要です。

いいえ。必ず配列として複数セルに出力されます。単一値の場合はINDEX関数などで一部抽出可能。

一般的なエラーと解決策

#VALUE! エラー

Cause: array1の列数とarray2の行数が一致しない、または配列に非数値データを含む

Solution: 1. 配列サイズを確認(例:2×3と3×2のみ可)、2. 空白・文字列を数値に修正、3. 配列数式として正しく入力

#SPILL! エラー(Microsoft 365)

Cause: 出力範囲に既存データがある

Solution: 出力先を空の範囲に設定するか、クリアする

単一値しか返らない

Cause: 配列数式として入力されていない

Solution: 出力範囲を選択→数式入力→Ctrl+Shift+Enter(従来版)

注記

  • array1: m×n、array2: n×p → 結果: m×p のサイズ
  • 配列はセル範囲、配列定数、名前の定義範囲で指定可能
  • 結果編集不可。再計算まで固定表示
  • MMULT結果をTRANSPOSEやMINVERSEと組み合わせると強力
  • 大規模行列では計算時間に注意

互換性

利用可能: Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021, Microsoft 365

利用不可:

コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 2007+