我正在做一些简单的职责分离测试,并且有两个数据集显示(1)不允许的角色组合和(2)用户及其角色列表。
某些用户最多拥有20个角色,并且有超过100种不允许的组合。
下面是我拥有的数据结构的示例。
不允许的角色组合
critical_1 critical_2
-----------------------------------
role1 role3
role2 role1
role4 role5
... ...
用户角色
Username UserRole1 UserRole2 UserRole3 ...
-----------------------------------------------------------------------------
user1 role1
user2 role2 role6 role10
user3 role4 role500 role5
我还可以转换数据,因此它是一个序列,例如对于user3:
Username Roles
-------------------------------
user3 role4
user3 role500
user3 role5
... ...
但是,我认为每个用户位于同一行中的权限更易于使用。
预期结果是用户3 将被标识为具有不允许的角色组合(role4
和role5
)。
我一直在尝试各种INDEX(MATCH)和嵌套的VLOOKUP,但是我还不太清楚如何在数组中查找对,看看它们是否存在于一行值中。
在没有VBA的情况下可以做到吗?