前段时间到一家制造型企业培训Excel,下课休息的时候,学员小Z向我咨询实际工作中的一个问题,以下是小Z的问题:

表格有8000行数据(即8000个项目),其中一列的字段为合同编号,表格中部分项目有填写合同编号,部分项目没填。由于一个合同签订的项目包含若干个(即8000个项目中有重复的合同编号),如何知道这8000个项目里面有多少个合同(不重复)?

曾经尝试用显示重复值功能,然后通过筛选,能显示没重复的数据(包含合同编号那列为空白格),然后通过右下角的“计数”显示到最终想要统计的合同数。但想知道更方便准确的方法。

简单来讲,小Z就是要实现对一组包含重复项的数据进行非重复计数。按照小Z现在的方法,先筛选再查看右下角的计算结果,显然非常不智能。如果数据更新了,每次都要重复这个动作来查看计数的结果。想要动态得到最新的无重复的计数结果,可以利用以下的2个方法来实现。

1 函数法

比如下图所示的这个销售明细的表格中,“公司名称”中的数据包含有大量的重复的数据,如果现在我想统计客户数量以及每个地区的客户数量,就要进行非重复计数。

场景1:统计客户数量

使用公式:=SUMPRODUCT(1/COUNTIF(C2:C15,C2:C15))

先用COUNTIFS这个条件计数函数统计每一行的客户ID的出现次数,得到这个计算结果:

{2;2;1;3;3;3;3;3;3;3;3;3;2;2}

这个结果的含义是C2出现2次,C3出现了3次,C4出现了1次,以此类推。

之后再用1/{2;2;1;3;3;3;3;3;3;3;3;3;2;2},比如“OLDWO”这个客户ID出现了2次,有2个计算结果,就把单次的计算结果变成1/2。

最后再用SUMPRODUCT函数对1/{2;2;1;3;3;3;3;3;3;3;3;3;2;2}的结果进行求和,那么“OLDWO”这个客户ID有2个1/2、1/2,求和之后就变成了1,就意味着有1个名为“OLDWO”的客户。

这是非重复客户数量的计算结果:

场景2:统计每个地区的客户数量

使用公式:=SUMPRODUCT(($E$2:$E$15=M2)*(1/COUNTIF($C$2:$C$15,$C$2:$C$15)))

在场景1的基础上增加了必须地区相同的条件,也就是$E$2:$E$15=M2这个部分的条件。SUMRPODUCT函数各个条件用()括起来,再用*相连。

这样就得到了非重复的每个地区的客户数量的计算结果:

2 数据透视表法

使用函数的方法来实现非重复计数,理解起来略微复杂。如果你使用的是Excel 2013及以上的版本,还有一个更为简单的方法来实现非重复计数,那就是用数据透视表。

点击“插入”选项卡中的“数据透视表”,在弹出来的对话框中勾选“将此数据添加到数据模型”,生成数据透视表。

将“地区”拖到行标签中,再将“客户名称”拖到值项中,就可以看到初始的统计结果中是包含重复值的计数。

接着我们在汇总数字上点击鼠标的右键,选择“值字段设置”,在弹出来的对话框中选择“非重复计数”。

就得到了非重复计数的结果,是不是比函数操作简单很多!

这就是2种可以自动更新计算结果的非重复计数的方法,我们总结一下:

函数法:SUMPRODUCT+COUNTIFS,适合任何版本

数据透视表法:插入数据透视表时勾选“将此数据添加到数据模型”,计算方式使用“非重复计数”,适合Excel 2013及以上版本

