背景: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&""))
不幸的是,当我在不同的场景中再做几次时,它开始给我一些不准确的数字。
当每个条件可能有多个变量时,如何使用多个条件对重复项中的唯一值进行计数?
答案 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)