{=SUM(IF(A1:F3<>"",1/COUNTIF(A1:F3,A1:F3)))} 请解释一下该数组公式是如何得出的范围内数值种类数目
2个回答
展开全部
IF(A1:F3<>"",……是排除空单元格用1除时出现的错误值。主要函数是:SUM(1/COUNTIF(A1:F3,A1:F3))。
数组公式COUNTIF(A1:F3,A1:F3),分别以A1至F3中每一个数据为条件,返回A1:F3区域中包含这些条件的个数。例如与A1相同的有A1、A2、A3,共3个单元格,那么以A1为条件时,返回3;以A2为条件时又返回3;以A3为条件时还是返回3(其它单元格为条件时反回0,被IF忽略)。
那么1/{3,3,3},返回{1/3,1/3,1/3}
SUM({1/3,1/3,1/3})等于1
即与A1相同的数据虽然有3个,但结果只算1。
同理,其它多个相同值也只算1个,达到计算种类数目的目的。
数组公式COUNTIF(A1:F3,A1:F3),分别以A1至F3中每一个数据为条件,返回A1:F3区域中包含这些条件的个数。例如与A1相同的有A1、A2、A3,共3个单元格,那么以A1为条件时,返回3;以A2为条件时又返回3;以A3为条件时还是返回3(其它单元格为条件时反回0,被IF忽略)。
那么1/{3,3,3},返回{1/3,1/3,1/3}
SUM({1/3,1/3,1/3})等于1
即与A1相同的数据虽然有3个,但结果只算1。
同理,其它多个相同值也只算1个,达到计算种类数目的目的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询