我们的调查回复被转储到一个文件中,该文件每天更新。由此我们可以计算任何时期的 NPS。我想创建一个指向此基础文件的仪表板工作簿,并显示每个季度、每年的 NPS。
NPS 的计算方式如下:找出回复为 9 或 10 的百分比,然后减去回复小于 7 的百分比。在此示例中,50% 的回复为 9 或 10,33.33% 的回复小于 7,因此 NPS 为 16.67。
我想按季度进行。理想情况下,我需要在没有辅助列的情况下进行此操作,因为我希望它是一个单元格,从基础表中提取计算并将其表示成图表。但这里涉及太多不同类型的选择,我无法将它们直接处理。
我知道我需要在 AddDate 上使用 YEAR() 和 MONTH() 来获取这些选择,并且我知道我可以使用 ROUNDUP(MONTH()/3,0) 来获取每个日期的季度。COUNTIF() 不会将 YEAR() 或 MONTH() 作为输入。我尝试使用类似 SUMPRODUCT() 的东西作为基础(只是为了获得大于 8 的分数):
=SUMPRODUCT(--(ROUNDUP(MONTH(A2:A100)/3,0)=1)*(YEAR(A2:A100)=2018)*(B2:B100>8),B18:B10016)
但这是对结果进行求和而不是对结果进行计数,我不知道如何将其包装在计数中。
到目前为止,我甚至不知道我是否走在正确的轨道上。也许除了 SUMPRODUCT() 之外,我还应该使用其他方法。如果数据的格式不同 - 如果它已经将年份和月份标记为我可以直接抓取的值 - 我可以这样做,但我必须使用当前的数据。
非常感谢任何指点。
答案1
如果您认为推动者值 1,被动者值 0,贬低者值 -1,那么您可以平均这些单独的分数来得到您的 NPS。
在您的示例中,您有效地代入 -1、0、1、-1、1、1,取平均值得出 16.67%
这种计算平均值的方法可以归结为一个数组公式,如下所示:
=AVERAGE(IF(YEAR(A2:A100)=2019,IF(ROUNDUP(MONTH(A2:A100)/3,0)=1,IF(B2:B100>8,1,IF(B2:B100>6,0,-1)))))
然后按 Ctrl、Shift + Enter 将其计算为数组