如何在具有过滤器的数据透视表(适用于Mac的Excel)中获得不同的计数?



Excel for Mac不支持 Power Pivot,因此没有明显的计数功能。

在这种情况下,获得不同计数的最佳解决方法是什么?

示例 Excel 列:

期间标准1 标准2 标准3 数据

示例数据透视表:

  • "期间"中的不同值将是数据透视列。
  • "条件 1"可以是数据透视表的过滤器。
  • "条件
  • 2"和"条件 3"列都可以是数据透视行。

现在,可以直接通过透视获得"数据">计数

如何获取"数据"的不同计数

答案选项

  1. 对原始数据使用"Countif" -缺点:在大数据上非常慢。
  2. 通过连接条件列计算唯一键 -缺点:在具有许多条件列的大数据中变得复杂并且需要更多精力

是否有更好的解决方法可以在具有过滤器/多个条件的数据透视表(Excel for Mac)中获得不同的计数?

我想我遇到了类似的问题,这是我"修复"它的方式。

  1. 向表中添加一个名为"DistinctValue"的列 - 或者"Crit2:Crit3"无关紧要
  2. 添加一个公式,将数据透视表中所有字段中的值连接为一行:=[@Criteria2]&":"&[@Criteria3]- 有点取决于你的价值观,但对我来说:作为连接器 工作正常。空格或无字符也可以工作。
  3. 添加"不同"列
  4. 添加公式:=IF(MATCH([@DistinctValue],Y:Y,0)=ROW([@DistinctValue]), 1, 0)
  5. 在透视表中将此行用作带SUM的值,并将其命名为"计数"。

这为您提供了数据表中使用的每个第一行非重复值的1,该值在透视中使用。用于数据透视表的数据行应恰好有一行,每个行部分都有一个1。如果你总结一下,你得到的正是不同的计数。

如果向透视表添加新行,则需要将其添加到 2. 中的公式中,以再次获取非重复值。

编辑:例如,在将公式名称翻译成德语时,您可能必须与;交换公式中的其他语言的,

以下解决方案有几个步骤,但好处是它的扩展性非常好,因为该公式在大型集合上与在小型集合上一样具有性能,而不是查找/匹配,查找/匹配集越慢。

(1) 对具有重复值的字段进行自定义排序。 例如 "电子邮件地址" 注:注:如果您希望对特定实例(即具有最新创建日期的记录)进行计数,请设置排序,以便这些重复项将首先出现。

(2)创建一个新列,称其为唯一计数或其他什么。在该列中,如果前面的值和当前值不相等,则使用公式为 1。例如 =IF(EXACT(A2,A3),0,1)

(3)填写。

(4) 在此表上进行透视。现在,当您执行计数/求和时,请使用唯一计数。

非技术方法是在您感兴趣的列上创建数据透视表及其计数。请注意与数据透视表顶部(例如 A)对应的电子表格行号。转到数据透视表的底部。请注意"总计"行(例如 B)之前的电子表格行。从 A 中减去 B。

或者仅使用要为其计数的值创建数据透视表。按控件 A 进行选择。读出右下角状态栏中的计数。减去 2。

最新更新