单个单元中的几个matrix运算

我有这个样本matrix,其中行是指不同的物种和列是指不同的观察位置。 取决于物种是否在该特定位置被观察到(即,物种B已经在位置#1和#2中被观察到),细胞被填充1或0

1 2 3 a 1 1 0 b 1 1 0 c 1 0 0 d 0 0 1 

我必须计算每个物种的发生。 物种的出现被定义为:“观察到某物种的其他物种的数量除以其他物种的总数量”(即:物种A已经在物种1和区域1中被物种B和C观察到, (B,C,D)或0.667中的B和C),发生1意味着物种X已经与所有其他物种一起被发现而0的出现意味着物种X总是被单独发现。

结果会是这样的:

物种出现a 0.67 b 0.67 c 0.67 d 0.00

我能够生成一个辅助matrix,其行和列的数量与物种数量一样多,并且如果发生或者不发生,使用SUMPRODUCT检查每个交互。 然后总结所有的列值并划分并得到出现。

我的问题是:“ 在一个单细胞中执行这样的公式是可能的?

非常感谢。

假设表格在A1:D5 ,在E2数组公式**

=MAX(0,SUM(N(MMULT(B$2:D$5,TRANSPOSE(B2:D2))>0))-1)/(COUNTA(A$2:A$5)-1)

根据需要复制。

问候

**数组公式不是以与“标准”公式相同的方式input的。 按住CTRL键和SHIFT键,而不是按下ENTER键,然后按ENTER键。 如果你做得对,你会注意到Excel在公式周围放置了大括号(尽pipe不要试图自己手动插入这些)。