2015-10-16 146 views
0

背景:16名穿着不同颜色夹克的男士正在举办派对,其中一些人拥有相同的名字。在实际的工作表中会有成千上万的行。一个简单的例子:SUMPRODUCT与具有多个变量的多个标准

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 

我需要做的是计算某些类别(有时在多个类别,与或或)的唯一值。例如,我现在需要计算黄夹克中圆脸男士的不同名称的数量。幸运的是,在这种情况下有一个公式适用。要计算yellow夹克round -faced男人,你可以使用这个其中D1 =黄色和E1 =回合:

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

这是当我把这个问题又进了一步,我有麻烦了。我想要计算表面或oblong表面不同名称的yellow夹克或red夹克或blue夹克的数量。在这种情况下的答案是4。这是我最初在我的情况下写的。在这个例子中,D1 =黄色,D2 =红色,D3 =蓝色。 E1 =圆形,E2 =长方形。

这给了我一个#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&"")) 

不幸的是,当我做到了,在不同的情况多做几次就开始给我一些不准确的数字。

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

回答

0

对于处理的唯一值计数,倒数SUMPRODUCT/COUNTIF(S)建设不仅难以构造除了一些标准,但也 - 也许令人惊讶 - 令人难以置信的低效相比,替代FREQUENCY/MATCH的建立,尤其是在大数据集。

随着CSE **

=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))

我说奇怪,因为自然的假设可能是的FREQUENCYMATCH组合使用精确MATCH_TYPE参数将是非常低效的。事实上,事实证明情况恰恰相反。

问候

**数组公式不以同样的方式为“标准”公式输入。您只需按住CTRL和SHIFT键,而不是按下ENTER键,然后按ENTER键。如果你做得对,你会注意到Excel在公式周围放置了大括号(尽管不要试图自己手动插入这些)。

+0

谢谢你的帮助@XOR LX。我在我的问题中使用的示例与我所使用的数据类似但不完全相同,因此我仍然遇到问题。以下是我正在使用的确切数据的一小部分。我没有足够的空间将这一切放在评论中,所以请看下面的内容。在这种情况下,我想知道从以下地区获得续订或升级的独特客户的数量:usd,cad,mex。数据本身是从数据库中导出的,我试图保持简单,所以我想在公式中使用变量(例如usd,renewal)。 – user32302

+0

好吧,我无法正确格式化它,因此可以读取它。希望我的描述足够了。我正在做一个独特的客户ID(例如2342,3423)。这将是A列。我正在尝试对它们进行计数,例如,续订和升级。这将是B栏。更进一步的将是乡村类型。这将是栏C.这是我希望Excel告诉我。请给我一些独特的客户ID,这些ID是续订或升级,来自usd或cad或mex。数据来自数据库,所以我需要按名称引用变量。 – user32302

+0

所以只需调整我的公式。如果你的值不在连续的单元格中,那么你可以在公式中输入它们作为静态数组,例如, {“usd”,“cad”,max“}在一个ISNUMBER中(MATCH结构,根据我的解决方案) –

0

你可能要考虑数据透视表:

SO33179194 example

在B20的公式为:

=COUNT(F3:G5) 
+0

谢谢你的回应。在更大的图片中,我需要获取几个公式的几个结果,并将其计算为摘要页面。在这种情况下,数据透视表不起作用。 – user32302