如何根据函数中的其他列来计算唯一用户?

在这里输入图像说明

我build立了一个数据集,我有不同的周数,主机和用户(我将关注的内容)。

我需要做的是能够统计每台主机每周的独特用户数。 我将每周更新这个列表,所以我想使用一个公式,我可以把它放到一个macros来自动化,而不是做一个数据透视表。

我到目前为止:

SUMPRODUCT(COUNTIFS(Active_Users_Master!$A:$A;"9";Active_Users_Master!$D:$D;'C:\Users\wra\Desktop\host.xlsx'!host1)) 

以上统计每周的用户数量9,并将主机名称与我在另一个excel中创build的命名范围进行比较。 所以它做的一切,但它不包括唯一的用户,这是最后一步。 我也不想简单地删除重复,因为我想最终保留所有的信息存储,不会丢失任何数据。

看看我附加的图片,我希望“琼斯”在我的主机1的第9周计数中只出现一次。

任何帮助,将不胜感激。 如果你可以帮助写一个VBA脚本,那将更加惊人! 谢谢!

你可以使用这个:

 Option Explicit Sub ListUnique() Dim c As Range Dim key As Variant With CreateObject("Scripting.Dictionary") For Each c In Range("A2", Cells(Rows.Count, 1).End(xlUp)) key = c.Value & "|" & c.Offset(, 2).Value & "|" & c.Offset(, 3).Value .Item(key) = c.Row Next c Range("A2", Cells(Rows.Count, 1).End(xlUp)).EntireRow.Hidden = True For Each key In .keys Rows(.Item(key)).Hidden = False Next End With End Sub