我有一张类似这样的表:
Customer ID | Review Flag | Date Received
London Official 27-May-14
London Official 29-May-14
Reginald Official 29-May-14
Reginald Official 29-May-14
Townie Official 05-Jun-14
FHAR_L Unofficial 05-Jun-14
Reginald Official 10-Jun-14
Akmed Official 10-Jun-14
PALNEES Unofficial 11-Jun-14
Akmed Official 11-Jun-14
Woody Official 11-Jun-14
Woody Official 11-Jun-14
Sarah Official 11-Jun-14
我想计算过去两周内独特官方案例的数量。因此,例如,此特定表的结果将是5个案例而不是7个案例。
我目前的实现是构建一个数据透视表,将客户ID作为行,然后在值列上运行一个count函数作为输出。这个问题是用户需要每天进入并更改数据透视表上的过滤器,这可能会让人感到困惑,因为我们每天都没有收到案例。例如,由于某些月份有31天,因此如果我们在31日没有收到案件,那么我们就不应该计算在下个月13日我们收到的案件。理想情况下,我希望这个解决方案能够以公式为基础。
我已经读过很多关于在excel中计算唯一身份的内容,但它们似乎都令人困惑和复杂。此外,它们似乎是基于一种条件,使其与COUNTIFS不兼容,这是我在尝试考虑时应该使用的功能' review flag = official'和'日期范围= cell1< x< = cell2'。
当然,我可以在VBA中做到这一点,但我想知道是否有基于公式的解决方案。
答案 0 :(得分:0)
我已经解决了!感谢这个非常棒的网站,帮助我了解如何破解独特的功能以及计算列表中唯一项目的小SUM(1/COUNTIFS(...))
方法。
我得到的公式是:=SUM(IF(("Official"=R18:R1000)*(D18:D1000>TODAY()-14),1/COUNTIFS(R18:R100,"Official",C18:C1000,C18:C1000,D18:D1000,">"&TODAY()-14)),0)
其中列名R =审核标志,D =收到日期,C =客户ID,数据集从第18行开始。
我认为这是如何工作的:我们有一个左侧数组(IF
数组)和右侧数组(COUNTIFS
)数组。 COUNTIFS
数组找出每个绑定发生的次数,即在数组行[10]它会询问" Woody,官方,11-Jun-14&#多少次? 39;一起出现?"。左侧数组查看哪些行符合我们的目标条件,每行返回true或false。 SUM
函数然后将右侧数组中的所有行相加,其中左侧数组表示该特定行为TRUE
,但正如我们之前1/
所做的那样,我们将获得每个绑定总计只有1个,从而模拟出一个独特的。
要记住的重要事项:
使用数组公式时,请确保所有数组的大小相同,否则会出错。
如果我在评论中出错,请纠正我,不要只是投票!