Умножение в Excel: от простых чисел до сложных массивов — полное руководство

Умножение в Microsoft Excel — одна из самых востребованных операций, которая лежит в основе 80% финансовых, бухгалтерских и аналитических расчётов. Но далеко не все пользователи знают, что в программе существует как минимум 7 различных способов перемножить данные: от элементарного использования знака * до автоматизации через Power Query или VBA. Эта статья поможет разобраться, какой метод выбрать для вашей задачи — будь то умножение двух ячеек, целого столбца на коэффициент или работа с динамическими массивами.

Мы не просто покажем синтаксис формул, но и объясним почему Excel иногда возвращает ошибки вроде #ЗНАЧ! или #ЧИСЛО! при умножении, как оптимизировать вычисления для таблиц с тысячами строк, и какие скрытые функции вроде ПРОИЗВЕД или MMULT позволяют умножать данные без циклов. Особое внимание уделим типичным ошибкам новичков — например, когда формула =A1*A2 работает корректно, а =A1:B10*2 выдаёт неожиданный результат.

1. Базовое умножение: оператор * и его особенности

Самый простой способ перемножить числа в Excel — использовать знак умножения (*). Формула выглядит интуитивно: =A1*B1. Но даже здесь есть нюансы, о которых многие не догадываются. Например, если одна из ячеек содержит текст (даже невидимый пробел), Excel вернёт ошибку #ЗНАЧ! вместо результата.

Чтобы избежать проблем:

  • 🔢 Всегда проверяйте формат ячеек: выделите диапазон и посмотрите в меню Главная → Формат → Формат ячеек. Для умножения подходит только Общий или Числовой.
  • 🔍 Используйте функцию ЕЧИСЛО для проверки: =ЕЧИСЛО(A1) вернёт ИСТИНА, если в ячейке число.
  • ⚡ Для умножения числа на процент (например, наценка 20%) пишите: =A1*(1+20%) или =A1*1,2.
📊 Какой способ умножения вы используете чаще?
Оператор *
Функция ПРОИЗВЕД
Умножение столбца на константу
Макросы/VBA

Важно понимать, что оператор * имеет приоритет над сложением и вычитанием, но уступает возведению в степень (^). Например, в формуле =2+3*4^2 Excel сначала выполнит 4^2 (16), затем 3*16 (48), и только потом прибавит 2. Чтобы изменить порядок, используйте скобки: =(2+3)*4^2.

2. Функция ПРОИЗВЕД: умножение нескольких аргументов

Когда нужно перемножить более двух чисел или диапазон ячеек, удобнее использовать функцию ПРОИЗВЕД (англ. PRODUCT). Её синтаксис:

=ПРОИЗВЕД(число1; [число2]; ...)

Где число1, число2 и т.д. могут быть как отдельными значениями, так и ссылками на ячейки или диапазоны. Например:

  • 📊 =ПРОИЗВЕД(A1:A5) — перемножит все числа в диапазоне A1:A5.
  • 🔢 =ПРОИЗВЕД(2; 3; A1:B2) — умножит числа 2, 3 и все ячейки из A1:B2.
  • 💡 =ПРОИЗВЕД(A1:A10)/10 — рассчитает среднее геометрическое для 10 чисел.

Функция ПРОИЗВЕД игнорирует пустые ячейки и текстовые значения, что делает её более устойчивой к ошибкам, чем оператор *. Однако если в диапазоне есть хотя бы один ноль, результат тоже будет нулевым — это частая причина багов в финансовых моделях.

Почему ПРОИЗВЕД возвращает 0, хотя в ячейках есть данные?

Если в диапазоне, переданном в ПРОИЗВЕД, есть хоть одна ячейка с нулевым значением или формулой, которая возвращает 0 (например, =ЕСЛИ(A1>10; A1; 0)), то всё произведение обнулится. Чтобы избежать этого, используйте конструкцию вроде =ПРОИЗВЕД(ЕСЛИ(A1:A10=0; 1; A1:A10)) (в новых версиях Excel с поддержкой динамических массивов).

3. Умножение столбца на число (коэффициент)

Одна из самых распространённых задач — умножить весь столбец на фиксированное число (например, при пересчёте цен с учётом НДС или конвертации валют). Здесь есть три подхода:

  1. Автозаполнение с абсолютной ссылкой:

    Введите в первую ячейку формулу =A1*$C$1 (где C1 — ячейка с коэффициентом), затем протяните её вниз. Символы $ фиксируют ссылку на C1.

  2. Специальная вставка:

    Скопируйте ячейку с коэффициентом (C1), выделите диапазон для умножения (A1:A100), затем выберите Главная → Вставить → Специальная вставка → Умножить.

  3. Функция МАССИВ (для старых версий Excel):

    Введите формулу =A1:A10*C1, затем нажмите Ctrl+Shift+Enter, чтобы преобразовать её в формулу массива. В новых версиях Excel (2019+) это не требуется.

