我在实地考察期间研究过一片森林,其中有一张点列表,每个点都与一些树木相关联。这些树木在该点内被赋予一个编号并指定一个物种。在 700 多个点上统计了超过 11,000 棵树。
我试图计算每个点上特定物种的树木数量,但我注意到在某些点上我得到的结果是预期结果的两倍,因此我将 countifs 简化为 countifs,并注意到对于这些相同的点,Excel 重复计算了这些点。这可能是为什么?
这是我的表格的前 10 行:
当我使用公式时:
=COUNTIF(A:A,"08-13")
我得到了 56,是我预期 28 的 2 倍。如果我对 A:A 使用“查找全部”,它会按预期返回 28 个单元格。
我知道我的点名称的格式不太好,因为它与日期格式相似,但到目前为止我已经设法避免了这个问题,并且不明白为什么它会在这一点上引起问题。
任何帮助都将不胜感激!
答案1
感谢@ScottCraner 提供的解决方案,但我想我会花几分钟写出答案,以防有人遇到同样的问题。
问题在于,由于点号的格式可以被 Excel 解释为日期,因此它被解释为日期。因此,尽管单元格格式将“08-13”存储为字符串并避免转换为日期,但调用if
语句会导致 Excel 重新将字符串视为日期。
这里的解决方案是使用sumproduct
以下格式:
=SUMPRODUCT(--(A:A="08-13"))
其中--(A:A="08-13")
是第一个数组,之后如果需要的话也可以使用其他数组*ifs
来代替简单的*if
。
感谢大家对此进行调查,特别感谢@ScottCraner 的修复:)