Как вычислить обратную матрицу в Excel: формулы, примеры и лайфхаки

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

Мы рассмотрим не только стандартный метод с функцией МОБР, но и альтернативные подходы: использование массивов, надстройки Analysis ToolPak, а также ручной расчёт через алгебраические дополнения (для тех, кто хочет понять математику процесса). Особое внимание уделим ошибкам, которые возникают при работе с вырожденными матрицами, и способам их обхода. Если вы когда-либо получали сообщение #ЧИСЛО! вместо результата — здесь вы найдёте решение.

Для начала убедитесь, что ваша матрица квадратная (количество строк равно количеству столбцов) и невырожденная (её определитель не равен нулю). В противном случае обратная матрица не существует, и Excel вернёт ошибку. Если вы не знаете, как проверить определитель, мы покажем это в одном из разделов ниже.

В статье используются реальные примеры с пошаговыми скриншотами (для наглядности вы можете повторить действия в своей таблице). Все методы протестированы на актуальных версиях Excel, включая облачную версию Excel Online. Готовы начать? Тогда приступим к первому способу — самому простому и распространённому.

1. Способ 1: Функция МОБР — быстрый расчёт обратной матрицы

Функция МОБР (или MINVERSE в английской версии) — это стандартный инструмент Excel для нахождения обратной матрицы. Она работает во всех версиях программы, начиная с Excel 2007, и не требует подключения дополнительных надстроек. Однако у неё есть важная особенность: результат возвращается в виде массива, поэтому вводить формулу нужно особым способом.

Рассмотрим пошаговую инструкцию на примере матрицы 3×3:

  1. Введите исходную матрицу в ячейки, например, A1:C3.
  2. Выделите пустой диапазон такого же размера (например, E1:G3), куда будет выведен результат.
  3. Введите формулу: =МОБР(A1:C3).
  4. Нажмите Ctrl+Shift+Enter (вместо обычного Enter!). Это преобразует формулу в массивную.

Если всё сделано правильно, Excel автоматически обернёт формулу в фигурные скобки {}, а в выделенном диапазоне появится обратная матрица. Обратите внимание: изменять отдельные ячейки результата нельзя — это нарушит целостность массива. Если вам нужно скопировать значения, используйте Специальная вставка → Значения.

Исходная матрица квадратная (N×N)

Определитель матрицы ≠ 0 (проверьте функцией МОПРЕД)

Выделен пустой диапазон под результат (размером N×N)

Формула вводится с Ctrl+Shift+Enter

-->

⚠️

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

2. Способ 2: Надстройка Analysis ToolPak — расчёт без формул

Если вам неудобно работать с массивами или вы предпочитаете визуальные инструменты, воспользуйтесь надстройкой Analysis ToolPak. Она входит в стандартный пакет Excel, но по умолчанию отключена. Этот метод подходит для пользователей, которые хотят получить результат без ручного ввода формул.

Алгоритм действий:

  1. Активируйте надстройку: перейдите в Файл → Параметры → Надстройки, выберите Analysis ToolPak и нажмите Перейти.
  2. В главном меню появится вкладка Данные. Нажмите Анализ данных.
  3. В списке инструментов выберите Обратная матрица (Inverse в английской версии).
  4. Укажите исходный диапазон (например, A1:C3) и диапазон для результата (например, E1:G3).
  5. Нажмите ОК.

Преимущество этого метода — наглядность и отсутствие необходимости помнить формулы. Однако у Analysis ToolPak есть ограничение: она не работает с матрицами размером более 100×100. Для больших массивов используйте первый способ или Power Query (описан в разделе 4).

Функция МОБР

Надстройка Analysis ToolPak

Ручной расчёт (через алгебраические дополнения)

Другой метод

-->

3. Способ 3: Ручной расчёт через алгебраические дополнения

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

A⁻¹ = (1/|A|) × adj(A), где:

  • 📌 |A| — определитель матрицы A (находится функцией МОПРЕД);
  • 📌 adj(A) — присоединённая матрица (транспонированная матрица алгебраических дополнений).

Рассмотрим пример для матрицы 2×2:

Исходная матрица A Формула обратной матрицы
A = | a b |
| c d |
A⁻¹ = (1/(ad-bc)) × | d -b |
| -c a |
A = | 4 7 |
| 2 6 |
Определитель = 4×6 - 7×2 = 10
A⁻¹ = (1/10) × | 6 -7 | = | 0.6 -0.7 |
| -2 4 | | -0.2 0.4 |

Для матриц 3×3 и больше процесс усложняется: нужно вычислять миноры и алгебраические дополнения для каждого элемента. В Excel это можно автоматизировать с помощью вспомогательных формул:

  • 📊 Для минора элемента A1 (первая строка, первый столбец) используйте формулу определителя для подматрицы, исключающей 1-ю строку и 1-й столбец.
  • 📊 Алгебраическое дополнение = (-1)^(i+j) × минор, где i и j — номер строки и столбца.
  • 📊 Транспонируйте матрицу дополнений (поменяйте строки и столбцы местами).

Формулы для миноров в Excel

Для матрицы 3×3 в ячейке A1:C3 минор элемента B2 (вторая строка, второй столбец) рассчитывается как определитель подматрицы:

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

Это эквивалентно удалению 2-й строки и 2-го столбца.

⚠️

Внимание: При ручном расчёте легко допустить ошибку в знаках алгебраических дополнений. Помните, что знак зависит от суммы индексов элемента: (-1)^(i+j). Например, для элемента в позиции (1,2) знак будет отрицательным, так как 1+2=3 (нечётное число).

4. Способ 4: Обратная матрица в Excel 365 (динамические массивы)

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

Как это работает:

  1. Введите исходную матрицу (например, A1:C3).
  2. В любой пустой ячейке (например, E1) введите формулу: =МОБР(A1:C3).
  3. Нажмите Enter. Excel автоматически заполнит соседние ячейки результатом.

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

  • ✅ Нет необходимости выделять диапазон заранее.
  • ✅ Формула автоматически обновляется при изменении исходной матрицы.
  • ✅ Можно использовать результат в других вычислениях как единый массив (например, для умножения матриц).

Ограничение: в старых версиях Excel (2019 и ранее) динамические массивы не поддерживаются. Если вы видите результат только в одной ячейке, обновите программу или используйте метод из раздела 1.

5. Ошибки при нахождении обратной матрицы и их решение

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

Ошибка Причина Решение
#ЗНАЧ! Формула введена не как массив (без Ctrl+Shift+Enter) Выделите диапазон результата и повторите ввод с правильной комбинацией клавиш.
#ЧИСЛО! Матрица вырожденная (определитель = 0) Проверьте исходные данные или используйте псевдообратную матрицу (функция =МОБР.ПСЕВДО() в надстройках).
#ССЫЛКА! Неверно указан диапазон исходной матрицы Убедитесь, что диапазон квадратный и не содержит пустых ячеек.
#ПУСТО! Пересечение диапазонов исходной матрицы и результата Разместите результат в другом месте листа.

Особого внимания заслуживает ошибка #ЧИСЛО!, связанная с вырожденными матрицами. В таких случаях можно:

  • 🔄 Перепроверить исходные данные на наличие ошибок (например, нулевые строки или столбцы).
  • 🔄 Использовать псевдообратную матрицу (обобщённую обратную матрицу Мура-Пенроуза), которую можно рассчитать с помощью надстроек или Python-скриптов.
  • 🔄 Добавить к диагональным элементам небольшое число (например, 0.0001) для "регуляризации" матрицы.

6. Практическое применение обратных матриц в Excel

Знание того, как найти обратную матрицу, полезно не только для учебных задач. Вот несколько практических примеров, где этот инструмент незаменим:

  • 📈 Решение систем линейных уравнений: Если у вас есть система AX = B, то решение X = A⁻¹B. В Excel это реализуется формулой =МУМНОЖ(МОБР(A);B).
  • 💰 Экономическое моделирование: В моделях межотраслевого баланса (например, модель Леонтьева) обратная матрица используется для расчёта коэффициентов полных затрат.
  • 📊 Статистический анализ: В регрессионном анализе обратная матрица применяется для нахождения коэффициентов методом наименьших квадратов.
  • 🔧 Инженерные расчёты: При анализе электрических цепей или механических систем (например, метод жёсткости в строительной механике).

Рассмотрим пример решения системы уравнений:

Задача: Найти x и y для системы:

4x + 7y = 10

2x + 6y = 8

В Excel это решается за 3 шага:

  1. Запишите матрицу коэффициентов A (4 и 7 в первой строке, 2 и 6 во второй) и вектор B (10 и 8).
  2. Найдите обратную матрицу A⁻¹ (как описано в разделе 1).
  3. Умножьте A⁻¹ на B с помощью функции МУМНОЖ.

Результат — значения x и y в столбце. Важно: если определитель матрицы A близок к нулю, решение будет неустойчивым (незначительные изменения в B приведут к большим изменениям в X).

7. Альтернативные инструменты для работы с матрицами

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

  • 🖥️ Python + NumPy: Библиотека NumPy содержит функцию numpy.linalg.inv() для нахождения обратной матрицы. Можно интегрировать с Excel через Power Query или xlwings.
  • 📑 MATLAB/Octave: В этих средах обратная матрица рассчитывается оператором inv(A). Подходит для крупномасштабных вычислений.
  • 🌐 Онлайн-калькуляторы: Сервисы вроде Wolfram Alpha или Matrix Calculator позволяют быстро проверить результат.
  • 📱 Мобильные приложения: Для Android/iOS есть приложения вроде Matrix Calculator, которые поддерживают экспорт в Excel.

Если вы всё же хотите остаться в экосистеме Microsoft, обратите внимание на:

  • 🔹 Power Query: Позволяет импортировать данные из внешних источников и применять матричные преобразования.
  • 🔹 Excel VBA: Можно написать макрос для расчёта обратной матрицы с дополнительными проверками (например, на вырожденность).

Пример VBA-кода для обратной матрицы

Function InverseMatrix(rng As Range) As Variant

Dim arr() As Double, result() As Double

Dim i As Long, j As Long, n As Long

n = rng.Rows.Count

ReDim arr(1 To n, 1 To n)

ReDim result(1 To n, 1 To n)

' Заполняем массив данными из диапазона

For i = 1 To n

For j = 1 To n

arr(i, j) = rng.Cells(i, j).Value

Next j

Next i

' Вычисляем обратную матрицу (упрощённо, без проверок)

result = Application.WorksheetFunction.MInverse(arr)

' Возвращаем результат

InverseMatrix = result

End Function

Чтобы использовать: введите в ячейку =InverseMatrix(A1:C3) и нажмите Ctrl+Shift+Enter.

FAQ: Частые вопросы об обратных матрицах в Excel

Можно ли найти обратную матрицу для неквадратной матрицы?

Нет, обратная матрица существует только для квадратных матриц (N×N) с ненулевым определителем. Для неквадратных матриц можно найти псевдообратную матрицу (например, с помощью сингулярного разложения). В Excel для этого потребуются надстройки или внешние инструменты.

Почему функция МОБР возвращает ошибку #ЧИСЛО!, хотя матрица квадратная?

Это означает, что матрица вырожденная (её определитель равен нулю). Проверьте:

  • Есть ли в матрице нулевые строки/столбцы?
  • Не являются ли строки/столбцы линейно зависимыми (например, одна строка — это сумма других)?
  • Не содержит ли матрица ошибок (например, #ДЕЛ/0!)?

Если матрица действительно вырожденная, попробуйте добавить к диагональным элементам небольшое число (например, 0.0001) или используйте псевдообратную матрицу.

Как умножить матрицу на её обратную, чтобы получить единичную матрицу?

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

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

Результат должен быть близок к единичной матрице (с диагональными единицами и нулями в остальных ячейках). Небольшие отклонения (например, 1E-16 вместо 0) связаны с погрешностями вычислений с плавающей запятой.

Можно ли найти обратную матрицу в Google Sheets?

Да, в Google Таблицах есть аналогичная функция =MINVERSE(). Синтаксис и логика работы такие же, как в Excel. Например:

=MINVERSE(A1:C3)

Отличие: в Google Sheets не нужно нажимать Ctrl+Shift+Enter — формула автоматически распознаётся как массивная.

Как скопировать обратную матрицу как обычные значения?

Если вам нужно открепить результат от исходной матрицы (например, для дальнейших манипуляций), выполните следующие шаги:

  1. Выделите диапазон с обратной матрицей.
  2. Нажмите Ctrl+C (скопировать).
  3. Правой кнопкой мыши выберите Специальная вставка → Значения.

Теперь ячейки содержат только числа, а не формулы.