数据透视表+函数搞定Excel中的非重复计数相关推荐

  1. java 数据透视表 组件_Java在Excel中创建透视表方法解析

    本文内容介绍通过Java程序在Excel表格中根据数据来创建透视表. 环境准备 需要使用Excel类库工具-Free Spire.XLS for Java,这里使用的是免费版,可通过官网下载Jar包并 ...

  2. 数据透视表函数综合作用

    数据透视表函数综合应用 讲师:Jssy 助教:wxin0708 助教:李兴德 学员:sunli1080 学习excel地址:http://t.excelhome.net/forum.php?mod=v ...

  3. c#读取excel两列数据并绘制xy曲线_用Python轻松搞定Excel中的20个常用操作

    来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...

  4. 用Python轻松搞定Excel中的20个常用操作

    来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...

  5. 用 Python 轻松搞定 Excel 中的 20 个常用操作

    来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...

  6. java 数据透视表 组件_Java创建Excel数据透视表

    正版现货excel效率手册早做完不锡 22.82元 包邮 (需用券) 去购买 > Excel 数据透视表具有强大的数据处理功能,能够使表格中的数据更加直观化.使用Excel 数据透视表,能方便用 ...

  7. php怎么做数据透视表,sql上使用excel表格数据透视表-会excel基本函数和数据透视表,加基本的SQL增删改......

    excel 数据透视表 sql语句 对空值的处理方法 比如你有个工,工作簿中有2个工作表,一个为.一个为消耗. 字段为: 代码 存货名称 采购金额 存货代码 存货名称 消耗金额 1.在任意一个工作表中 ...

  8. angular 字符串转换成数字_3种方法搞定Excel中数字大小写转换? 123...变为壹贰叁......

    作者 | 雷哥 编辑 | 小西瓜 职场中,大家是否遇到这样的情况, 需要把数字"1,2,3......" 转换为 大写的"壹贰叁...",大家都有哪些方法可以实 ...

  9. Excel中这个汇总神器:数据透视表到底能干什么?

    看了很多回答,有一上来就介绍"什么是数据透视表"的,有手把手教大家"怎么制作数据透视表"的,确实这些内容都是干货,都很实用. 但是,对于一个小白来说,还是不知道 ...

最新文章

  1. 基于BERT预训练的中文命名实体识别TensorFlow实现
  2. 【今晚9点】:对话刘连响——web流媒体开发新变化
  3. Python之分组级运算——【transform()方法、apply()方法】
  4. 《大数据》2015年第2期“动态”——大数据发现银行贷款风险
  5. 安全中心登录_放心使用instagram需要做到的5个信息安全设置
  6. php 压缩及解压文件,php zip文件的解压与压缩
  7. 栈和队列的基础算法学习(EPI)
  8. [Java] 利用xpdf库获取pdf文件的指定范围文本内容
  9. 未来新一代计算机发展趋势有,未来新一代计算机的代表有()。
  10. linux如何卸载谷歌输入法,Linux上使用谷歌输入法
  11. linux 命令 查询丢包率,linux测试丢包率的命令 linux查看丢包率命令
  12. 服务器pe安装win7系统安装教程,pe安装win7原版镜像系统教程
  13. C#学习笔记8 事件
  14. 计算机工程师标准着装,工程师穿什么样的衣服才好看
  15. 什么是IDU和ODU
  16. 关于数学中“函数(function)”的含义
  17. 软件设计师(计算机系统)
  18. Kerberos介绍(全)
  19. excel 去重复值
  20. 8种最好的Linux密码管理器

热门文章

  1. canvas编写的dota版连连看 demo放出
  2. html+css案例演示,实现一个网页二维码名片效果
  3. 小易的考试成绩(0 -1背包问题)
  4. 安卓手机管理_安卓虚拟机,手机分身,时间管理大师直呼内行
  5. 【交叉编译】什么是交叉编译,为何要有交叉编译?
  6. 调剂北京邮电大学计算机专业,2018年北京邮电大学考研调剂信息
  7. 软考高级 2021年信息系统项目管理师视频教材历年真题资料
  8. rstudio保存HTML,写博客神器---RStudio---html---markdown
  9. 数据库连接时出现错误:1045 access denied for user root,记录解决过程,以备不时之需
  10. 预充电电路工作原理_研究电动汽车预充电过程