Как умножить три матрицы в Excel: пошаговая инструкция

Непосредственное перемножение трех матриц в одной ячейке с помощью оператора * приводит к ошибке #ЗНАЧ!, так как Excel по умолчанию не поддерживает цепные матричные операции без использования специальных функций или вспомогательных столбцов. Для корректного вычисления результата A × B × C необходимо сначала получить промежуточный продукт первых двух матриц, а затем умножить его на третью, либо использовать функцию МУМНОЖ (MMULT) вложенным образом. Пользователи часто ошибаются, пытаясь выделить сразу финальный диапазон и ввести формулу массива, забывая о правиле соответствия размерностей: количество столбцов первой матрицы должно строго совпадать с количеством строк второй, а результат этого умножения — с размерностью третьей.

Процесс расчета требует строгого соблюдения последовательности действий, особенно в версиях Excel ниже 2021, где не работают динамические массивы. Если вы попытаетесь применить стандартное умножение ячеек, система выдаст некорректные данные или прервет вычисление, так как линейная алгебра требует обработки целых блоков данных одновременно. В данной инструкции мы разберем, как обойти ограничения интерфейса, правильно подготовить исходные данные и избежать распространенных ошибок согласования размерностей при работе с многомерными массивами.

Проверка совместимости размерностей матриц

Перед началом любых вычислений критически важно убедиться, что структура ваших данных позволяет провести операцию умножения. Матричное умножение возможно только тогда, когда число столбцов левой матрицы равно числу строк правой матрицы. Если вы планируете перемножить три массива Matrix_A, Matrix_B и Matrix_C, то количество столбцов Matrix_A должно совпадать с количеством строк Matrix_B, а количество столбцов результирующей матрицы (после первого умножения) должно совпадать с количеством строк Matrix_C.

Нарушение этого правила приведет к появлению ошибки #ЗНАЧ! (VALUE!) в ячейке результата. Excel не сможет автоматически расширить или сжать массивы для приведения их к общему знаменателю. В отличие от поэлементного умножения, где размеры должны быть идентичны, здесь действует правило внутреннего соответствия: внутренние размерности должны сокращаться, оставляя внешние.

  • 📊 Проверьте, что ширина первой таблицы равна высоте второй таблицы.
  • 📐 Убедитесь, что ширина результата первого умножения совпадает с высотой третьей матрицы.
  • ⚠️ Удалите все пустые строки и столбцы внутри выделенных диапазонов, так как они нарушают целостность массива.

⚠️ Внимание: Если в диапазонах исходных матриц содержатся текстовые значения или пустые ячейки, которые интерпретируются как ноль или текст, функция МУМНОЖ вернет ошибку. Заполните все пустые места нулями перед началом работы.

Для наглядности рассмотрим пример с конкретными размерами. Если первая матрица имеет размер 3x2, вторая — 2x4, а третья — 4x2, то операция возможна. Результатом умножения первых двух будет матрица 3x4, которая затем успешно умножится на третью (4x2), дав итоговый массив размером 3x2. Любое отклонение в этих цифрах сделает вычисление невозможным.

Использование функции МУМНОЖ для последовательного расчета

Наиболее надежным способом умножения трех матриц является использование встроенной функции МУМНОЖ (в англоязычной версии MMULT). Поскольку эта функция принимает только два аргумента (два массива), для работы с тремя матрицами необходимо применить вложенность или промежуточные вычисления. Синтаксис функции требует указания двух диапазонов: МУМНОЖ(массив1; массив2).

Чтобы умножить три матрицы, вы можете вложить одну функцию внутрь другой. Формула будет выглядеть как =МУМНОЖ(МУМНОЖ(A1:B2; C1:D3); E1:F4), где внутренние скобки сначала вычисляют произведение первых двух массивов, а внешняя функция умножает полученный виртуальный массив на третий. Однако такой подход может быть сложен для отладки и чтения, особенно если диапазоны большие.

Альтернативный метод с промежуточным столбцом

Если формула кажется слишком громоздкой, выделите отдельную область на листе для результата умножения первых двух матриц. Введите формулу для A×B, получите статический или динамический результат, а затем используйте этот новый диапазон как первый аргумент для умножения на матрицу C. Это упрощает проверку ошибок на каждом этапе.