Последний метод особенно полезен, если нужно умножить несколько столбцов одновременно. Например, формула =A1:C10*$D$1 (введена как массив) умножит все ячейки в диапазоне A1:C10 на значение из D1.

Убедиться, что в ячейке с коэффициентом число, а не текст

Проверить, нет ли скрытых символов (пробелов, неразрывных пробелов) в данных

Зафиксировать ссылку на коэффициент символами $

Сохранить оригинальные данные на отдельном листе-->

4. Умножение с условиями: функции ЕСЛИ и ПРОИЗВЕД

Часто умножение нужно выполнять только при соблюдении определённых условий. Например, начислить бонус 10% только тем клиентам, чья покупка превысила 1000 рублей. Для этого комбинируют функции ЕСЛИ и ПРОИЗВЕД:

=ЕСЛИ(A1>1000; B1*1,1; B1)

Где:

  • 📌 A1 — ячейка с суммой покупки.
  • 💰 B1 — ячейка с базовой ценой.
  • 🔄 1,1 — коэффициент 110% (10% бонуса).

Для более сложных условий используйте ЕСЛИМН (англ. IFS):

=B1 * ЕСЛИМН(

A1<500; 0,9; -- скидка 10% для покупок <500

A1<1000; 1; -- без изменений для 500-1000

ИСТИНА; 1,1 -- бонус 10% для покупок >1000

)

Если условий много, лучше вынести коэффициенты в отдельную таблицу и использовать ПРОСМОТР или ВПР:

=B1 * ВПР(A1; ТаблицаКоэффициентов; 2; ИСТИНА)

5. Умножение матриц: функция МУМНОЖ (MMULT)

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

=МУМНОЖ(массив1; массив2)

Ключевые правила:

  • 📏 Число столбцов первого массива должно совпадать с числом строк второго массива. Например, матрицу 3×2 можно умножить только на матрицу 2×N.
  • 🔢 Оба массива должны быть числовыми. Текст или пустые ячейки вызовут ошибку #ЗНАЧ!.
  • 🖥️ В старых версиях Excel (до 2019) функцию нужно вводить как формулу массива (завершать Ctrl+Shift+Enter).

Пример: умножим матрицу A1:B2 (2×2) на D1:D2 (2×1):

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

Результат — матрица 2×1 (две строки, один столбец).

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

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

=СТОЛБЕЦ(A1:B2)-СТОЛБЕЦ(A1)+1 — вернёт число столбцов в массиве A1:B2 (здесь 2). =СТРОКА(D1:D2)-СТРОКА(D1)+1 — вернёт число строк в массиве D1:D2 (здесь 2).

Если результаты совпадают, матрицы совместимы для умножения.

6. Динамические массивы: умножение без формул массива

В Excel 365 и Excel 2021 появилась поддержка динамических массивов, которые автоматически "проливаются" на соседние ячейки. Это упрощает умножение диапазонов без ручного протягивания формул. Например:

Чтобы умножить два столбца A1:A5 и B1:B5 поэлементно, достаточно ввести в C1:

=A1:A5 * B1:B5

Excel автоматически заполнит ячейки C1:C5 результатами. Аналогично работает умножение строки на столбец (в результате получится матрица).

Для более сложных операций используйте функции, возвращающие массивы:

  • 🔹 =ПОИСКПОЗ() + ИНДЕКС() для извлечения данных перед умножением.
  • 🔹 =ФИЛЬТР() для умножения только отфильтрованных значений.
  • 🔹 =СОРТ() для упорядочивания данных перед вычислениями.

Осторожно: динамические массивы могут значительно замедлить работу книги, если использовать их для обработки десятков тысяч строк. В таких случаях лучше перейти на Power Query или VBA.

7. Автоматизация: умножение через Power Query и VBA

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

Power Query (Get & Transform):

  1. Выделите исходные данные и нажмите Данные → Из таблицы/диапазона.
  2. В редакторе Power Query выберите столбец, который нужно умножить.
  3. Перейдите на вкладку Преобразовать → Стандартный → Умножить и укажите коэффициент.
  4. Нажмите Закрыть и загрузить, чтобы вернуть результаты в Excel.

VBA (макрос):

Создайте макрос для умножения диапазона на число:

Sub MultiplyRange()

Dim rng As Range, coeff As Double

Set rng = Selection ' Выделенный диапазон

