Как умножить матрицы в Excel: от простых примеров до сложных вычислений

Умножение матриц в Microsoft Excel — задача, с которой сталкиваются студенты, инженеры и аналитики данных. Несмотря на кажущуюся сложность, электронные таблицы предоставляют встроенные инструменты для работы с матричными операциями без необходимости писать код или использовать специализированное ПО. В этой статье мы разберём не только базовые методы перемножения с помощью функции МУМНОЖ, но и нюансы работы с обратными матрицами, определителями, а также типичные ошибки, которые могут возникнуть при вычислениях.

Важно понимать, что умножение матриц — это не поэлементное перемножение, а операция, подчинённая строгим математическим правилам. Например, количество столбцов первой матрицы должно совпадать с количеством строк второй. Если вы ранее не работали с линейной алгеброй, не переживайте: мы объясним всё на конкретных примерах с пошаговыми скриншотами и формулами. А для опытных пользователей приведём продвинутые приёмы, включая динамические массивы в новых версиях Excel 365.

Что такое умножение матриц и почему его нельзя делать вручную

Умножение матриц — это операция, при которой каждый элемент результирующей матрицы вычисляется как сумма произведений элементов соответствующей строки первой матрицы и столбца второй. Формально, если у нас есть матрица A размером m×n и матрица B размером n×p, то их произведение C будет иметь размер m×p, где:

C[i][j] = Σ (A[i][k] × B[k][j]) для k = 1 до n.

Почему это нельзя делать вручную в Excel? Во-первых, при больших размерах матриц (например, 10×10) количество вычислений становится огромным — 100 операций умножения и 100 сложений только для одного элемента результирующей матрицы. Во-вторых, человеческий фактор: легко ошибиться в индексах или пропустить слагаемое. В-третьих, Excel оптимизирован для таких задач и выполняет их за доли секунды.

  • 📌 Правило размерностей: количество столбцов первой матрицы должно равняться количеству строк второй. Иначе умножение невозможно.
  • 🔄 Некоммутативность: A × B ≠ B × A (порядок важен!).
  • Производительность: Excel использует оптимизированные алгоритмы для матричных операций, что в разы быстрее ручных вычислений.
⚠️ Внимание: Если вы попытаетесь умножить матрицы несовместимых размеров (например, 3×2 и 3×3), Excel вернёт ошибку #ЗНАЧ!. Всегда проверяйте размерности перед вычислениями.

Функция МУМНОЖ: базовый метод умножения матриц

Основной инструмент для умножения матриц в Excel — функция МУМНОЖ (или MMULT в английской версии). Она принимает два аргумента: две матрицы (диапазоны ячеек) и возвращает их произведение. Особенность функции в том, что она требует ввода как формула массива. Это означает, что после ввода формулы нужно нажать Ctrl + Shift + Enter (в старых версиях) или просто EnterExcel 365 с динамическими массивами).

Пример использования:

=МУМНОЖ(A1:B2; D1:F2)

Где:

  • A1:B2 — первая матрица размером 2×2.
  • D1:F2 — вторая матрица размером 2×3.

Результат будет матрицей размером 2×3, занимающей диапазон ячеек 3×3 (если выделить его перед вводом формулы). В Excel 365 результат "прольётся" автоматически.

Выделите пустой диапазон ячеек для результата (размером [строки первой матрицы] × [столбцы второй матрицы])

Введите формулу =МУМНОЖ(диапазон1; диапазон2)

Завершите ввод комбинацией Ctrl+Shift+Enter (для Excel 2019 и старше) или просто Enter (для Excel 365)

Проверьте, что в формульной строке появились фигурные скобки {} (в старых версиях)

-->

Практический пример: умножаем матрицы 3×2 и 2×4

Рассмотрим конкретный пример. Допустим, у нас есть:

  • Матрица A (3×2): значения в ячейках A1:B3.
  • Матрица B (2×4): значения в ячейках D1:G2.

Шаги для умножения:

  1. Выделите пустой диапазон размером 3×4 (например, A5:D7).
  2. Введите формулу: =МУМНОЖ(A1:B3; D1:G2).
  3. Нажмите Ctrl + Shift + Enter (для Excel 2019) или Enter (для Excel 365).

Результат — матрица C размером 3×4:

