|
=SUMPRODUCT(1/COUNTIF(a1:a10,a1:a10&"")-1/COUNTA(a1:a10&"<>"))
这个函数绕开了空白单元格这个问题,目前空白单元格,微软默认的值是0,但是这个0的格式它没有默认,所以碰到这种情况,处理单元格的时候不能相当然地认为是数值格式,但是很多情况下没有做相应的处理也能得到正确的结果,在碰到count,countif的时候空白单元格就在统计的范围之内,此时把countif当分母的话就会出现分母为0的情况。因此有必要作下处理,
COUNTIF(a1:a10,a1:a10&"") 中的a1:a10&""这一部分其实是把a1:a10区域转化成文本,这样就符合countif函数的要求了,
这样1/COUNTIF(a1:a10,a1:a10&"") 的意义就明确了:表示某个数在相同个数的比例,
而后面的COUNTA(a1:a10&"<>")也是把相应的区域转化成文本,这样所有单元格的个数就统计进去了,
而1/COUNTIF(a1:a10,a1:a10&"")得到的结果是一个数组,1/COUNTIF(a1:a10,a1:a10&"")-1/COUNTA(a1:a10&"<>")整个就相当于数组里的值都要减去总的区域单元格个数的倒数(其实就相当于整体减1),
这样最后的结果就是不相同数字的个数了 |
|