在EXCEL表格里,统计非重复记录的条数是常见的操作。也因此,有一个固定的公式“=SUMPRODUCT(1/COUNTIF(D2:D35,D2:D35))”,用来统计表格里的非重复记录个数,新手小白收藏下来,直接修改参数套用即可。
那么如何理解这个公式呢?下面我们来拆开细看一下。
COUNTIF函数计算某个区域中满足给定条件的单元格数目。此函数参数简单,理解起来也容易,如图所示,“=COUNTIF($D$2:$D$35,D2)”即计算D2在D列中的个数,双击,可查看D列的每一个产品编号在D列中的单元格数目。
前面COUNTIF函数中的第二个参数是单个单元格,如果修改为和第一个参数一样的数组,返回的结果也是一个数组结果,分别显示出每一个产品编号的单元格个数,从结果上来看和上方的计算方法结果相同。
下面我们再来看看前面添加“1/”,这样,就相当于产品编号的个数有多少个,就分成了多少份,每一个产品编号占其几分之一。
这个时候,使用SUMPRODUCT函数来汇总这个数组,也就是相当于每个产品编号只计算了一次。这样就计算出了不重复记录的个数。
SUMPRODUCT函数是在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。
Sumproduct函数的语法是:
Sumproduct(array1,[array2],[array3],...),其中
array1:必需,表示一个数组
array2:可选,表示一个数组
array3...:可选,表示一个数组
这里要注意的是:
参数可以是多个数组,但最多不能超过255个。参数至少要有一个数组,即第一个参数是必需项。多个参数时,数组必需具备相同的维度,否则Sumproduct函数返回错误。会自动将非数值型数组元素按0来处理。就是说这个函数将多个数组对应元素相乘,并返回乘积之和,如果只有一个数组,那么返回这个数组各元素之和。如本文图例所示,就只有一个数组,也就将1除以COUNTIF函数的结果汇总求和。
怎么样?关于在表格里计算非重复数据的单元格个数,你学会了么?关于这个公式,你了解其具体含义了么?