单个单元中的几个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不要试图自己手动插入这些)。