![引用 Excel 数据透视表中的常量值](https://linux22.com/image/1588675/%E5%BC%95%E7%94%A8%20Excel%20%E6%95%B0%E6%8D%AE%E9%80%8F%E8%A7%86%E8%A1%A8%E4%B8%AD%E7%9A%84%E5%B8%B8%E9%87%8F%E5%80%BC.png)
我在使用 Excel 数据透视表时遇到了问题,希望有人能够帮助解决。
场景:显示按季度和日期排序的错过/失败的服务器备份的数据透视表,还显示每种状态占组织中服务器总数的百分比:
我的数据源表包含以下数据:
date | ServerName | Status(Missed/Failed) |
我的数据透视表按如下方式组织数据:
Qtr1+
| date | Total missed | Total Failed | Total Missed/Failed |
我在报告中还添加了一个单元格,用于显示组织中的服务器总数(我们从外部来源获取此值)。此字段由运行报告的最终用户/人员编辑。
我最终想要实现的是,我的数据透视表显示每个遗漏/失败字段的计数占该常量值的百分比。例如,如下所示:
Qtr1+
| date | % missed | % Failed | Total Missed | Total Failed |
我尝试通过在表格末尾添加一列来将服务器总数包含在主数据源中,以便在每一行中包含总数。例如:
date | ServerName | Status(Missed/Failed) | TotalServers |
apr-1 | ABC123 | Missed | 800 |
apr-1 | CBA123 | Failed | 800 |
但是:当我尝试将其包含到数据透视表中或使用计算字段时,它会对总数进行求和,而不是将其视为唯一的、不变的值,从而给我一个不正确的值。
那么,有没有办法实现我想要用数据透视表做的事情?我想尽可能避免使用 VBA,但如果有必要,我愿意实现一些。如果其中任何一点不清楚,我深表歉意。我会尽力详细说明任何事情。
答案1
因此,我可能会尝试在值字段设置下的“汇总值字段依据”中将值从 SUM 更改为 MAX(或在本例中为 MIN,因为所有值都相同)。这实际上只是告诉数据透视表使用 800,而不是您填充的 800 * 行数。
您可以通过双击数据透视表的标题行或单击字段列表侧栏菜单的“值”窗格中的字段项来获取此值。
如果可行,请告诉我,但我认为这应该可以让你到达你想去的地方。
以上内容并未解决所提问题所使用的计算列。
如果这种情况持续存在,我建议在您的数据集中使用唯一的 countIF 来根据数据透视表中使用的一些特定条件获得 800 的总和 - 假设 ServerName 的列是数据集中的 B 列:
=800/COUNTIF(B:B,B1)
当您进行枢转时 - 计算字段应取该服务器名称的 800 个总和,并将未命中/失败应用于 800 个,而不是总数的总和。