INDEX-MATCH和SUMPRODUCT

时间:2017-11-15 18:24:37

标签: excel excel-formula

我有一个用户列表以及他们与Active Directory关联的安全组。它看起来像这样:

Username  Security Group
Chris     Group A
Chris     Group B
Chris     Group C
Dave      Group D
Dave      Group A
Dave      Group E

我有另一个用户名列表,我需要交叉引用以确定用户是否属于一个或多个特定安全组。安全组列表是动态的,并会根据其他一些标准进行更改,因此我只想在我的支票中引用一个命名范围。

我现在正在使用的等式如下:

=IF(INDEX('Users in Security Groups'!C:C, MATCH('Cross-Reference'!A2, 'Users in Security Groups'!B:B, 0))=Rng_SecGrp, "YES", "NO")

因为INDEX-MATCH在我得到的第一个值上停止" NO"我知道的用户名实际上属于我所关注的这些安全组。我想,答案在于数组公式和/或SUMPRODUCT,但两者都在我的舒适区之外,而且我还没有确定正确的公式到这一点。

任何帮助表示赞赏!谢谢!

1 个答案:

答案 0 :(得分:1)

使用COUNTIFS()而不是INDEX(,MATCH()):

=IF(SUM(COUNTIFS('Users in Security Groups'!C:C,Rng_SecGrp,'Users in Security Groups'!B:B,'Cross-Reference'!A2)),"YES","NO")

这可能需要使用Ctrl-Shift-Enter输入数组。