我正在处理一个电子表格,它模拟了一个哈代-温伯格种群历经数代。
我有一组两个数字代表等位基因频率。有两列“配子”细胞,如果随机生成的数字小于第一个等位基因频率细胞,则显示“A”,否则显示“B”。
它们旁边的列将它们连接起来。
然后有三列(AA、AB 和 BB),如果连接的单元格与列的基因型匹配(对于 AB 列,我必须同时检查“AB”和“BA”),则输出“1”,否则输出“0”。
在这些列下方,我有一些单元格,它们将上述所有单元格加在一起,得到具有该基因型的个体总数。但是,这些单元格不起作用。下面是我在其中一个单元格中的公式:
=SUM(H3:H32)
以前这种方法对我有用,但现在不行了。单元格始终只输出“0”,即使其列中存在“1”单元格。
我已经检查过,并且自动重新计算已打开,基因型单元格都是数字单元格,并且没有任何循环引用。
编辑:这是“AA”列的公式:
=IF(G3="AA","1","0")
...“AB”列的公式:
=IF(OR(G3="AB",G3="BA"),"1","0")
...“BB”列的公式为:
=IF(G3="BB","1","0")
答案1
您的问题的答案很简单。您的“IF”条件就是导致您无法使用的原因。即使您的单元格是数字格式,您的“IF”条件也会在单元格中输入字符串而不是整数。字符串不能添加到“SUM”函数中。您应该删除条件中的引号,然后它会输入整数而不是字符串。我测试过这个,它有效。尝试以下操作:
=IF(G3="AA",1,0)
您应该对所有“IF”函数执行此操作,这些函数应该生成一个整数,该整数将在 SUM 函数中进一步添加。
编辑:刚刚意识到这个答案是在上面的评论中给出的,很抱歉重复了。