При работе с большими объемами данных вложенные формулы могут замедлять пересчет листа. В таких случаях целесообразнее разбить процесс на два этапа: сначала рассчитать промежуточный продукт в отдельной области листа, зафиксировать его (или оставить как формулу), и затем использовать этот блок для финального умножения. Это также позволяет визуально проконтролировать корректность промежуточных данных.

  • 🔢 Выделите ячейку для вывода результата (или диапазон, если используете динамические массивы).
  • 🖊️ Введите формулу, начиная с =МУМНОЖ(.
  • 📑 Выделите диапазон первой и второй матрицы через точку с запятой, затем закройте скобку и умножьте на третью.

Работа с динамическими массивами в новых версиях Excel

Владельцы подписки Microsoft 365 и пользователи Excel 2021 и новее могут воспользоваться преимуществами динамических массивов. В этих версиях функция МУМНОЖ автоматически «разливается» (spills) на соседние ячейки, заполняя весь необходимый диапазон результата без необходимости ручного выделения области или использования комбинации клавиш.

Если вы вводите формулу для умножения трех матриц в одну ячейку, Excel сам определит размерность итогового массива и займет нужное количество ячеек вниз и вправо. Это устраняет необходимость запоминать, сколько строк и столбцов должно быть в ответе. Однако важно следить за тем, чтобы область «разлива» была пуста, иначе появится ошибка #ПЕРЕК! (SPILL!).

Динамические массивы также позволяют строить более гибкие конструкции. Вы можете ссылаться на результат умножения первых двух матриц как на динамический диапазон, и при изменении исходных данных в матрицах A или B, промежуточный и финальный результаты пересчитаются автоматически. Это создает живую связанную систему вычислений, удобную для моделирования сценариев.

Версия Excel Поддержка динамических массивов Необходимость Ctrl+Shift+Enter Обработка ошибок разлива
Excel 2016 и ранее Нет Обязательно Ошибка #ЗНАЧ! при wrong size
Excel 2019 Частично Обязательно для старых функций Требуется ручное выделение
Excel 2021 / 365 Да (полная) Не требуется (Enter) Автоматический спилл (#ПЕРЕК!)
Excel Online Да Не требуется Автоматический спилл

Техника ввода формул массива в старых версиях

Если вы работаете в Excel 2019 или более ранних версиях, стандартное нажатие клавиши Enter после ввода формулы МУМНОЖ не даст правильного результата для массива. Вместо этого формула должна быть введена как формула массива. Для этого после написания функции необходимо выделить весь диапазон, куда должен попасть результат, и нажать комбинацию Ctrl + Shift + Enter.

Правильность ввода подтвердится появлением фигурных скобок {} вокруг формулы в строке формул. Эти скобки нельзя вводить вручную с клавиатуры — они появляются только после правильной активации режима массива. Если вы попытаетесь изменить любую ячейку внутри результирующего массива, Excel выдаст предупреждение о невозможности изменения части массива.

⚠️ Внимание: При использовании Ctrl+Shift+Enter убедитесь, что выделенный диапазон точно соответствует размерности результата. Если выделить область меньше нужной, часть данных потеряется. Если больше — в лишних ячейках появится ошибка #Н/Д.

Особенность старых версий в том, что вы не можете вставить формулу массива внутрь таблицы Excel (объекта ListObject). Если ваши данные оформлены как «Умная таблица», вам придется предварительно конвертировать её в обычный диапазон или использовать ссылки вне таблицы для вычислений. Это частая причина у пользователей, пытающихся автоматизировать расчеты внутри структурированных таблиц.

📊 Какая версия Excel у вас установлена?
Excel 2013-2016
Excel 2019
Excel 2021
Microsoft 365 (подписка)

Анализ и устранение распространенных ошибок

При умножении трех матриц чаще всего встречаются три типа ошибок. Первая — #ЗНАЧ! (VALUE!), которая возникает при несоответствии размерностей или наличии текста в числовых диапазонах. Вторая — #Н/Д (N/A), появляющаяся в старых версиях Excel, если выделенный под результат диапазон больше, чем требуется математически. Третья — #ПЕРЕК! (SPILL!), характерная для новых версий, когда путь результату блокируют другие данные.

Для диагностики проблемы используйте инструмент «Зависимые формулы» на вкладке «Формулы». Он покажет, как связаны ячейки и где именно прерывается цепочка вычислений. Также полезно временно заменить одну из матриц на единичную (с единицами по диагонали и нулями elsewhere), чтобы проверить, меняется ли результат пропорционально. Если при умножении на единичную матрицу результат не равен исходному массиву, значит, ошибка кроется в порядке следования аргументов.

  • 🔍 Проверьте наличие скрытых символов или пробелов в ячейках с числами.
  • 🔢 Убедитесь, что в формуле используются абсолютные ссылки ($A$1:$B$2), если вы планируете копировать расчет.
  • 🔄 Перепроверьте порядок матриц: умножение матриц не коммутативно, A×B не равно B×A.

Особое внимание стоит уделить числовым форматам. Иногда ячейки выглядят как числа, но имеют текстовый формат, что часто случается при выгрузке данных из бухгалтерских программ или веб-сайтов. В таких случаях функция МУМНОЖ игнорирует текстовые значения, считая их нулями, что искажает итоговую матрицу. Используйте текст по столбцам или функцию ЗНАЧЕН для конвертации.

Практическое применение и оптимизация вычислений

Умножение трех матриц часто требуется в экономическом моделировании, например, при расчете итоговой стоимости портфеля активов, где первая матрица — количества, вторая — коэффициенты пересчета валют, а третья — налоговые ставки. Понимание механики этого процесса позволяет создавать компактные и эффективные модели без необходимости создавать множество промежуточных листов.

Для оптимизации работы с тяжелыми матрицами рекомендуется минимизировать количество пересчетов. Если исходные данные статичны, имеет смысл скопировать результат умножения и вставить его как значения. Это разорвет цепочку зависимостей и ускорит работу файла. Однако при динамическом моделировании лучше сохранить формулы, используя именованные диапазоны для улучшения читаемости.

☑️ Чек-лист перед запуском расчета

Выполнено: 0 / 4

Использование имен для диапазонов (например, назвать A1:B2 как MatrixA) делает формулу =МУМНОЖ(МУМНОЖ(MatrixA; MatrixB); MatrixC) гораздо понятнее, чем использование ссылок на ячейки. Это особенно важно при передаче файла коллегам или возврате к проекту спустя время. Именованные диапазоны также легче отслеживать в диспетчере имен.

Часто задаваемые вопросы (FAQ)

Можно ли умножить три матрицы одной формулой без промежуточных столбцов?

Да, это возможно с помощью вложенной функции МУМНОЖ. Формула будет выглядеть как =МУМНОЖ(МУМНОЖ(массив1; массив2); массив3). В новых версиях Excel результат автоматически займет нужный диапазон, в старых — потребуется выделить область и нажать Ctrl+Shift+Enter.

Что делать, если Excel выдает ошибку #ЗНАЧ! при умножении?

Ошибка #ЗНАЧ! чаще всего означает, что количество столбцов первой матрицы не равно количеству строк второй, либо в диапазонах есть текст. Проверьте размерности и убедитесь, что все ячейки содержат числа.

Работает ли умножение матриц в Excel Online?

Да, функция МУМНОЖ (MMULT) полностью поддерживается в Excel Online. Она работает аналогично десктопной версии с поддержкой динамических массивов, автоматически разливая результат на соседние ячейки.

Как умножить матрицу на число, а затем на другую матрицу?

Сначала умножьте матрицу на число (например, выделив диапазон и введя *2, затем Ctrl+Shift+Enter, или используя формулу массива), получите промежуточный результат, и затем используйте функцию МУМНОЖ для произведения с третьей матрицей.

Можно ли использовать оператор звездочки (*) для матричного умножения?

Нет, оператор * выполняет поэлементное умножение (произведение Адамара), требуя идентичных размеров матриц. Для классического матричного умножения (строка на столбец) обязательна функция МУМНОЖ.