我从数据库中获得的数据显示了用户如何使用设备登录日常任务。我需要tag
将每台设备分配给特定用户,然后决定将每台设备分配给使用最多的用户。
我需要拿出一个简单的表格,如下例所示:
每个用户的源数据在多天内都有多个条目,数据集可以增长到2万行以上(因此数据透视表不是理想的解决方案)。
提供的示例数据集仅包含~700
行,少于我正在处理的数据集的5%
行。
注意:
在示例文件中,我生成了一个数据透视表,其中具有作为行的唯一设备和作为列标题的用户。对于每个用户,我们可以找到每个设备的使用次数/使用频率。
然后我使用了一个数组公式来为用户提供每个唯一设备(枢纽摘要表的 BK列)的最大使用频率。
但是,由于数据集会随着时间增长,因此不希望使用此方法。我需要一个动态公式来执行数据透视表的工作,并为每个唯一设备返回最高频率的用户。
答案 0 :(得分:0)
您可以按照以下公式使用某些内容:
=INDEX(
$B$2:$B$8,
MATCH(
MAX( MMULT( --($B$2:$B$8=TRANSPOSE($B$2:$B$8)), --($A$2:$A$8=$E$1) ) ),
MMULT( --($B$2:$B$8=TRANSPOSE($B$2:$B$8)), --($A$2:$A$8=$E$1) ),
0))
如果出现平局,则返回出现在列表中第一位的用户。
它是这样的:
1.1。创建一个矩阵:乘以该值,输入中的每个User值将被赋予输出中该User的所有条目
1.2。创建向量:如果设备与我们要确定所有者的元素相同,则每个元素都是一个
1.3。将以上两个相乘
确定此列表中的最大值
找到该最大值最早出现的位置
获取与此事件对应的用户名