如何在涉及两个单元格区域的条件下使用 SUMPRODUCT 来计算值?

问题描述 投票:0回答:1

我正在处理 Excel 电子表格,我需要使用 SUMPRODUCT 函数计算一个值。这是场景:

  1. 我有三个销售地点:store1、store2 和 store3。
  2. 对于每个位置,我有以下数据: 销售额:在 C 列中表示。 保证金:在 D 列中表示。

我要执行的计算如下:

  • 对于每个地点,将销售额乘以相应的利润,然后将这些乘积相加。
  • 然后,将此总和除以所有地点的总销售额。

如何使用 SUMPRODUCT 函数实现此目的?预先感谢您的帮助!

excel excel-formula
1个回答
1
投票

当使用

SUMPRODUCT
选择带有文本的范围内的单元格时,每次评估的结果将为 TRUE 或 FALSE。您需要在函数前使用“--”将其转换为 1 或 0,这样当您将其乘以另一个单元格范围时,您将获得预期值

SUMPRODUCT 示例: B 列的总和,其中 A 列等于“销售额”

       A      B
1 |  Sales    5
2 |  Sales    6
3 |  Margin   3
4 |  Margin   2

所得公式

=SUMPRODUCT(--(A1:A4 = "Sales"),B1:B4)

SUMPRODUCT
如何运作:

首先,返回一个数组,对于 A1:A4 中等于“Sales”的每个值都为 True,对于不等于“Sales”的每个值都为 False

Sales           TRUE
Sales      ->   TRUE
Margin          FALSE
Margin          FALSE

然后双重负数将 TRUE 转换为 1,将 False 转换为 0

1
1
0
0

接下来,将第一个数组(现在是包含 1 和 0 的数组)乘以第二个数组 (B1:B4) 以获得一个新数组

1st    2nd      New Array
1   *   5   =      5
1   *   6   =      6
0   *   3   =      0
0   *   2   =      0

最后将新数组中的所有值相加即可得到结果(5+6+0+0 = 11) 第1步:

对于您的场景,您需要找到每个位置的销售额,并将其乘以相应位置的利润

位置1:销售额*利润

=SUMPRODUCT(--(A3:A11="loja1"),--(B3:B11="venda"),(C3:C11)) * SUMPRODUCT(--(A3:A11="loja1"),--(B3:B11="margem"),(C3:C11))

您可以对位置 2 和 3 执行类似的公式,然后将它们全部加在一起。

步骤:2

要对所有地点的销售额求和,您可以执行类似的公式,再次使用双重否定,即“--”

SUMPRODUCT(--(B3:B11="sales"),(C3:C11))

得到的公式会有点长,但是当你将步骤 1 除以步骤 2 时,你会得到想要的结果

© www.soinside.com 2019 - 2024. All rights reserved.