具有多个变量的多个标准的SUMPRODUCT

时间:2015-10-16 20:39:21

标签: excel excel-2010

背景:16名穿着不同颜色夹克的男士正在举办派对,其中一些人拥有相同的名字。在实际工作表中将有数千行。一个非常简单的例子:

    A           B                   C
1   First Names Color of jackets    Shape of Face
2   John        yellow              round
3   Alan        purple              round
4   Sam         red                 round
5   Tom         blue                oblong
6   John        blue                oblong
7   Tom         yellow              oblong
8   Tom         yellow              oblong
9   Sam         red                 oblong
10  Alan        red                 oblong
11  Timothy     blue                diamond
12  Sam         purple              diamond
13  Sam         red                 diamond
14  Alan        red                 diamond
15  Timothy     red                 diamond
16  John        blue                triangle
17  Timothy     blue                triangle

我需要做的是计算某些类别中的唯一值(有时在多个类别中,AND或OR)。例如,我现在需要计算黄色夹克中圆脸男人的不同名字的数量。幸运的是,有一个公式适用于这种情况。要计算round面对yellow夹克中的男人,你可以使用这个,其中D1 =黄色,E1 =圆形:

=SUMPRODUCT(((B2:B17=D1)*(C2:C17=E1))/COUNTIFS(A2:A17,A2:A17&"",B2:B17,B2:B17&"",C2:C17,C2:C17&""))

当我进一步解决问题时,我遇到了麻烦。我想在round夹克或oblong夹克或yellow夹克中计算red面对面或blue面对面男性的不同名字数量。这种情况下的答案是4。这是我最初在我的情况下写的。对于此示例,D1 =黄色,D2 =红色,D3 =蓝色。 E1 = Round,E2 = Oblong。

这给了我一个#N/A错误。但是,当我拿出第三个变量D3时,所以下面的等式给出了一个准确的数字:

=SUMPRODUCT(((B2:B17={D1,D2})*(C2:C17=E1,E2}))/COUNTIFS(A2:A17,A2:A17&"",B2:B17,B2:B17&"",C2:C17,C2:C17&""))

不幸的是,当我在不同的场景中再做几次时,它开始给我一些不准确的数字。

当每个条件可能有多个变量时,如何使用多个条件对重复项中的唯一值进行计数?

2 个答案:

答案 0 :(得分:0)

为了处理唯一值的计数,互惠SUMPRODUCT / COUNTIF(S)构造不仅难以构建超出一些标准,而且 - 或许令人惊讶地 - 与替代{{1}相比非常低效} / FREQUENCY设置,特别是在大型数据集上。

CSE **

MATCH

我说令人惊讶,因为自然的假设可能是使用精确的 match_type 参数的=SUM(IF(FREQUENCY(IF(ISNUMBER(MATCH(B2:B17,D1:D3,0)),IF(ISNUMBER(MATCH(C2:C17,E1:E2,0)),MATCH(A2:A17,A2:A17,0))),ROW(A2:A17)-MIN(ROW(A2:A17))+1),1))FREQUENCY的组合效率非常低。事实上,事实恰恰相反。

此致

**数组公式的输入方式与'标准'相同。公式。您只需按住CTRL和SHIFT键,然后按ENTER键,而不是按ENTER键。如果您已正确完成,您会注意到Excel在公式周围放置了大括号{}(尽管不要尝试自己手动插入这些括号)。

答案 1 :(得分:0)

您可能需要考虑数据透视表:

SO33179194 example

B20中的公式为:

=COUNT(F3:G5)