我正在创建一个授权矩阵,以便分发给我的客户。我的Excel工作簿包含两个表:应用程序和权限/角色。
我想获取每个表的第一列,并在另一个工作表上动态生成X,Y矩阵,我的客户端可以在其中标记所需的应用程序/角色组合。
到目前为止,我已尝试过数据透视表,但无法编辑。我想远离宏,因为这将发给外部客户。
最后,我想得到一个动态生成的矩阵,如下所示:
Role 1 | Role 2 | Role 3 | Role 4 | ... | Role n |
App 1 | | | | | |
App 2 | | | | | |
App 3 | | | | | |
App 4 | | | | | |
... | | | | | |
App n | | | | | |
有什么想法吗?
答案 0 :(得分:0)
如果下面的图片是您正在寻找的图片,那么您可以使用下面的方法,然后在发送给客户端的工作表上复制并粘贴为值。
您需要手动创建唯一的应用列表。
每个应用程序旁边都会有几个数组公式来提取相关的角色。
jclass thisClass = (*env)->GetObjectClass(env, obj);
jfieldID sendId = (*env)->GetFieldID(env, thisClass, "sendBuffer", "[B");
如果您的数据位于Excel表格中,则公式更易于创建和阅读。
=IFERROR(INDEX($B$3:$C$14,SMALL(IF(($B$3:$B$14=$C17),ROW($B$3:$C$14)-2),ROW($1:$1)),2),"")
这是一个数组公式,因此你需要使用 Ctrl + Shift + Enter 来提交公式。
公式可以自动填充,但您将在每个角色下获得相同的值。您需要将角色2下的=IFERROR(INDEX(Table1,SMALL(IF((Table1[App Name]=$C16),ROW(Table1)-2),ROW($1:$1)),2),"")
更改为ROW($1:$1)
,将角色3等下的ROW($2:$2)
更改为您认为需要的角色。记得在每次更改后使用 Ctrl + Shift + Enter 。
然后只需填写,它将填充列表中每个应用的所有角色。
将副本另存为模板,并使用复制和粘贴作为值,以便在将其结束到客户端之前删除所有可怕的公式。