如何用函数统计不重复数据的个数?两种方法教你快速搞定

2024-06-21 0

1案例

如下图所示,A1:D14区域为工厂各部门员工3月份加班情况表。现在需要统计3月份F2单元有多少人加班。

B栏显示,该员工在3月份多次加班。统计3月份有多少员工加班,实际上是统计唯一值的个数,B2:B14。

2行动步骤

方法一、sumproductcountif函数

在单元格F2中,输入公式SUMPRODUCT(1/COUNTIF(B2:B14,B2:B14))

分辨率分析。

(1)countif函数用于统计符合给定条件的单元格数量。COUNTIF(B2:B14,B2:B14)的范围和条件参数均为B2:B14,函数返回的结果为数组{3;1;3;3;1;1;2;2;3。;1;3;1}。每个数字表示相应名字出现的次数,例如“张华”出现3次,“林桂香”出现1次。

(2)1/COUNTIF(B2:B14,B2:B14)将countif创建的数组除以1,结果是一组数组{0333333333333333;1;03333333333333333;33333;033333;333333333333333;1;033333333333333;033333333333333;1}。

对于只出现一次的名称,1/COUNTIF(B2:B14,B2:B14)返回1,例如“林桂香”、“张桂香”和“陆文秀”。对于出现多次的名称,1/COUNTIF(B2:B14,B2:B14)返回1/n(n为出现次数,例如“张华”出现3次,1/COUNTIF()):B14,B2:B14)1/30333333333333333如果出现3次,则为31/3。

(3)SUMPRODUCT(1/COUNTIF(B2:B14,B2:B14))对1/COUNTIF(B2:B14,B2:B14)创建的数组求和,最终返回区域内不重复值的个数B2:B14。

方法二、和积频率函数

在单元格F2中输入公式

求和(--(频率(B2:B14,B2:B14,0),ROW(B2:B14)-ROW(B2)1)>0))

分辨率分析。

(1)match函数用于返回特定值在区域中的相对位置。语法如下:

匹配(搜索值,搜索,[匹配类型])。MATCH(B2:B14,B2:B14,0)lookvalue和lookuparray参数都是B2:B14,表示返回每个名字在B2:B14空间中的相对位置。match函数返回的数组为{1;2;1;4;5;6;7;7;4;10;1;4;13}。当名称多次出现时,匹配函数将返回第一次出现的位置,例如“ZhangHua”出现在B2:B14范围的第1、3和11行中。

(2)ROW(B2:B14)-ROW(B2)1返回序列{1;2;3;4;5;6;7;8;9;10;11;12;的值数组;13}

(3)Frequency函数返回数据集的频率分布,语法为Frequency(dataarray,binsarray)。FREQUENCY(MATCH(B2:B14,B2:B14,0),ROW(B2:B14)-ROW(B2)1),参数data数组为match函数生成的数组,参数binsarray为生成的数组,即系列功能。频率函数生成数组{3;1;0;3;1;1;2;0;0;1;0;0;1;0},“张华”出现3次,“林桂香”出现。一度。当姓名已统计完并再次出现时,频数函数统计0次,例如B2单元格中“张华”的频数结果为3,B4单元格中“张华”的频数结果为3。

(4)频率(B2:B14,B2:B14,0),ROW(B2:B14)-ROW(B2)1)>0结果{TRUE;TRUE;COLD;TRUE;真;真;真;冷;假;真;真;真;真;冷}。True的数量是不同值的数量。

(5)SUMPRODUCT(--(Frequency(MATCH(B2:B14,B2:B14,0),ROW(B2:B14)-ROW(B2)1)>0)),两个负号(--)true转为1,False转为0,然后用sumproduct函数求和。

第一种方法的公式比第二种方法简单。但第一种方法适合小数据量统计,第二种方法适合大数据量统计。

本站文章均由用户上传或转载而来,该文章内容本站无法检测是否存在侵权,如果本文存在侵权,请联系邮箱:2287318951@qq.com告知,本站在7天内对其进行处理。

发布评论