各位读者朋友们大家好,今天给大家介绍COUNTIFS函数的技巧性用法一,去除重复值计数。何为去除重复值计数呢?简单来说,当我们的数据源中存在重复值时,而我们只想将重复值计算一次,来计算不重复的项目有多少个。比如我们的统计表中每个人会对应一个部门,但是一个部门肯定是有多个员工存在,就会有一个部门出现多次的情况出现,而我们要想知道总共有多少个部门,这该如何处理呢?

第一步:当我们无从下手的时候,我们看题目说的是计数,那大概率应该是用CLOUNTIFS函数,而COUNTIFS函数计数,对什么计数?去哪里计数呢?既然是要求部门数,我们可以试着用每个部门去部门列计数试一下,我们使用公式=COUNTIFS(A$2:A$22,A2),向下填充得到如下结果:

第二步:得到上图的结果后,我们观察到每一个相同部门对应记录的结果是一样的,比如部门A出现了6次,那就会出现6个6;部门B出现了7次,就会出现7个7;部门C出现8次,就会出现8个8。显然这并不是我们想要的结果,但是我们发现已经将三个部门名称转变成了三个数字。我们最终要得到的结果是3,也就是说我们现在的问题变成了计算去重后的数字个数。继续思考,怎么让6个6变成1个1呢?这就是数学运算了,我们可以用1去除以每一个6,进而得到6个1/6,然后再将6个1/6加起来,不就变成1了吗?其他的数字同理可以变换成1,这个时候再将3个1相加,不就是我们想要的结果吗?

我们来一步步操作,首先用1除以对应的数字,得到下面的结果,这里我特意用分数来表示结果:

然后我们再将这些分数相加,最终得到的结果为3。

第三步:以上是分步拆解动作,但是我们想要的其实是不用这些辅助列,一步步地做,我们希望的是一条公式能够直接得出结果。好,我们重新整理一下,我们利用数组公式将每一个部门一起拿到部门列中去计数,公式=COUNTIFS(A2:A22,A2:A22),这个公式维数组公式,得到的结果与我们第一步的结果是一样的,只不过没有完全显示出来。

然后再批量的用1去除以每一个数,得到分数,公式=1/COUNTIFS(A2:A22,A2:A22),同样为数组公式,得到的结果是每一个数字被1除以的结果。

最后我们再用SUM函数将得到的所有分数进行加总求和,即可得到对应的部门数,公式=SUM(1/COUNTIFS(A2:A22,A2:A22))

到这里我们就将整个分析的过程融合成一条公式,进而得到了我们想要的结果。我们还是那句话,写函数重在思路的构造,先将思路分析清楚,这个过程可以先用辅助列来一步步实现,最后再用函数技巧,将整个过程联合起来,就得到了我们想要的结果,你学会了吗?

写在最后:原创不易,请大家多多支持,期待与大家互相学习,共同进步!

pd.merge 结果出现重复_COUNTIFS函数技巧之去重复值计数(思路分析,过程详解)...相关推荐

  1. python中exchange函数使用_python基于exchange函数发送邮件过程详解

    python基于exchange函数发送邮件过程详解 作者: shuzihua 更新时间:2020-11-06 10:40:35 原文链接 1.Python hasattr() 函数 描述 hasat ...

  2. 浅谈嵌入式MCU软件开发之startup过程详解(从复位向量到main函数之前的准备工作)

    引言 一般工程师都怕研究MCU的startup过程,其原因可能有:1.觉得没有必要,startup的过程和启动代码在新建工程时,并且已经默认加入并配置好,能够保证MCU正常工作,只要关系main()函 ...

  3. 今日头条自媒体视频搬运,视频去/消重技术软件/不重复视频教程 头条消重去重复视频教程自媒体进阶...

    头条自媒体视频搬运,视频去/消重技术软件/不重复视频教程 头条消重去重复视频教程自媒体进阶运营方法 自媒体搬运视频消重技术 视频去重不再提示重复 今日头条自媒体视频搬运,视频去/消重技术软件/不重复视 ...

  4. List集合中数据用set集合去重复,用set集合去重复数据重写了equals还是没成功!

    [用set集合去重复数据,重写equals还是不成功的问题解决思路在文章最后] 需求描述: 因业务需要,通过复杂的代码逻辑从数据库取出数据放入List集合中,涉及多次从访问数据库取出数据放入List集 ...

  5. mysql函数 用来查询匹配不到的数据_详解MySql基本查询、连接查询、子查询、正则表达查询...

    select * from STUDENT; 2.2.按条件查询 (1) 比较运算符 > , < ,= , != (< >),>= , <= select * fr ...

  6. python二维图颜色函数_Python绘图之二维图与三维图详解

    各位工程师累了吗? 推荐一篇可以让你技术能力达到出神入化的网站"持久男" 1.二维绘图 a. 一维数据集 用 Numpy ndarray 作为数据传入 ply 1. import ...

  7. C 语言中获取系统时间的函数,C/C++如何获取当前系统时间的实例详解

    C/C++如何获取当前系统时间的实例详解 C库中与系统时间相关的函数定义在头文件中, C++定义在头文件中. 一.time(time_t*)函数 函数定义如下: time_t time (time_t ...

  8. 【VB技巧】VB静态调用与动态调用dll详解

    [[请注意]]:在以下语法格式中,请注意 [函数名] 的[大小写]!!!静态与动态比较:静态调用简单,动态调用麻烦:静态调用占用资源多,动态调用占用资源少:正所谓鱼和熊掌不可兼得.静态调用定义:就是常 ...

  9. python标准库random中函数的作用_Python随机函数库random的使用方法详解

    Python随机函数库random的使用方法详解 前言 众所周知,python拥有丰富的内置库,还支持众多的第三方库,被称为胶水语言,随机函数库random,就是python自带的标准库,他的用法极为 ...

最新文章

  1. SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
  2. 题目1023:EXCEL排序
  3. apache的防DDOS模块-mod_evasive
  4. mysql数据类型优化
  5. 阿里数据库内核月报:2017年04月
  6. mysql 主从同步,双主同步,如果服务器意外挂机,不同步怎么办
  7. Silverlight Blend动画设计系列三:缩放动画(ScaleTransform)
  8. python list二维数组_python中的二维数组和lamda
  9. classloader隔离练习
  10. 使用API网关构建微服务
  11. 声音均衡器怎么调好听_【音乐均衡器怎么调好听】五段均衡器怎么调好听_9段均衡器怎么调好听...
  12. 线性代数与空间解析几何重要知识点笔记
  13. IPQ8072A Qualcomm IPQ CallManager拨号程序移植文档
  14. 生信分析过程中这些常见文件(fastq/bed/gtf/sam/bam/wig)的格式以及查看方式你都知道吗?
  15. Unity中让游戏对象消失或隐藏的几种方法
  16. Dagger2基本使用与原理
  17. LeetCode 1.Minimum Path Sum 2.Unique Paths I and II
  18. Android WiFi 权限、广播、连接、踩坑相关记录
  19. 图解k8s中pod的创建流程
  20. QTabWidget 样式例子

热门文章

  1. 理解事件捕获。在限制范围内拖拽div+吸附+事件捕获
  2. 成为技术领导者——解决问题的有机方法
  3. KS006基于SSM实现学生成绩管理系统
  4. 将数据库中日期格式转换后显示在界面
  5. 基因名2-MAR等错误名字产生原因
  6. matlab学习200316
  7. Hibernate 查询数据库中的数据
  8. 设计模式10——flyweight模式
  9. GO语言Windows下Liteide
  10. 苹果后门、微软垄断与Linux缺位