我试图计算每个角色(管理员、mod、普通用户等)在指定时间段内(1个月、3个月、6个月、1年)登陆的用户百分比。由于这个电子表格应该是自动计算的,所以编辑我正在提取的数据表不是一个选项(如果这有意义的话)。现在,我只需要数字,因为计算百分比应该很简单。
我使用的列是 id、eventTime、ScreenName 和 userGroup。
例如,我想要计算最近一个月内有多少名来自“admin”用户组的用户登录。我使用ScreenName因为它是唯一的和eventTime因为它记录了时间。我正在提取的数据记录了用户查看网站上每个页面的时间、用户名、用户组和页面名称,因此同一天用户可能会有多个条目。
我已经编写的代码:
如果我以管理员身份登录并查看网站上的七个页面,则数据将有七个不同的行存储页面/时间/我的用户名/我的角色数据。上面的公式计算了我的用户名出现的每个实例,而不是登录的用户数。例如,我希望它返回“1”,因为只有一个用户在那个月登录,即使他们查看了几个页面。但是该方程式正在返回“7”。
简而言之,我正在尝试列出指定时间范围内活跃用户的数量。我的公式是一个月的。但我只需要计算唯一的screenName /每个屏幕名称一次。
以下是我提取数据的示例:
我使用的列是 id、eventTime、ScreenName 和 userGroup。
例如,我想要计算最近一个月内有多少名来自“admin”用户组的用户登录。我使用ScreenName因为它是唯一的和eventTime因为它记录了时间。我正在提取的数据记录了用户查看网站上每个页面的时间、用户名、用户组和页面名称,因此同一天用户可能会有多个条目。
我已经编写的代码:
=SUMPRODUCT(((data!$B:$B>(TODAY()-30))*(data!$B:$B<=TODAY()))*(data!$G:$G=G$1))
'data' 是我试图从中进行计数的工作表。
以下是一些伪代码以帮助您理解:
SUMPRODUCT((eventTime>30 days ago)*(evenTime<todays date))*(userGroup = referenced userGroup))
如果我以管理员身份登录并查看网站上的七个页面,则数据将有七个不同的行存储页面/时间/我的用户名/我的角色数据。上面的公式计算了我的用户名出现的每个实例,而不是登录的用户数。例如,我希望它返回“1”,因为只有一个用户在那个月登录,即使他们查看了几个页面。但是该方程式正在返回“7”。
简而言之,我正在尝试列出指定时间范围内活跃用户的数量。我的公式是一个月的。但我只需要计算唯一的screenName /每个屏幕名称一次。
以下是我提取数据的示例: