目标:运行COUNTIFS匹配Sheet2!A:A到Sheet1!B:B以及下面示例中的已完成状态。目标是第1页从数据库中提取培训信息,然后我需要计算该数据库中的哪些人已完成特定培训项目列表(在表2中列出)。
我尝试设置COUNTIFS,但只能针对每个培训项目进行设置。我必须设置一长串这些加起来,并包含一个用户条件,使公式正常工作。
COUNTIFS(Sheet1!B:B,**Sheet2!A2**,Sheet1!C:C,"complete")
为了节省我很多时间和潜在的错误,我想运行:
COUNTIFS(Sheet1!B:B,**Sheet2!A:A**,Sheet1!C:C,"complete")
但是,当我输入公式时,它会显示错误。我也试图利用数据透视表,但它不允许我完成COUNTIFS作为表的计算字段。 我愿意使用VBA,但如果能够解决我的问题,那么它的经验有限。
表1:
Name LO ID/Title Status
user 1 LO 1 complete
user 1 LO 2 complete
user 1 LO 3 registered
user 2 LO 1 complete
user 2 LO 3 complete
user 2 LO 4 complete
表2:
Cirricula
LO 1
LO 3
LO 4
编辑:表2中的理想输出:
用户1 - 1 (因为他们只有LO1完成,在子环中不需要LO2,而LO3是注册状态)
用户2 - 3 (因为他们已经完成了所有三项完整的课程)
答案 0 :(得分:1)
这涉及LO 2
过滤器的手动选择(以排除LO ID/Title
)(除非使用VBA设置),但似乎给出了所需的结果:
答案 1 :(得分:0)
在工作表2的B栏上,您可以使用
=SUMPRODUCT((Sheet1!$B$2:$B$7=A2)*(Sheet1!$C$2:$C$7="complete"))
将作为输出
Cirricula Count complete
LO 1 2
LO 3 1
LO 4 1
更新/修改
要引用user
,只需引用A列而不是B列(或者您的user
列之后):
=SUMPRODUCT((Sheet1!$A$2:$A$7=D2)*(Sheet1!$C$2:$C$7="complete"))
在表2中,我在User
列
D
Cirricular count cirricular complete User counter user complete
LO 1 2 user 1 2
LO 2 1 user 2 3
LO 4 1
更新/编辑2
要使用公式获得您想要的内容,我在C列中添加了vlookup
,以查看LO ID
是否在LO ID
的所需列表中。然后,您可以在sumproduct
公式中添加第三个条件。
(C列中的vlookup
为=IF(ISERROR(VLOOKUP(B2,$F$2:$F$4,1,FALSE)),"no","yes")
)
答案 2 :(得分:0)
假设你有这样的数据:
请注意,LO列表位于Sheet2中。在F2中输入此公式:
=SUMPRODUCT(COUNTIFS(A$2:A$7,E2,B$2:B$7,Sheet2!A$2:A$4,C$2:C$7,"complete"))
以上公式将为您提供上述结果
离我之前发布的内容不远,我们刚刚添加了另一个标准范围和标准
简而言之,在处理多个条件时,您只需要在 COUNTIFS 公式中加入 SUMPRODUCT
。
注意:强> 您的上述公式仅缺少 SUMPRODUCT 以及用户的其他条件,但我不建议将整个列用作标准,因为它会损害Excel'计算时间。如果您的数据是动态的,最好的选择是使用Dynamic Named Range作为多个条件。 HTH。