46

Я хочу знать, как дать краткую формулу для следующей длинной формулы в листе Excel:

= (A1*A6)+(B1*B6)+(C1*C6)...

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

5 ответов5

111

Вы ищете функцию SUMPRODUCT .

=SUMPRODUCT(A1:C1,A6:C6)

Это вернет сумму произведений соответствующих предметов в двух (или более) диапазонах.

Как вы можете видеть из документации Microsoft, на которую я ссылался, диапазоны не обязательно должны быть отдельными строками или столбцами (хотя они должны иметь одинаковые размеры).

SUMPRODUCT может умножать значения до 255 различных диапазонов. Например, =SUMPRODUCT(A1:C1,A6:C6,A11:C11) совпадает с =A1*A6*A11+B1*B6*B11+C1*C6*C11 .

19

Функция SUM не будет работать, так как она просто добавляет элементы. Вам необходимо умножить значения перед тем, как перейти к SUM, например =SUM(A1*A6, B1*B6, C1*C6, D1*D6, E1*E6)

Конечно, вы также можете использовать =A1*A6 + B1*B6 + C1*C6 + D1*D6 + E1*E6 что приводит к тому же значению, что и SUM

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

Синтаксис формулы массива

Как правило, формулы массива используют стандартный синтаксис формул. Все они начинаются со знака равенства (=), и вы можете использовать большинство встроенных функций Excel в формулах массива. Основное отличие состоит в том, что при использовании формулы массива вы нажимаете Ctrl+Shift+Enter, чтобы ввести формулу. Когда вы делаете это, Excel окружает формулу массива фигурными скобками - если вы наберете фигурные скобки вручную, ваша формула будет преобразована в текстовую строку, и она не будет работать.

Функции Array - это действительно эффективный способ построения сложной формулы. Формула массива =SUM(C2:C11*D2:D11) такая же, как эта:

=SUM(C2*D2,C3*D3,C4*D4,C5*D5,C6*D6,C7*D7,C8*D8,C9*D9,C10*D10,C11*D11).

Чтобы использовать формулу массива в вашем случае, вы можете напечатать (конечно, вам нужно изменить последний элемент массива соответственно)

=SUM(A1:E1*A6:E6)

и затем нажмите Ctrl+Shift+Enter


Формула массива является очень мощным инструментом. Однако используйте это с осторожностью. Каждый раз, когда вам нужно отредактировать его, вы не должны забывать нажимать Ctrl+Shift+Enter

Зачем использовать формулы массива?

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

  • Подсчитайте количество символов, которые содержатся в диапазоне ячеек.

  • Суммируйте только числа, которые удовлетворяют определенным условиям, например, самые низкие значения в диапазоне или числа, которые находятся между верхней и нижней границами.

  • Суммируйте каждое n-е значение в диапазоне значений.

Формулы массива также предлагают следующие преимущества:

  • Согласованность: если вы щелкнете по любой ячейке от E2 вниз, вы увидите ту же формулу. Эта последовательность может помочь обеспечить большую точность.

  • Безопасность: нельзя перезаписать компонент формулы массива из нескольких ячеек. Например, щелкните ячейку E3 и нажмите «Удалить». Вы должны либо выбрать весь диапазон ячеек (от E2 до E11) и изменить формулу для всего массива, либо оставить массив как есть. В качестве дополнительной меры безопасности вы должны нажать Ctrl+Shift+Enter, чтобы подтвердить изменение формулы.

  • Меньшие размеры файлов: часто вы можете использовать формулу одного массива вместо нескольких промежуточных формул. Например, рабочая книга использует одну формулу массива для вычисления результатов в столбце E. Если бы вы использовали стандартные формулы (такие как = C2 * D2, C3 * D3, C4 * D4 ...), вы бы использовали 11 различных формул для вычисления те же результаты.

Это также быстрее, так как схема доступа уже известна. Теперь вместо 11 различных вычислений по отдельности его можно векторизовать и выполнять параллельно, используя несколько ядер и SIMD-модуль в ЦП.

8

Другой подход состоит в том, чтобы вставить в A7 выражение = A1 * A6 и скопировать его так, как вам нужно, затем сложить строку $ 7 $, чтобы получить окончательный ответ. Он не делает это в одной ячейке, как вы хотите, но иногда полезно иметь промежуточные продукты. Я использовал обе версии. Это мне больше по вкусу, но ваш вкус может отличаться.

1

если вы помещаете список чисел в столбцы вместо строк (скажем, в два столбца A и B), вы можете использовать функцию = Sumproduct (A:A, B:B) следующим образом. это даст вам произведение столько же чисел, сколько в столбцах A и B.

Вы можете использовать столько столбцов в функции Sumproduct, сколько вам нужно

0

Если в строках 1 и 6 больше ничего нет, кроме того, для чего вы хотите иметь SUMPRODUCT() , вы можете использовать идею, упомянутую в этом комментарии. В вашем случае, как указано в вашем вопросе, вы бы использовали =SUMPRODUCT(1:1,6:6)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .