【问题标题】:Calculating the average using names on a pivot table使用数据透视表上的名称计算平均值
【发布时间】:2016-05-11 14:26:39
【问题描述】:

我试图让数据透视表计算特定地区每个主管下属的平均员工人数。但是,数据透视表无法平均文本字符串。在下面的示例中,在一个区域内,我有 5 名主管,但他们下属的员工人数都不同,有些有 1 或 2 名。但该区域总共有 7 名员工。我需要它来平均每个主管的员工人数:所以 7/5 = 1.4 将是平均值。有什么方法可以使用数据透视表创建员工数量除以唯一主管的数量?

Number of Supervisor to Employee

【问题讨论】:

  • 您可以使用AVERAGEIF 函数向数据中添加另一列,然后在数据透视表中的字段上使用平均值
  • 我必须通过使用 COUNTIF 在原始数据中添加一个额外的列来计算主管的姓名重复了多少次
  • 大家好,重要的是这需要采用数据透视表格式,因为我需要查看每个主管的整个控制范围。每个主管都有不同的年级,我需要找到 10、11 等年级的平均值。我想知道如何操纵数据透视表来计算每个主管平均有多少员工。但是我无法使用数据透视表来计算员工数量并将其除以有多少独特的主管。我希望这是有道理的。
  • 在理想情况下,我希望我可以通过将主管姓名放在行字段中、主管等级放在列字段中来操作数据透视表,并在价值数据字段中计算平均员工。但这似乎无法实现,因为员工姓名列是文本字符串。我怎样才能让它出现在数据透视表上?
  • @CallumDA33 AVERAGEIF 函数不会平均单词,只会平均数值。

标签: excel worksheet-function worksheet vba


【解决方案1】:

好吧,我知道这不是很优雅,但这可以做到。添加一个辅助列,计算出每个员工可用的主管比例(例如,每个主管 2 名员工 = 1/2、3 名员工 = 1/3 等),从 D2 开始:-

=1/COUNTIFS($A$2:$A$20,A2,$C$2:$C$20,C2)

然后你可以将这些总和和任何列的计数放入数据透视表中,将 Region 作为行变量,只需一个手动公式即可计算出从 J2 开始的比率:-

=IFERROR(I2/H2,"")

注意:- 如果您愿意,可以使用 GetPivotData 从数据透视表中获取总计。您还可以使用数组公式来列出 Region 的不同值,而不是使用数据透视表,但数据透视更快。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多