忘记了如何实现这一点:根据查询值的不同数据
请看下面的答案。
我记得早在数组公式中解决了这个问题,但我还没有得到原始的工作簿,答案完全逃脱了我。
以下是示例数据:
Salesman Product Bill Apple Bob Orange Bill Banana Bob Apple Bill Apple Bob Orange Bill Apple
我想要做的是用Bob和Bill出售的DISTINCT项目的数量来制作另一个表格。 即:
Salesman Distinct Items Bill 2 Bob 2
我记得使用数组公式技巧与IF
来build立一个基于查找值的数组,但是对于我的生活,我不知道我是如何应用一个不同的计数到后续的数组。 这与FREQUENCY
,但这只适用于数字,当我尝试过数字时,我甚至无法复制这些数字。 在这里,我玩SUM(1/COUNTIF(RANGE,RANGE))
和SUMPRODUCT(1/COUNTIF(RANGE,RANGE))
。
具体来说, D2
Bill和D3
Bob我已经到达了这个数组公式(放在E2
和E3
):
{=SUM(IF($A$2:$A8=D2,1/COUNTIF($B$2:$B8,$B$2:$B8)))}
(D3明显地取代E3
D2)。
尽pipe如此,还是有一段路要走。 我使用Evaluate公式来追踪它,我可以看到COUNTIF
计算每个项目的所有事件,而不仅仅是属于查找的事件。
任何指针返回正确的方向? 考虑到我曾经破解过一次,真是令人沮丧。
(我用Excel 2013来实现,我可以在数据透视表中使用Distinct Count
来做到这一点,但是由于几个原因,我需要在这里做一个)。
提前致谢。
编辑 – find它 – 看下面的答案
回答我自己的问题,使其显示为已经解决。
我去找了这个:
这是公式:
=SUM(IF(FREQUENCY(IF($A$2:$A$8=D2,MATCH($B$2:$B$8,$B$2:$B$8,0)),IF($A$2:$A$8=D2,MATCH($B$2:$B$8,$B$2:$B$8,0)))>0,1))
我不知道我以前是怎么做到的,但是我会尽全力在这个方面面面俱到。
你可以试试这个数组公式:
=SUM(IF(ROW($C$2:$C$6)-ROW($C$2)+1=IFERROR(MATCH($C$2:$C$6;IF($B$2:$B$6=A2;$C$2:$C$6);0);0);1;0))
B2中的名称:B6,C2中的产品:C6和A2中的名称
根据您的区域设置,您可能需要更改字段分隔符“;” 按“,”