ЯчейкаЗначениеФормула
A511=МУМНОЖ(A1:B3; D1:G2)
B517(часть массива)
C523(часть массива)
D529(часть массива)

В Excel 365 результат автоматически заполнит диапазон 3×4 без необходимости выделять его заранее. В старых версиях при неправильном выделении диапазона вы получите ошибку или неполный результат.

Excel 2010 или старше

Excel 2013-2019

Excel 365 (подписка)

LibreOffice Calc

Другой-->

Ошибки при умножении матриц и как их исправить

Даже опытные пользователи Excel сталкиваются с ошибками при работе с матрицами. Рассмотрим наиболее частые из них и способы их устранения:

  • 🔴 #ЗНАЧ! — несовпадение размерностей матриц. Проверьте, что количество столбцов первой матрицы равно количеству строк второй.
  • 🔴 #ССЫЛКА! — неправильно указан диапазон ячеек. Убедитесь, что адреса ячеек корректны и не пересекаются с областью результата.
  • 🔴 #ПУСТО! — одна из матриц содержит пустые ячейки. Заполните все элементы нулями или удалите лишние строки/столбцы.
  • 🔴 Результат не обновляется — забыли нажать Ctrl + Shift + Enter в старых версиях Excel.

Частая ошибка начинающих — попытка умножить матрицу на вектор-столбец неверного размера. Например, если у вас матрица 3×3 и вектор 3×1, результат будет вектором 3×1. Но если вектор транспонирован (1×3), умножение станет невозможным. Используйте функцию ТРАНСП для изменения ориентации вектора:

