excel的最大精度是15位,如果一个单元格中存储的数字超过15位,那么函数在计算的时候将会出现问题,它们会将15位之后的数字变成0。
在这种情况下,需要在函数中加入通配符,例如,统计A列中,A1出现的次数(已知A1中的数字是大于15位的),
公式要设为:countif(A:A,A1&"*")
【这里再引申一下,通配符有"*"和"?"两种,那么上面的公式中,如果把*换成?,会怎么样呢?】
答案是不可以的,如果换成?,将会统计错误,因为通配符使用中有一个很容易被人忽视的规则,那就是*可以代表0或者空字符,而?则不能,例如:
hello?:表示所有比hello多一位的数据信息,不包括hello自己,因为这里的?必须代表一个字符,而不能为空字符
hello*:表示所有比hello多N位的数据信息,包括hello自己,因为*可以代表空字符
这样就能理解为什么上面的公式中,把*换成?就无法统计的原因了