中企动力 > 商学院 > excel计算不重复个数
  • ?

    Excel中如何去除重复值,保留唯一值

    灵风

    展开

    有些Excel表格使用时间长了,就出现了一些重复项,有整行内容重复的,也有部分内容重复的,就像下图左边的表格,有三个“张三”和两个“王五”,怎样变成右边那个没有重复项的表格呢?如果只有一部分列的内容重复,其他列的内容不重复的又怎么处理呢?怎样统计每个不重复项的个数呢?

    图1-1

    使用“删除重复项”功能

    首先选中所有数据,接着点击“数据”菜单——“删除重复值”——“确定”,这时Excel会告知你原始表中有几个重复值,几个唯一值,所有的重复项都会被删除掉。

    图1-2图1-3

    使用高级筛选功能

    首先还是选中所有数据,点击“数据”菜单——“高级”——选中“选择不重复的记录”——“确定”。这个窗口中提供了两种方式去显示筛选后的数据,第一种会在原有区域显示筛选结果,第二种,需要先用鼠标点击“复制到”,接着点击一个空白单元格,确定之后就会以该单元格为第一个单元格,显示所有唯一值,也就会看到文章开头的表格啦。

    图1-4

    提取了唯一值之后

    上述两种方法都可以用来删除重复项,根据需要选取,如果提取了唯一值后,不需要任何操作,按就适合选择第一种方法,方便、快捷;如果提取了唯一值之后,还要计算这些唯一值出现的次数,那就适合第二种方法。如图,输入公式“=COUNTIF($A$2:$A$10,E2)”,然后向下填充复制公式,即可计算出每个不重复数据出现的次数(不了解COUNTIF公式用法的,请点击Excel中按条件统计之COUNTIF和SUMIF公式这篇文章)。

    图1-5

    只有一部分数据重复怎么办

    用上面的两个方法,如果操作前你选中的是很多列的数据,那只有一整行数据都相同的才能称之为重复项,只有这样的行才会被删除掉。如果只有一列或几列内容相同,其他列不相同或空白,那怎么办呢?

    首先建议先用上面的两种方法删除掉一些重复项;接着选中一个关键列(例如姓名),点击“开始”菜单——“条件格式”——“突出显示单元格规则”——“重复值”,给这一列中重复值用颜色标记出来;再选中数据,给它按照颜色和数值排序,将有颜色的放在前面;最后,由于排过序,表格有规律,就可以逐行查看,如果不需要就删除它,否则就保留。

    图1-6

    上一篇:Excel中如何快速隐藏一定条件的单元格

    来源:“解晴新生”,点击文章开头的“解晴新生”或“关注”可以查看更多相关文章哦。方便的话,请点赞支持下,谢谢!

  • ?

    成为EXCEL高手的捷径,死记硬背通用公式(1)

    苏老四

    展开

    Excel函数多,公式有时又比较复杂、难懂,看到别人用得娴熟,快速解决了一个又一个问题,心里往往十分羡慕。其实,想要成为EXCEL函数和公式的应用高手,是有一个捷径可以走的。有不少公式不需要理解,直接套用就行,你只要花点功夫记住这些通用公式,到时,不但可以高效完成工作,还可以在同事、朋友面前装逼、得瑟一番。

    今天,我总结了第1组万能的通用公式分享给大家。

    1、多条件计数公式

    EXCEL函数公式模板:=Sumproduct(条件1*条件2*条件3...)

    示例:统计各班级“上海籍”“女生”人数。在下表,H3单元格输入公式:

    =SUMPRODUCT(($A$2:$A$18=G3)*($C$2:$C$18="女")*($D$2:$D$18="上海")),向下复制即可。

    2、多条件求和公式

    EXCEL函数公式模板:=Sumproduct(条件1*条件2*条件3... , 数据区域)

    示例:统计“各班级”“上海籍”“女生”三门总分之和,三门平均值。在下表,K3单元格输入公式:

    =SUMPRODUCT(($A$2:$A$18=J3)*($C$2:$C$18="女")*($D$2:$D$18="上海"),$E$2:$E$18)

    注:条件求和也可用sumifs函数,但Sumproduct可以对数组处理后再设置条件,同时也可以对文本型数字进行计算,而Sumifs函数则不可以。

    3、多条件判断公式

    EXCEL函数公式模板:=IF(AND(条件1,条件2...条件n),同时满足条件返回值,不满足条件返回值)

    公式模板:=IF(OR(条件1,条件2...条件n),满足任一条件返回值,不满足条件返回值)

    示例:三门总分低于300分,数学低于100分,标注“要补习”。在下表,G2单元格输入公式:

    =IF(AND(F2<300,E2<100),"要补习","")

    4、多条件查询公式

    EXCEL函数公式模板:Lookup(1 , 0/((条件1*条件2*条件3...)) , 返回值区域)

    示例:根据班级、姓名,查学生数学成绩。在下表,S3单元格输入公式:

    =LOOKUP(1,0/(($A$2:$A$18=Q3)*($B$2:$B$18=R3)),$E$2:$E$18)

    5、多条件排序公式

    EXCEL函数公式模板:=SUMPRODUCT((条件1*条件2*条件3...)*(参照区域>=拟排序数值))

    示例:计算三门总分在本班中的排名。在下表,H2单元格输入公式:=SUMPRODUCT(($A$2:$A$18=A2)*($F$2:$F$18>=F2))

    6、条件求均值公式

    EXCEL函数公式模板:=SUMIF(条件区域, 条件值, 求和区域)/COUNTIF(条件区域, 条件值)

    示例:计算各班数学、三门总分平均分。在下表,以计算数学各班均分为例,在W3单元格输入公式:

    =SUMPRODUCT(($A$2:$A$18=A2)*($F$2:$F$18>=F2))

    7、计算不重复值个数的公式

    EXCEL函数公式模板:=SUMPRODUCT(1/COUNTIF(区域 , 区域))

    示例:计算学生籍贯地数量。在下表,在Z2单元格输入公式:

    =SUMPRODUCT(($A$2:$A$18=A2)*($F$2:$F$18>=F2))

    每天学习一点,每天进步一点,积硅步,必能致千里、得大成。

  • ?

    Excel用Rand和RandBetween函数生指定范围且不重复的随机数

    浪涛

    展开

    在 Excel 中,生成随机数有两个函数,分别为Rand函数和RandBetween函数,前者用于生成 0 到 1 之间的随机数,后者用于生成指范围的随机数。它们生成的随机数中都会产生重复值,如果要生成不重复的随机数得用变通的方法,通常有两种方法,一种为先生成种子再生成不重复的随机数,另一种为用多个函数生成。以下就是Excel生不重复随机数和小数随机数的具体操作方法,实例中操作所用版本均为 Excel 2016。

    一、Excel随机数生成函数

    (一)Rand函数

    1、表达式:RAND()

    2、说明:RAND() 用于生成 0 到 1 之间均匀分布的随机数。如果要生成指定范围的随机数,表达式可以这样写:RAND()*(b-a) + a。

    (二)RandBetween函数

    1、表达式:RANDBETWEEN(bottom, top)

    2、说明:RandBetween 用于生成指定范围的随机数,bottom 为生成随机数的开始值,top 为生成随机数的最大值。例如:要生成 10 到 100 的随机数,可以这样写:RANDBETWEEN(10, 100)。

    二、Excel随机数生成的方法举例

    (一)用 RAND() 生成小数随机数

    1、选中 A1 单元格,输入公式 =RAND(),按回车,则生成一个小数随机数;再次选中 A1,把鼠标移到 A1 右下角的单元格填充柄上,按住左键,往下拖,则所经过单元格都用 A1 的值填充,按 Ctrl + S 保存,则每个单元格变为新生成的随机数;操作过程步骤,如图1所示:

    图1

    2、用 Rand() 生成指定范围的随机数

    假如要生成 1 到 100 的随机数。选中 A1 单元格,把公式 =RAND()*(100 - 1) + 1 复制到 A1,按回车,则生成一个 1 到 100 之间的随机数;同样方法往下拖并保存生成其它随机数,操作过程步骤,如图2所示:

    图2

    (二)用 RandBetween() 生成指定范围的随机数

    假如要生成 50 到 100 之间的随机数。选中 A1 单元格,把公式 =RANDBETWEEN(50, 100) 复制到 A1,按回车,生一个 50 到 100 之间的随机数;同样用往下拖并保存的方法生成其它随机数,操作过程步骤,如图3所示:

    图3

    三、Excel生成不重复的随机数

    (一)方法一:先生成种子再生成不重复的随机数

    1、生成不重复的小数随机数。选中 A1 单元格,输入公式 =RAND(),按回车,则生成一个随机数,把鼠标移到 A1 的单元格填充柄上并往下拖,然后 Ctrl + S 保存,生成其它随机数;选中 B1 单元格,输入公式 =RAND()*A1,按回车,则生成一个不重复随机数,同样方法往下拖并保存,生成其它不重复随机数;操作过程步骤,如图4所示:

    2、生成不重复的整数随机数

    A、假如要生成 10 到 100 之间的不重复随机数。把公式 =RANDBETWEEN(10,100) 复制到 A1 单元格,按回车,生成一个随机数;用往拖并保存的方法生成其它随机数;把公式 =INT(RANDBETWEEN(10,100)*A1/100) 复制到 B1 单元格,按回车,生成一个不重复的随机数,同样用往下拖的方法,生成其它不重复的随机数;操作过程步骤,如图5所示:

    图5

    B、公式说明:公式 =INT(RANDBETWEEN(10,100)*A1/100) 先用 RANDBETWEEN 求出 10 到 100 之间的随机数,然后乘 A1 中的随机数,再除以 100 以确保所求随机数在 10 至 100 之间,最后用 Int 函数取整。

    提示:这个方法不能确保绝对不生成重复的随机数,当每次生成的随机数有两组完全相同时,同样会生成重复的随机数。例如,A2 和 B2 生成的随机数与 A5 和 B5 生成的随机数相同,那么 B2 = A2 × RAND() 等于 B5 = A5 × RAND(),则在 B2 与 B5 生成的随机数相同。

    (二)方法二:用公式生成准确不重复随机数

    1、假如要生成 1 到 10 之间的不重复随机数。把公式 =SMALL(IF(COUNTIF($A$1:A1,ROW($1:$10))=0,ROW($1:$10)),INT(RAND()*(10-ROW(1:1))+1)) 复制到 A2 单元格,按 Ctrl + Shift + 回车,则生成一个 1 到 10 之间的不重复随机数;把鼠标移到 A2 的单元格填充柄上并往下拖,然后保存,则生成 1 到 10 之间的其它不重复随机数;操作过程步骤,如图6所示:

    2、公式说明

    A、$A$1:A1 中的 $A$1 表示绝对引用,A1 表示相对引用,即往下拖时,$A$1 始终不变,A1 则会变为 A2、A3 等。

    B、ROW($1:$10) 是对一组单元格的引用,返回一个 1 到 10 的数组,即 {1;2;3;4;5;6;7;8;9;10}。

    C、ROW(1:1)是对一个单元格的引用,返回一个一行一列的数组,往下拖时会变为 ROW(2:2)、ROW(3:3) 等。

    D、用公式求值查看公式执行过程

    选中 A2 单元格,选择“数据”选项卡,单击“公式求值”,打开“公式求值”窗口,单击一次“求值”,则计算一步。第一次单击“求值”,把公式中的 ROW($1:$10) 变为 {1;2;3;4;5;6;7;8;9;10},下面的求值步骤请看演示,如图7所示:

    E、逆向解析公式执行过程

    1)公式执行到最后一步变为 =SMALL({1;2;3;4;5;6;7;8;9;10},8},如图8所示:

    图8

    2)公式 =SMALL({1;2;3;4;5;6;7;8;9;10},8} 的意思是:从数组 {1;2;3;4;5;6;7;8;9;10} 中找出第8小的数,即为 8;也就是说前面步骤所要做的工作就要生成数组 {1;2;3;4;5;6;7;8;9;10} 和生成序号 8。

    3)IF(COUNTIF($A$1:A1,ROW($1:$10))=0,ROW($1:$10)) 负责生成数组 {1;2;3;4;5;6;7;8;9;10},INT(RAND()*(10-ROW(1:1))+1) 负责生成序号 8。

    4)COUNTIF($A$1:A1,ROW($1:$10) 是统计数组 {1;2;3;4;5;6;7;8;9;10} 每个元素在 A1 中出现的个数,A1 单元格为空,因此,统计结果全为 0,即{0;0;0;0;0;0;0;0;0;0},如图9所示:

    图9

    再看 A4 单元格中的同样步骤(选中 A4,打开“公式求值”窗口,点“求值”一直到与图9一样的步骤),第 1、3 个元素为 1,即 {1;0;1;0;0;0;0;0;0;0},为什么第 1、3 个元素为 1,其它元素为 0?,因为 1 和 3 已经生成了随机数,即 A2 和 A3 中的随机数,如图10所示:

    图10

    继续往后执行,1 会变为 False,0 会变 True,如图11所示:

    图11

    也就是为 False 的,就不会再从 ROW($1:$10)(即 {1;2;3;4;5;6;7;8;9;10})返回元素,如图12所示:

    图12

    当用 Small 从{False;2;False;3;4;5;6;7;8;9;10} 返回元素时,只从数字中返回,False 将被忽略。

    5)RAND()*(10-ROW(1:1))+1 表示生成 1 到 10 之间的随机,可参照 Rand() 生成指定范围(a 到 b)的随机数公式 RAND()*(b-a) + a;最后用 Int函数取整。

    3、如果要生成 10 到 100 之间的不重复随机数,公式可以这样写:

    =SMALL(IF(COUNTIF($A$10:A10,ROW($10:$100))=0,ROW($10:$100)),INT(RAND()*(90-ROW(10:10))+1)),如图13所示:

    图13

    按 Ctrl + Shift + 回车,则生成一个 10 到 100 之间的随机数,用往下拖的方法生成其它 10 到 100 之间的随机数,结果如图14所示:

    图14

    注意:把公式复制到 A11 单元格和公式中修改的项,如 $A$10:A10、ROW($10:$100) 和 90-ROW(10:10)。

  • ?

    在excel中提取不重复值的3种方式,高效办公不加班!

    左灵阳

    展开

    前言:

    在excel中提取不重复值,是很常见的需求,但如何方法不当,也可能会花费较多的时间。今天我就总结3种快速提取不重复值的方法,供你参考,希望能给你的工作带来帮助和启发。

    提取不重复值

    方法1:删除重复项

    方法2:高级筛选

    方法3:利用透视表

    结论:小伙伴们,你学会了吗?最后想做一个小调查,以上3种方式,你更愿意使用哪种方式呢?也欢迎你在评论区留言给我,谢谢!

    你更愿意选择哪种方式取唯一值? (单选)

    0人

    0%

    第一种:利用删除重复项

    第二种:利用高级筛选

    第三种:利用数据透视表

    投票

  • ?

    Excel函数公式:含金量超高的随机数、不重复随机数生成技巧解读

    郑巧蕊

    展开

    随机数,在我们的日常中的应用也是非常广泛的,那么,如何生成随机数,如何生成不重复的随机数,你真的了解吗?

    一、生成0-1之间的随机数。

    方法:

    1、在目标单元格中输入公式:=RAND()。

    2、如果要重新生成,按F9刷新即可。

    解读:

    Rand函数没有参数,可以生成0-1之间的随机数,小数位数可以具体到15位。

    二、1—N、N—N+N之间的随机数。

    方法:

    1、在目标单元格中输入公式:=RANDBETWEEN(1,20)、=RANDBETWEEN(50,100)。

    2、如果要重新生成,按F9刷新即可。

    解读:

    1、RANDBETWEEN函数具有两个参数,分别为随机数范围的起始值和终止值,包括起始值和终止值。

    2、从上述的两个示例中我们可以看出,随机数的生成技巧,但是,生成的随机数中有重复值,如果我们不需要重复值,该如何去操作呢?

    三、1-10不重复数。

    方法:

    1、在辅助列1中输入公式:=RAND()。

    2、将辅助列1中的随机值以【值】的行驶粘贴到辅助列2中。

    3、在不重复列中输入公式:=RANK(D3,D$3:D$12)。

    4、对不重复列【排序】。

    四、1-N不重复随机数。

    方法:

    1、在辅助列1中输入公式:=RAND()。

    2、将辅助列1中的随机值以【值】的行驶粘贴到辅助列2中。

    3、在不重复列中输入公式:=RANK(D3,D:D)。

    4、对不重复列【排序】。

    解读:

    数字N可以根据实际需要来决定,如果有多行,辅助列1和辅助列2的值也需要N行即可。

    五、20-40之间的不重复随机数。

    方法:

    1、在辅助列1中输入公式:=RAND()。

    2、将辅助列1中的随机值以【值】的行驶粘贴到辅助列2中。

    3、在不重复列中输入公式:=RANK(D3,D:D)+19。

    4、对不重复列【排序】。

    解读:

    1、生成20-40之间的随机数,相对于生成1-N之间的随机数唯一不同之处在于公式:=RANK(D3,D:D)+19中加了19,所以大家要注意哦。

    2、生成N-N+X之间的数,辅助值的确定方法为N-1,例如生成20-40之间的数,加的值为20-1=19。

    六、200-400之间的不重复随机数。

    方法:

    1、在辅助列1中输入公式:=RAND()。

    2、将辅助列1中的随机值以【值】的行驶粘贴到辅助列2中。

    3、在不重复列中输入公式:=RANK(D3,D:D)+199。

    4、对不重复列【排序】。

    结束语:

    通过上述示例的学习,相信大家对于各类随机数的生成已经有所掌握了,学习过程中,如果有新的意见或观点,欢迎大家在留言区留言讨论哦!

  • ?

    Excel快速生成不重复的1-N区间的随机数

    冰之

    展开

    Excel中产生随机数的函数有两个,Rand函数和Randbetween函数

    Rand函数使用

    Rand()不带任何参数,表示生成一个0-1的随机实数,其后面小数点可以具体到15位,如下所示:

    Randbetween函数使用

    在单元格中输入=randbetween(1,20),产生的是1-20区间的随机整数

    如果我们现在想要生成一串数字,它是某个区间不重复的数据

    例1、生成1-10区间的不重复数据。

    如果想抽取其中的几个,例如5个,则在A列中输入函数=rand(),生成的是1-10区间的,有10个数,所以从A1填充至A10,总共10个随机数,然后在B列输入=rank(a1,a:a),需要几个就向下填充几个即可,得到的就是不重复的5个数据

    如果想得到10个不重复的随机数, 那只需要将B列填充10个即可,如下所示:

    例2,生成30-39区间的不重复随机数

    【30-39】区间共有10个数,所以在A列生成10个rand()函数,然后在B列输入公式

    =29+RANK(A1,A:A)即可

    例3,生成2000-3000能除以100的整数的随机不重复整数

    【2000-3000】中有11个,所以在A列填充11个rand()函数,然后在B列输入公式:=(19+RANK(A1,A:A))*100即可

    其他情况也都是举一反三的,本节完

    你学会了吗?为自己持续学习的态度点个赞呗!

    ---------------------

    欢迎留言,转发,关注,更多精彩内容持续更新中...

  • ?

    Excel用计数Count统计含或不含重复数字的个数与非空单元格数

    惆怅

    展开

    表格中通常含有某些数字重复的记录,而有时不希望统计它们,这就需要统计时不含重复记录。在 Excel 中,统计用 Count 函数,但它会统计重复记录,如果要排除重复记录,需要用 CountIf 与 Sum 函数组合;它们组合成的公式不太好理解,大致为先用 CountIf 求出数值,然后用 Sum 求和。另外,还可以用 Count 函数统计非空单元格个数,它可以分为两种情况,一种是不记单元格中有公式的,另一种是记单元格中有公式的。以下是它们的具体操作方法,操作中所用版本为 Excel 2016。

    一、Excel用计数Count统计

    (一)统计一行的数字个数

    1、选中用于保存结果的单元格 K2,选择“公式”选项卡,单击“自动求和”,在弹出的菜单中选择“计数”,则在 K2 中自动输入公式 =COUNT(B2:J2),按回车,则统计出第二行数字个数,结果为9;操作过程步骤,如图1所示:

    图1

    2、统计一列中数字的个数也是一样的方法,选中用于保存统计结果的单元格,重复上述操作即可。

    (二)统计指区域的数字个数

    选中用于保存结果的 K2,单击“公式”选项卡下的“自动求和”,在弹出的选项中选择“计数”,则 K2 单元格自动输入公式 =COUNT(B2:J2),同时 B2:J2 处于选中状态,用鼠标框选要统计的区域,例如:C2:G6,按回车,则统计出选中区域的数字个数,操作过程步骤,如图2所示:

    图2

    二、Excel用快捷键快速统计并自动统计

    1、选中用于保存结果的单元格 K3,按住 Alt,按一次 M,按一次 U,按一次 C,则 K2 中自动输入公式 =COUNT(B3:J3),如图3所示:

    图3

    2、按回车,则统计出第二行的数字个数,如图4所示:

    图4

    3、把鼠标移到单元格填充柄(即 K3 单元格右下角的小正方形绿点)上,按住左键并往下拖,则所经过的单元格用 K2 的值填充,按 Ctrl + S 组合键保存,则自动统计出所经过行的数字个数,如图5所示:

    图5

    三、Excel不重复统计及所用公式解释

    (一)不重复统计操作

    假如要统计第二行不包括重复数字个数。选中用于保存结果的 K2 单元格,把公式 =SUM(1/COUNTIF(B2:J2,B2:J2)) 复制到 K2,按 Ctrl + Shift + Enter 组合键执行公式,则统计出第二行不计重复的数字个数,结果为 8(只有 78 是重复的,因此只有一个重复数字);用鼠标按住单元格填充柄并往下拖,则经过单元格用 K2 的值填充,按 Ctrl + S 组合键保存,则结果变对应行的不包含重复数字个数;操作过程步骤,如图6所示:

    图6

    (二)公式 =SUM(1/COUNTIF(B2:J2,B2:J2)) 解释

    1、公式用 1 除以 CountIf 返回的结果,然后再求和,这样就可以排除重复的记录,具体是如何实现的?首先选中公式中的 COUNTIF(B2:J2,B2:J2),如图7所示:

    2、按 F9,则选中的部分变为 {1,1,1,1,2,1,1,2,1},如图8所示:

    8

    3、第二行共有九个数字,而 {1,1,1,1,2,1,1,2,1} 也是九个数字,除两个 2 外,其余的全是 1,而出现 2 的位置(5 和 8)恰好是两个重复数字 78 在统计区域 B2:J2 的位置;再看有两对重复数字的情况,如图9所示:

    4、第三行有 80 和 78 两组重复数字,把 COUNTIF(B2:J2,B2:J2) 转换为 {2,1,1,2,2,2,1,1,1} 后共有四个 2。再看有三个重复数字的情况,如图10所示:

    5、第四行只 98 为重复数字,共有三个,把 COUNTIF(B2:J2,B2:J2) 转换为 {1,3,1,2,1,1,3,2,3}后共有三个 3,这说明一组重复数字中有几个,在花括号中就用几表示 。

    6、再选中 1/{1,1,1,1,2,1,1,2,1},按 F9,则变为 {1,1,1,1,0.5,1,1,0.5,1},如图11所示:

    7、即用 1 除以花括号中的每个数后,结果为 {1,1,1,1,0.5,1,1,0.5,1},原来的 2 变了 0.5,则它们加起来恰好是 1,这样共有 8 个 1,再求和,因此,结果为 8。

    8、如果用 1 不能除的,可以把它化为分数,例如 1 除以 3 不能整除,可以直接用 1/3 表示,三个 1/3 加起来也是 1。如果一组数字中有 6 个重复数字,6 个 1/6 加起来也是 1。

    (三)统计重复数字有几个

    1、前面已经统计出第三行不统计重复数字时共有七个数字,即有两个重复数字,分别为 80 和 78,如果要用公式统计有几个重复数字,应该怎么写?可以先统计出共有多少个数字,然后减去不计重复数字时的数字,就可以得到结果;把公式 =SUM(COUNT(B3:J3))-SUM((1/COUNTIF(B3:J3,B3:J3))) 复制到 K3,如图12所示:

    图1

    2、按 Ctrl + Shift + Enter 组合键,得出统计结果 2,如图13所示:

    图13

    四、Excel统计非空单元格数

    1、第五行共有三个空单元格,当在 G5 中输入公式 =COUNTIF(A5:F5,""),按回车,统计结果为 3;表面上看,第五行确实有三个单元格,但 D5 单元格有公式,公式只是返回空;再在 G5 输入公式 =COUNTIF(A5:F5,"="),按回车,统计结果为 2;操作过程步骤,如图14所示:

    图14

    2、公式 =COUNTIF(A5:F5,"") 与 =COUNTIF(A5:F5,"=") 的区别

    同样一行,=COUNTIF(A5:F5,"") 统计结果为 3,=COUNTIF(A5:F5,"=")统计结果为 2,说明前者统计了有公式的单元格 D4,而后者没有统计。

  • ?

    如何求出某区域内不重复数据的个数

    新蕾

    展开

    在做数据统计时,求某区域不重复的数据是经常用到的,如何求出呢?下面我将给出三种办法,读者可以试着根据自己的习惯,利用自己喜欢的方法进行计算。

    实例:求某一区域内不重复的数据个数,如求A1:A10范围内不重复数据的个数,某个数重复多次出现只算一个。下面将就三种计算方法做详细的讲解:

    一是利用数组公式:

    =SUM(1/COUNTIF(A1:A10,A1:A10))

    输入完公式后按Ctrl+Shift+Enter键,让它自动加上数组公式符号"{}"。

    公式讲解:

    COUNTIF 计算满足条件的单元格个数

    函数定义:用来对搜索指定条件的单元格(即参数)的计数.即只求和被满足条件的单元格计数.

    使用格式:COUNTIF(range,criteria)

    格式简义:COUNTIF(要找的内容所在的区域,要找的内容)

    参数定义:

    range 为需要计算其中满足条件的单元格数目的单元格区域,即(范围).

    criteria 为确定哪些单元格将被计算在内的条件,其形式可以为数字、表达式或文本

    下面看看实例:

    上面的例子中,公式SUM(1/COUNTIF(A1:A10,A1:A10))先计算数组COUNTIF(A1:A10,A1:A10),相当于在A1:A10单元格中先后求出A1,A2,A3,A4,A5,A6,A7,A8,A9,A10的个数,得到{1;1;1;1;2;1;2;2;2;1}再倒数求和,即是不重复的数字个数。如C4的返回结果。

    二 利用乘积求和函数:

    公式:=SUMPRODUCT(1/COUNTIF(A1:A10,A1:A10))

    SUMPRODUCT用途:在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。

    语法:SUMPRODUCT(array1,array2,array3,...)

    参数:Array1,array2,array3,...为2至30个数组,其相应元素需要进行相乘并求和。

    实例:公式“=SUMPRODUCT({3,4;8,6;1,9},{2,7;6,7;5,3})”的计算结果是156。

    其实这个函数和第一个例子的意义是一样的,只不过是求得倒数后利用SUMPRODUCT函数与1的乘积再相加后得到的结果,如下截图:

    三 用数据透视表

    我们先给上述数据加个行头,然后选中这些数据,含行头,对这些数据做数据透视表,此时会得到这些数据的名称列和每个数据的个数,那么数据的名称肯定就是不重复的数值了,如下面的D列,很快就可以知道是8个数值。

    我之前提过,函数的使用要切合自己的习惯,不是越简单越好,比如我自己,在做类似的排重个数的计算时,用的最多的是第三种,虽然好像是复杂了很多,但是我的习惯就是用第三种方法,做数据透视表。

    今日内容回向:

    1 计算某区域不重复的数据有几种办法?

    2 两种函数办法主要利用了数组,其中的关键是什么呢?

    3 利用数据透视表法求时,主要是利用了数据透视表的行标签不重复的特性,对于行标签的个数或者是求和的计算是否可以忽略?

  • ?

    Excel中统计不重复数据的个数(COUNTIF)―函数基础教程(八)

    Yan

    展开

    在我们的工作及学习中,经过会遇到这样的业务需求,统计某一个区域中不重复数据的个数。如下图所示为某公司员工工资表,我们需要统计出该公司部门的个数,该怎么操作呢?

    解决这个问题之前,我们先来再学习Excel中的另一个计数函数COUNTIF。

    一、COUNTIF介绍

    基本语法:=COUNTIF(Range,Criteria)

    参数解释:Range—计数的单元格区域,此参数不能是数组。

    Criteria—计数的条件,可以数字、表达式或文本形式定义的条件。

    举个例子,比如说我们需要计算以上工资表中生产部的人数,该怎么写公式呢?

    公式为:=COUNTIF(C2:C26,"=生产部"),计算结果为6。

    二、统计不重复值个数

    根据以上对COUNTIF函数的介绍,大家能想到如何使用该函数配合其他函数来计算部门的个数了吗?下面带大家一起来学习。

    我们使用COUNTIF函数配合sum函数或者COUNTIF函数配合sumproduct函数来实现。公式如下:

    公式一:{=SUM(1/(COUNTIF(C2:C26,C2:C26)))}注意:该公式为数组公式,其中的{不能直接输入,需要输入公式其他部分后按ctrl+shift+enter确定。

    公式二:=SUMPRODUCT(1/(COUNTIF(C2:C26,C2:C26)))

    公式解释:

    1.使用COUNTIF函数返回C2:C26中每个部门出现的次数,结果如下:

    {4;3;3;6;6;4;1;6;6;1;4;6;4;6;6;4;4;6;4;6;6;4;6;3;6}

    2.使用1来除以COUNTIF,生成数组:

    {1/4;1/3;1/3;1/6;1/6;1/4;1/1;1/6;1/6;1/1;1/4;1/6;1/4;1/6;1/6;1/4;1/4;1/6;1/4;1/6;1/6;1/4;1/6;1/3;1/6}

    3.到这里就比较明晰了,如果该部门出现n次,那么就有n个1/n,他们的和为1,最后在使用sum或sumproduct函数对以上数组求和,就可以得到部门的个数。

    使用本公式的注意事项:

    1.统计区域内不能存在空单元格,否则会返回#p/0错误,此时可以嵌套if函数解决,改良后的公式如下:

    {=SUM(IF(C2:C26<>0,1/(COUNTIF(C2:C26,C2:C26))))}

    { =SUMPRODUCT(IF(C2:C26<>"",1/(COUNTIF(C2:C26,C2:C26))))}

    2.因为Excel浮点运算可能产生误差而造成答案不正确,即公式返回值比正确值小。对于这种情况,可以用嵌套ROUND函数修正。

    3.COUNTIF函数对数据类型没有要求,文本、数值、逻辑值、错误值均可,每一种错误值算做一个不重复数据。

    4.统计区域不限于单行或单列(即一维引用),可以是多行多列的矩形区域,但必须是对单元格区域的引用,而不能是非引用类型的数组。

    关于此功能的实现,还有其他的方法,代介绍到其他函数专题之后再给大家介绍,请留意查看。

    如果需要获取本文章的示例文件,请私信【countif】获取。

  • ?

    Excel如何计算符合条件不重复的个数

    Eirene

    展开

    今天分享计算符合条件的不重复的数值的个数,例如以下例子,销售每天都会拜访客户,我们现在需要统计本周之内所有销售的总的拜访次数和拜访的客户数:

    1、拜访次数,即销售出访的次数,也就是说一家客户拜访两次也是算2,所以我们只需要用条件计数求每个销售的名字的次数即可,函数公式:=COUNTIF(B:B,F2)

    2、拜访家数,即,如果一家客户本周销售拜访了2次则算1,所以此时我们就需要计算出满足条件的非重复数值,函数公式:=SUMPRODUCT((1/COUNTIF(C2:C38,C2:C38))*(B2:B38=F2))

    2.1、我们计算出H2的次数,下边的书我们直接下拉即可,但因为我们选定的区域,所以,我们需要绝对引用,这个时候我们需要把函数修改成:=SUMPRODUCT((1/COUNTIF($C$2:$C$38,$C$2:$C$38))*($B$2:$B$38=F2)),$这个符号在Excel中是绝对引用,我们选中函数重的对应的按F4即可

    2.2、函数解释:

    SUMPRODUCT是乘积求和,可以翻看之前文章的关于此函数的介绍

    COUNTIF(C2:C38,C2:C38)是分别对C2:C38的每个数求其重复次数,用1除以这个数就得到重复次数的倒数。如果一个数出现两次,重复次数是2,倒数就是1/2,两个1/2加起来不刚好是1么,也就是说一个数出现两次,计数并求和后得到1。

    如果想要练习表,可私信发

excel计算不重复个数

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP