Введение: зачем умножать таблицы в Excel
Умножение таблиц в Microsoft Excel — одна из самых востребованных операций при работе с числовыми данными.hether вы рассчитываете бюджет проекта, анализируете продажи по регионам или строите финансовую модель, умение правильно перемножать массивы данных сэкономит часы ручной работы. Но здесь кроется подвох: в отличие от привычного сложения, умножение таблиц требует понимания матричной логики и особенностей функций Excel.
Многие пользователи ошибочно пытаются применить стандартное умножение ячеек (*) ко всей таблице и получают ошибку #VALUE!. Дело в том, что Excel различает поэлементное умножение (когда каждая ячейка умножается на соответствующую) и матричное умножение (где строки первой таблицы умножаются на столбцы второй). В этой статье мы разберём оба подхода, а также покажем, как обойти типичные ошибки и автоматизировать расчёты.
Особое внимание уделим новым функциям Excel 365 и Excel 2021, которые упрощают работу с массивами, и сравним их с классическими методами для старых версий программы. Если вы когда-нибудь сталкивались с необходимостью перемножить большие таблицы или получить произведение матриц — этот гайд для вас.
Метод 1: Поэлементное умножение таблиц (покомпонентное)
Самый простой способ — умножить каждую ячейку одной таблицы на соответствующую ячейку другой. Это называется поэлементным умножением и применимо только к таблицам одинакового размера. Например, если у вас есть таблица цен и таблица количества товаров, вы можете получить таблицу общей стоимости.
Для этого:
- Выделите пустую ячейку, где будет результат первой пары (например,
C1). - Введите формулу:
=A1*B1(гдеA1иB1— первые ячейки умножаемых таблиц). - Нажмите
Enter, затем потяните маркер автозаполнения вниз и вправо, чтобы применить формулу ко всем ячейкам.
Если таблицы большие, можно сэкономить время с помощью массивной формулы:
=A1:D4 * B1:E4
Но не забудьте нажать Ctrl+Shift+Enter (в старых версиях Excel) или просто Enter (в Excel 365), чтобы формула сработала как массивная.
⚠️ Внимание: При поэлементном умножении таблицы должны иметь идентичные размеры. Если хотя бы одна ячейка в диапазонах не совпадёт, Excel вернёт ошибку#N/Aили#VALUE!.
| Таблица 1 (Цены) | A | B | C |
|---|---|---|---|
| Строка 1 | 100 | 200 | 150 |
| Строка 2 | 300 | 250 | 400 |
| Таблица 2 (Количество) | A | B | C |
|---|---|---|---|
| Строка 1 | 2 | 3 | 1 |
| Строка 2 | 4 | 2 | 5 |
| Результат (Стоимость) | A | B | C |
|---|---|---|---|
| Строка 1 | 200 | 600 | 150 |
| Строка 2 | 1200 | 500 | 2000 |
Метод 2: Матричное умножение (функция МУМНОЖ)
Если вам нужно перемножить таблицы по правилам линейной алгебры (где строка первой матрицы умножается на столбец второй), используйте функцию МУМНОЖ (или MMULT в английской версии). Это классический метод для расчёта скалярных произведений, решения систем уравнений или работы с данными в машинном обучении.
Синтаксис функции:
=МУМНОЖ(массив1; массив2)
Пример: умножим матрицу 2×3 на матрицу 3×2. Результирующая матрица будет размером 2×2.
Проверьте, что число столбцов первой матрицы равно числу строк второй|Выделите диапазон для результата (строки×столбцы)|Используйте F2+Ctrl+Shift+Enter для массива (в Excel до 2019)|В Excel 365 просто нажмите Enter-->
- 📌 Массив1 — первая матрица (например,
A1:C2). - 📌 Массив2 — вторая матрица (например,
E1:F3). - 🔢 Результат — выделяйте столько ячеек, сколько строк в первой матрице и столбцов во второй.
⚠️ Внимание: В Excel 2019 и старше функцияМУМНОЖтребует ввода как формулы массива (завершайтеCtrl+Shift+Enter). В Excel 365 это не нужно — достаточно нажатьEnter.
Почему МУМНОЖ выдаёт #ЗНАЧ!
Ошибка возникает в трёх случаях:
1. Несовпадение размеров матриц (число столбцов первой ≠ числу строк второй).
2. В ячейках есть текст или пустые значения (допустимы только числа).
3. Вы забыли нажать Ctrl+Shift+Enter в старых версиях Excel.
Метод 3: Умножение таблицы на число (константу)
Частая задача — умножить все ячейки таблицы на одно число (например, повысить цены на 10% или перевести валюту по курсу). Здесь есть два подхода:
- Ссылка на ячейку с константой:
=A1 * $D$1(где
$D$1— ячейка с числом, знак$фиксирует ссылку). - Непосредственное указание числа:
=A1 * 1.1(увеличение на 10%).
Чтобы применить формулу ко всей таблице:
- Введите формулу в первую ячейку результата.
- Дважды кликните по маркеру автозаполнения (маленький квадратик в правом нижнем углу ячейки) — Excel автоматически скопирует формулу на весь диапазон с данными.
Поэлементное (ячейка на ячейку)|Матричное (МУМНОЖ)|Умножение на константу|Другое-->
Метод 4: Умножение с помощью Power Query (для больших данных)
Если вы работаете с огромными таблицами (тысячи строк), стандартные формулы могут тормозить. В этом случае спасёт Power Query — инструмент для обработки данных, встроенный в Excel 2016+.
Алгоритм действий:
- Выделите исходную таблицу и нажмите
Данные → Из таблицы/диапазона(вкладкаPower Query). - В редакторе запросов добавьте настраиваемый столбец (
Добавить столбец → Настраиваемый столбец). - Введите формулу умножения, например:
[Цена] * [Количество] - Нажмите
Закрыть и загрузить— результат появится на новом листе.
Power Query не только быстрее обрабатывает большие объёмы, но и позволяет:
- 🔄 Обновлять данные одним кликом (
Данные → Обновить все). - 📊 Соединять таблицы из разных источников (Excel, SQL, CSV).
- 🔍 Фильтровать и трансформировать данные перед умножением.
Метод 5: Умножение с использованием VBA (для автоматизации)
Если вам нужно регулярно умножать таблицы по одним и тем же правилам, имеет смысл написать макрос на VBA. Например, этот код умножает две таблицы и выводит результат на новый лист:
Sub MultiplyTables()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Лист1") ' Источник
Dim resultSheet As Worksheet
Set resultSheet = ThisWorkbook.Sheets.Add ' Новый лист для результата
' Предполагаем, что таблицы A1:C2 и E1:G2
Dim arr1 As Variant, arr2 As Variant
arr1 = ws.Range("A1:C2").Value
arr2 = ws.Range("E1:G2").Value
' Поэлементное умножение
Dim result() As Variant
ReDim result(1 To 2, 1 To 3) ' Размер результата
Dim i As Integer, j As Integer
For i = 1 To 2
For j = 1 To 3
result(i, j) = arr1(i, j) * arr2(i, j)
Next j
Next i
' Вывод результата
resultSheet.Range("A1:C2").Value = result
End Sub
Чтобы запустить макрос:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в модуль (
Insert → Module). - Нажмите
F5или запустите макрос черезView → Macros.
⚠️ Внимание: Перед запуском макроса сохраните файл в формате.xlsm(с поддержкой макросов), иначе код не сработает. Также отключите блокировку макросов вФайл → Параметры → Центр управления безопасностью.
Типичные ошибки и как их избежать
Даже опытные пользователи Excel иногда сталкиваются с ошибками при умножении таблиц. Вот самые распространённые:
- 🚫 #ЗНАЧ! в МУМНОЖ: проверьте размеры матриц (число столбцов первой должно равняться числу строк второй).
- 🚫 #ССЫЛКА!: формула массива выходит за пределы листа. Уменьшите диапазон результата.
- 🚫 #ДЕЛ/0!: в таблице есть деление на ноль (проверьте исходные данные).
- 🚫 #ПУСТО!: пересечение диапазонов неверное (например, умножаете
A1:B2наB2:C3— ячейкаB2общая).
Чтобы минимизировать ошибки:
- 🔍 Используйте
Специальную вставку → Значения(Ctrl+Alt+V → V), чтобы заменить формулы на статичные числа после расчётов. - 📊 Проверяйте формат ячеек: текстовые значения (например, "100 р") Excel не умножит. Преобразуйте их в числа через
Формат ячеек → Числовой. - 🔄 Для сложных расчётов делайте резервные копии данных (
Файл → Сохранить как).
Как найти все ошибки в таблице
Выделите диапазон с результатами → Главная → Найти и выделить → Выделить группу ячеек → Ошибки формул.
FAQ: Частые вопросы по умножению таблиц в Excel
Можно ли умножить таблицы разного размера?
Да, но только если число столбцов первой таблицы равно числу строк второй (для матричного умножения через МУМНОЖ). Для поэлементного умножения таблицы должны быть одинакового размера.
Почему после умножения получаются неверные числа?
Вероятные причины:
- В ячейках текст вместо чисел (проверьте формат через
Формат ячеек). - Используется относительная ссылка вместо абсолютной (добавьте
$перед буквой столбца и номером строки, например$A$1). - Округление результатов (отключите в
Файл → Параметры → Дополнительно → Задать точность как на экране).
Как умножить таблицу на проценты?
Два варианта:
- Умножьте на десятичную дробь (например,
=A1 * 1.15для +15%). - Создайте отдельную ячейку с процентом (например,
B1 = 15%) и ссылайтесь на неё:=A1 * (1 + B1).
Можно ли умножить таблицы из разных файлов?
Да, используйте внешние ссылки. Например:
= '[Книга2.xlsx]Лист1'!$A$1 * $B1
Убедитесь, что оба файла открыты, иначе Excel покажет #ССЫЛКА!.
Как умножить таблицу на вектор (одномерный массив)?
Если вектор — это строка или столбец, используйте:
- Для строки:
=МУМНОЖ(A1:B2; TRANSPOSE(D1:D2))(вектор-столбец трансформируйте в строку). - Для столбца:
=МУМНОЖ(A1:B2; D1:D2)(если число столбцов в матрице = числу строк в векторе).