coeff = InputBox("Введите коэффициент умножения:", "Умножение") ' Запрос коэффициента

For Each cell In rng

If IsNumeric(cell.Value) Then

cell.Value = cell.Value * coeff

End If

Next cell

End Sub

Чтобы запустить макрос, нажмите Alt+F8, выберите MultiplyRange и нажмите Выполнить.

Преимущество Power Queryне разрушаются исходные данные, а изменения легко откатить. VBA же позволяет создавать сложные многошаговые процедуры, например, умножать данные с учётом условий из другой книги.

Типичные ошибки и как их исправить

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

Ошибка Причина Решение
#ЗНАЧ! В ячейке текст вместо числа (в том числе невидимые пробелы). Используйте =ЕЧИСЛО(A1) для проверки или =ЗАМЕНИТЬ(A1; " "; "") для удаления пробелов.
#ССЫЛКА! Некорректный диапазон в формуле (например, =A1:A5*B1:B6 — разное число строк). Проверьте размерности диапазонов функцией =СТРОКА() или =СТОЛБЕЦ().
#ЧИСЛО! Слишком большое или слишком маленькое число (переполнение). Измените формат ячейки на Общий или разбейте вычисления на шаги.
#ДЕЛ/0! Деление на ноль в составе формулы (например, =A1/B1*C1, где B1=0). Добавьте проверку: =ЕСЛИ(B1=0; 0; A1/B1*C1).
Результат 0 В диапазоне есть ноль, а используется ПРОИЗВЕД. Замените нули на 1: =ПРОИЗВЕД(ЕСЛИ(A1:A10=0; 1; A1:A10)).

Особое внимание уделите круговым ссылкам — когда формула умножения ссылается сама на себя (например, =A1*2 в ячейке A1). Excel либо выдаст ошибку, либо зациклится. Чтобы найти такие ссылки, перейдите в Формулы → Зависимости формул → Проверить ошибки → Круговые ссылки.

1. Заменить диапазоны (A1:A1000) на конкретные адреса (A1, A2...).

2. Отключить автоматический пересчёт в Формулы → Параметры вычислений → Вручную.

3. Использовать Power Pivot для больших наборов данных.-->

FAQ: Ответы на частые вопросы

Как умножить время на число (например, 2:30 × 1.5)?

Excel хранит время как доли суток (например, 2:30 = 0,104167). Чтобы умножить:

  1. Убедитесь, что ячейка с временем имеет формат Время.
  2. Используйте формулу: =A1*1,5.
  3. Примените к результату формат Время или [ч]:мм (если результат > 24 часов).

Пример: =ВРЕМЯ(2;30;0)*1,5 вернёт 0,15625, что соответствует 3:45.

Почему Excel округляет результат умножения?

Это происходит из-за формата ячейки. Чтобы увидеть точный результат:

  • Выделите ячейку с результатом.
  • Нажмите Ctrl+1 (или Главная → Формат → Формат ячеек).
  • Выберите формат Числовой и установите нужное число десятичных знаков.

Если проблема не в формате, проверьте, не превышает ли результат 15 знаков — Excel хранит числа с точностью до 15 значащих цифр.

Как умножить данные из разных листов?

Ссылки на другие листы указываются через восклицательный знак. Примеры:

  • =Лист2!A1 * Лист1!B1 — умножение двух ячеек с разных листов.
  • =ПРОИЗВЕД(Лист3!A1:A10) — произведение диапазона с Лист3.

⚠️ Внимание: если переименовать или удалить лист, все ссылки на него станут ошибочными (#ССЫЛКА!).

Можно ли умножать данные из закрытой книги?

Да, но с ограничениями:

  1. Откройте обе книги.
  2. В основной книге создайте ссылку на закрытую: =[Книга2.xlsx]Лист1!A1 * 2.
  3. Сохраните основную книгу — Excel запомнит путь к внешней книге.

При следующем открытии основной книги Excel предложит обновить связи. Если внешняя книга будет недоступна, формулы вернут #ССЫЛКА!.

⚠️ Внимание: избегайте ссылок на закрытые книги в критически важных файлах — это одна из основных причин "битых" ссылок.

Как умножить только видимые ячейки (после фильтра)?

Стандартные функции вроде ПРОИЗВЕД игнорируют скрытые строки, но не отфильтрованные. Чтобы умножить только видимые ячейки:

  1. Примените фильтр к данным.
  2. Выделите видимый диапазон (без скрытых строк).
  3. Введите формулу =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9; A1:A10), где 9 — код функции ПРОИЗВЕД.

Альтернатива: скопируйте видимые ячейки на новый лист (Главная → Найти и выделить → Выделить группу ячеек → Только видимые) и умножайте их.