2016-09-16 64 views
2

我有一个来自不同公司的董事名单的数据。一家公司的董事在同一个董事会会面。此外,我也有一个数据,这些董事在同一个董事会有多少次。我必须创建一个由这些导演组成的邻接矩阵。节点表示2名董事在同一董事会中的次数(即,如果A和B来自公司1,并且在该公司中有11次会议,因此它在A和B的交叉点必须是11,并且如果A和从主管的不同板(来自不同公司)B,那么它必须在交叉点处为0。通过迭代创建加权邻接矩阵

我已经在Excel中通过命令成功创建该矩阵

=IF(VLOOKUP($E2;$A$1:$C$27;2;0)=(VLOOKUP(F$1;$A$1:$C$27;2;0));$C2;0) 

然而,主要的问题是两个或两个以上的董事可以在一个以上的董事会(一家公司)中开会,在这种情况下,会议的总数必须加在一起,例如,如果A和B在公司1中共同参加11次,而在公司参加3为4次,那么它在十字路口必须是15,不幸的是,我无法理解如何实现它。我搜索了类似的问题,但没有发现原始数据中的数据重复的情况。我不知道,是否可以在Excel中实现它,或者我应该使用其他软件(R还是其他软件)?

enter image description here

+1

你可以将'Name,CompanyID,Meetings'表作为文本粘贴到你的文章中吗? [如何使一个伟大的R可重现的例子?](http://stackoverflow.com/questions/5963269) – zx8754

回答

0

看是否有此数组公式适用于你: -

=SUM(ISNUMBER(MATCH(IF($A$2:$A$27=F$1,$B$2:$B$27,"+"),IF($A$2:$A$27=$E2,$B$2:$B$27,"-"),0))*$C$2:$C$27) 

必须与按CtrlShift键来输入输入

enter image description here

+0

谢谢,它的工作原理! – Vlad