=МУМНОЖ(A1:C3; ТРАНСП(D1:D3))
⚠️ Внимание: Если в матрице есть текстовые значения или формулы, возвращающие ошибки (например, #ДЕЛ/0!), функция МУМНОЖ также вернёт ошибку. Предварительно очистите данные или используйте функцию ЕСЛИОШИБКА для обработки исключений.
Как проверить размерности матриц перед умножением?

Используйте функции СТРОКА и СТОЛБЕЦ для подсчёта:

=СТРОКА(A1:B3)-СТРОКА(A1)+1 — количество строк в диапазоне A1:B3 (вернёт 3). =СТОЛБЕЦ(D1:G2)-СТОЛБЕЦ(D1)+1 — количество столбцов в диапазоне D1:G2 (вернёт 4).

Для автоматической проверки совместимости используйте формулу:

=ЕСЛИ(СТОЛБЕЦ(B2)-СТОЛБЕЦ(B1)+1=СТРОКА(D2)-СТРОКА(D1)+1; "Можно умножать"; "Несовместимые размеры")

Продвинутые приёмы: обратная матрица и определитель

Умножение матриц часто используется вместе с другими операциями линейной алгебры, такими как нахождение обратной матрицы или определителя. В Excel для этого есть функции МОБР (обратная матрица) и МОПРЕД (определитель).

Пример нахождения обратной матрицы для A1:C3:

=МОБР(A1:C3)

Функция также требует ввода как формула массива. Обратите внимание, что обратная матрица существует только для квадратных матриц с ненулевым определителем. Чтобы проверить определитель:

=МОПРЕД(A1:C3)

Если определитель равен нулю, матрица называется вырожденной, и обратной для неё не существует. В этом случае Excel вернёт ошибку #ЧИСЛО!.

ФункцияНазначениеПример
МОБРОбратная матрица=МОБР(A1:C3)
МОПРЕДОпределитель матрицы=МОПРЕД(A1:C3)
МУМНОЖУмножение матриц=МУМНОЖ(A1:B2; D1:E3)
ТРАНСПТранспонирование=ТРАНСП(A1:C3)

Совмещая эти функции, можно решать системы линейных уравнений. Например, для уравнения Ax = B решение находится как x = A⁻¹B:

=МУМНОЖ(МОБР(A1:C3); D1:D3)

Динамические массивы в Excel 365: упрощение работы с матрицами

В Excel 365 и Excel 2021 появилась поддержка динамических массивов — это революционное изменение, которое упрощает работу с матрицами. Теперь не нужно выделять диапазон для результата или использовать Ctrl + Shift + Enter. Достаточно ввести формулу в одну ячейку, и результат автоматически "прольётся" на соседние ячейки.

Пример:

=МУМНОЖ(A1:B2; D1:F2)

Если ввести эту формулу в ячейку A5, Excel 365 автоматически заполнит диапазон A5:C6 (для матриц 2×2 и 2×3). Это экономит время и снижает риск ошибок.

Преимущества динамических массивов:

  • ✅ Автоматическое определение размера результата.
  • ✅ Нет необходимости вводить формулу как массив.
  • ✅ Легко комбинировать с другими функциями (например, ФИЛЬТР, СОРТ).

Однако есть и ограничения. Например, если рядом с результатом есть данные, Excel может вернуть ошибку #ЗАПРЕЩ! (переполнение). В этом случае очистите соседние ячейки или используйте функцию @ для подавления "проливания":

=@МУМНОЖ(A1:B1; D1:D2)

Умножение матриц с использованием Power Query

Для обработки больших наборов данных или автоматизации процессов можно использовать Power Query — инструмент ETL (извлечение, преобразование, загрузка), встроенный в Excel. Хотя Power Query не имеет встроенной функции для умножения матриц, вы можете написать пользовательскую функцию на языке M.

Пример кода для Power Query:


(matrix1 as list, matrix2 as list) =>

let

// Преобразование матриц в списки списков

list1 = List.Transform(matrix1, each List.FromRecord(_)),

list2 = List.Transform(matrix2, each List.FromRecord(_)),

// Умножение матриц

result = List.Generate(

() => [i = 0, acc = {}],

each [i] < List.Count(list1),

each [

i = [i] + 1,

acc = List.Combine({[acc], {

List.Generate(

() => [j = 0, rowAcc = 0],

each [j] < List.Count(List.First(list2)),

each [

j = [j] + 1,

rowAcc = List.Sum(

List.Transform(

{0 .. List.Count(List.First(list1)) - 1},

(k) => List.First(List.Skip(list1, [i])){k} * List.Skip(list2, k){0}{[j]}

)

)

],

each [rowAcc]

)

}})

],

each [acc]

),

// Преобразование результата в таблицу

tableFromList = Table.FromList(result, Splitter.SplitByNothing(), {"Column1"}),

splitColumns = Table.SplitColumn(tableFromList, "Column1", Splitter.SplitByNothing(), List.Count(List.First(list2)))

in

splitColumns

Этот код создаёт пользовательскую функцию, которую можно вызвать из интерфейса Power Query. Хотя такой подход сложнее, чем МУМНОЖ, он полезен для интеграции матричных операций в сложные процессы обработки данных.

⚠️ Внимание: Использование Power Query для матричных операций оправдано только при работе с очень большими данными или когда умножение матриц — часть более сложного пайплайна. Для большинства задач хватит функции МУМНОЖ.

FAQ: Частые вопросы по умножению матриц в Excel

Можно ли умножить матрицу на число в Excel?

Да, но стандартной функции для этого нет. Нужно умножить каждую ячейку матрицы на число вручную или использовать формулу массива:

=A1:C3 * 5

Введите эту формулу в диапазон такого же размера, как исходная матрица, и завершите Ctrl + Shift + Enter.

Почему функция МУМНОЖ возвращает ошибку #ЗНАЧ!?

Эта ошибка возникает в трёх случаях:

  1. Несовпадение размерностей матриц (количество столбцов первой ≠ количеству строк второй).
  2. Один из диапазонов содержит текст или пустые ячейки.
  3. В старых версиях Excel забыли нажать Ctrl + Shift + Enter.

Проверьте размеры матриц с помощью функций СТРОКА и СТОЛБЕЦ.

Как умножить три матрицы подряд?

Используйте вложенные функции МУМНОЖ:

=МУМНОЖ(МУМНОЖ(A1:B2; D1:E3); G1:H2)

Порядок умножения важен! Убедитесь, что размерности совместимы на каждом этапе.

Можно ли умножать матрицы в Google Sheets?

Да, в Google Таблицах есть аналогичная функция MMULT (или МУМНОЖ в русской версии). Синтаксис и правила те же, что и в Excel:

=MMULT(A1:B2; D1:F2)

Для ввода формулы массива используйте Ctrl + Shift + Enter.

Как проверить правильность умножения матриц?

Сравните результат с ручным вычислением для небольших матриц (например, 2×2). Также можно использовать онлайн-калькуляторы матриц или специализированное ПО вроде MATLAB или Wolfram Alpha для проверки.