Excel for Mac不支持 Power Pivot,因此没有明显的计数功能。
在这种情况下,获得不同计数的最佳解决方法是什么?
示例 Excel 列:
期间标准1 标准2 标准3 数据
示例数据透视表:
- "期间"中的不同值将是数据透视列。
- "条件 1"可以是数据透视表的过滤器。 "条件
- 2"和"条件 3"列都可以是数据透视行。
现在,可以直接通过透视获得"数据">计数。
如何获取"数据"的不同计数?
答案选项
- 对原始数据使用"Countif" -缺点:在大数据上非常慢。
- 通过连接条件列计算唯一键 -缺点:在具有许多条件列的大数据中变得复杂并且需要更多精力
是否有更好的解决方法可以在具有过滤器/多个条件的数据透视表(Excel for Mac)中获得不同的计数?
我想我遇到了类似的问题,这是我"修复"它的方式。
- 向表中添加一个名为"DistinctValue"的列 - 或者"Crit2:Crit3"无关紧要
- 添加一个公式,将数据透视表中所有字段中的值连接为一行:
=[@Criteria2]&":"&[@Criteria3]
- 有点取决于你的价值观,但对我来说:
作为连接器 工作正常。空格或无字符也可以工作。 - 添加"不同"列
- 添加公式:
=IF(MATCH([@DistinctValue],Y:Y,0)=ROW([@DistinctValue]), 1, 0)
- 在透视表中将此行用作带
SUM
的值,并将其命名为"计数"。
这为您提供了数据表中使用的每个第一行非重复值的1
,该值在透视中使用。用于数据透视表的数据行应恰好有一行,每个行部分都有一个1
。如果你总结一下,你得到的正是不同的计数。
如果向透视表添加新行,则需要将其添加到 2. 中的公式中,以再次获取非重复值。
编辑:例如,在将公式名称翻译成德语时,您可能必须与;
交换公式中的其他语言的,
。
以下解决方案有几个步骤,但好处是它的扩展性非常好,因为该公式在大型集合上与在小型集合上一样具有性能,而不是查找/匹配,查找/匹配集越慢。
(1) 对具有重复值的字段进行自定义排序。 例如 "电子邮件地址" 注:注:如果您希望对特定实例(即具有最新创建日期的记录)进行计数,请设置排序,以便这些重复项将首先出现。
(2)创建一个新列,称其为唯一计数或其他什么。在该列中,如果前面的值和当前值不相等,则使用公式为 1。例如 =IF(EXACT(A2,A3),0,1)
(3)填写。
(4) 在此表上进行透视。现在,当您执行计数/求和时,请使用唯一计数。
非技术方法是在您感兴趣的列上创建数据透视表及其计数。请注意与数据透视表顶部(例如 A)对应的电子表格行号。转到数据透视表的底部。请注意"总计"行(例如 B)之前的电子表格行。从 A 中减去 B。
或者仅使用要为其计数的值创建数据透视表。按控件 A 进行选择。读出右下角状态栏中的计数。减去 2。