typora-copy-images-to: EXCEL FUNCTION PART II

文章目录

    • typora-copy-images-to: EXCEL FUNCTION PART II
  • Chapter 3 用函数统计和汇总数据
    • SUMPRODUCT 函数,按条件汇总数据
    • FREQUENCY函数,分区间统计数值个数
    • TRIMMEAN函数,去极值之后求平均值
    • SUBTOTAL函数,汇总筛选货隐藏状态下的数据

Chapter 3 用函数统计和汇总数据


SUMPRODUCT 函数,按条件汇总数据

  • SUM IF 只能设置一个求和条件,COUNTIF也只能设置1个计数条件
  • 2007版本以上可以使用SUMIFS & COUNTIFS 函数解决
  • 如果只为SUMPRODUCT 函数设置一个参数,SUMPRODUCT(A2:A6)则其功能等同于SUM
=  SUMPRODUCT(| 参数1引用区域 |,| 参数2引用区域 |)
# 可以多个引用区域
# 必须保证每个参数包含的数据个数相同切行列数相等
# 先求积,再求和
= SUMPRODUCT((条件1区域=条件)+0,(条件2区域=条件)+0,-----,求和区域)
# 按条件求和,可以有多个条件
# 加0的目的是为了转化逻辑值为数值,参与计算
= SUMPRODUCT(A2:A11=E2)+0,(B2:B11=F2)+0,C2:C11)
# 对参数的顺序没有要求

  • 使用运算符合并多个求和条件

    = SUMPRODUCT((A2:A11=E2)*(B2:B11=F2),C2:C11)

  • 条件计数也可以用SUMPRODUCT函数解决

= SUMPRODUCT((B2:B11>=60)+0)

  • 多条件的计数

` = SUMPRODUCT((B2:B11>=60)*(C2:C11=“女”))

  • SUMIFS 与 COUNTIFS 函数的对应参数只能是单元格区域,而不能是公式以及数据常量
# 依据考试分数为成绩评定名次
= SUMPRODUCT(($H$2:$H17>H2)+0)+1
# 先计算不等式取得逻辑值
# 转化为数值
# H2是相对引用,随着下拉填充而改变
  • 多条件计数的案例:求计算同班成绩排名

FREQUENCY函数,分区间统计数值个数

  • 解决区间统计数值个数的问题可以用COUNTIF函数
= COUNTIF(B2:B10,">60") - COUNTIF(B2:B10,">80")
OR = COUNTIFS(B2:B10,">60",B2:B10,"<=80")
OR = SUMPRODUCT((B2:B10>60)*(B2:B10<=80))
  • 如果要统计的数据区间不止一个,则需要使用FREQUENCY函数
= FREQUENCY(B2:B10,E2:E5)
# 需要先选中目标返回单元格区域
# 输入公式后按<Ctrl+Shift+Enter>组合输入
= FREQUENCY(| 数据源 |,| 分段点 |)
# 分段点中间区段,函数将统计大于前1个段点,且小于或等于当前段点的数值个数
# FREQUENCY函数对参数的行列没有限制,不过该函数只返回一列垂直的数组
# FREQUENCY函数对参数的数据排序方式也没有要求,分段点的排列也没有要求
# 建议对分段点数值进行升序的排列
  • FREQUENCY函数会自动忽略非数值的数据,不可统计非数值类型的数据

  • 段点可以修正,以符合统计需求

  • 多行列的分段点排列规律: 先行后列

  • FREQUENCY 函数允许重复的分段点出现

  • FREQUENCY 函数的其他应用

# 将FREQUENCY函数的结果显示在一行中
= TRANSPOSE(FREQUENCY(A2:A12,C2:C5))
# TRANSPOSE 是专门用于行列转换的函数,效果等同于选择性粘贴中的转置命令# 求单独某个区间的数据个数
= INDEX(FREQUENCY(A2:A12,{60;80}),2)
# 此公式按照{60;80}两个分段点来计算,得出3个区间的数据个数
# 3个数据中,第2个区间个数是要完成的统计,用INDEX返回数值
  • 统计不重复的“数值”个数,数据区域升序排列后,同时设置为FREQUENCY函数的两个参数
= SUMPRODUCT(--(FREQUENCY(A2:A12,A2:A12)>0))
# 先用FREQUENCY函数从数据中找出不为零的频率返回值
# 返回值与0进行比较,返回一系列True、False的数组
# --把返回值转变为数值格式
# 用SUMPRODUCT函数公式进行条件求和

  • 统计不重复的“数据”个数
= SUMPRODUCT(--FREQUENCY(MATCH(A2:A11,A2:A11,0),MATCH(A2:A11,A2:A11),0)>0)
# MATCH函数返回1个数据第一次出现的位置,所以重复的数据,返回值也是重复的
# MATCH函数的第3参数0,意味着完全等于第1参数的值
# 后面的顺序和上一个例子一致
  • 求足球队连续赢球的最多场次
= MAX(FREQUENCY(IF(B2:B13=3,ROW(2:13),""),IF(B2:B3<>3,ROW(2:13),"")))
# IF 函数是为了得到两个辅助列
# 以C列为FREQUENCY第1参数,D列为分段点,求频率
# 得到的返回值,求最大值,则为所求函数
  • 求连续一段时间不是晴天的最大天数

  • 按中国式排名规则计算名次(同名次只计数1次)

  • 重要规律,如下图:分段点中不重复的数值有多少个,FREQUENCY函数返回的结果中就有多少个大于0的数值

= SUM(--FREQUENCY($B$W:$B$17,IF($B$2:$B$17>=B2,$B$2:$B$17))>0)
# 步骤一:逐步比对锁定单元区域与B2数值的比较,如果大于,返回该数值,否则返回False,得到一个数组
# 将锁定单元区域和上一步计算得到的数组作为第1、第2参数,用FREQUENCY函数返回一个数组
# 逐步比对返回TRUE、FALSE数组
# --转变为数值格式
# 求和得到名次

TRIMMEAN函数,去极值之后求平均值

  • 当去掉的极值不是一个的时候,普通方法会比较繁琐
= TRIMMEAN(B2:M2),1/3
= TRIMMEAN(| 数据区域 |,| 去除极值个数/COUNT(数据区域) |)
# 如果第2参数为单数,则,函数会自动舍去小数部分

SUBTOTAL函数,汇总筛选货隐藏状态下的数据

  • 分类汇总可以执行什么计算,SUBTOTAL 函数就能执行什么计算,包括标准差、总体标准差、方差、总体方差等等

  • SUBTOTAL函数的第一参数

  • SUBTOTAL 和 SUM、AVERAGE等函数的区别,如果对数据执行了筛选命令,则SUBTOTAL函数只对筛选后得到的数据进行汇总和计算。

  • SUBTOTAL函数第一参数设置为"9" or "109"不同点在于计算时,是否让隐藏行中的数据参与计算,1**的参数会忽略,而1到11的设置不会忽略。

  • 注意点:SUBTOTAL函数金支持行方向的隐藏统计,列区域隐藏不会忽略

= SUBTOTAL(| 汇总方式 |,| 数据区域1 |,| 数据区域2 |......)# 使用SUBTOTAL函数生成不间断的序号
= SUBTOTAL(103,B$2:B2)*1
# 第1参数103会将隐藏行忽略,重新计数
"*1"的作用在于,使得EXCEL把最后1行当做普通行,而不是汇总行,也可以使用+0,-0

EXCEL Function Part II Chapter 3 —— 用函数统计和汇总数据相关推荐

  1. 处理DataFrame数据——利用Groupby函数分类汇总数据并转为矩阵

    问题 我的手头有35万条数据,包含三个属性:时间.数量和ID.我现在需要以时间.ID分类,对数量进行求和统计(分类汇总):然后以time列为行(x轴),ID为列(y轴),num为值建立矩阵. 读取数据 ...

  2. 在Excel中按数据类型合并单元格,同时汇总数据。E灵插件

    要求: 将下图中左边的效果转换成右边的效果. 具体操作方法,请看视频: 按数据类型合并单元格,且汇总数据

  3. 在 Excel 中使用 C# .NET 用户定义函数 (UDF)

    在 VBA 中编写 UDF 以暴露给 Excel 单元格是直截了当的,只需在 VBA 模块中编写函数,Bob 就是你的叔叔.但是,使用托管语言(例如 C# 或 F#)将函数公开给 Excel 会稍微复 ...

  4. python使用statsmodels包中的tsaplots函数可视化时间序列数据所有滞后位置个数(级别)的自相关性(plot the autocorrelation function)

    python使用statsmodels包中的tsaplots函数可视化时间序列数据所有滞后位置个数(级别)的自相关性(plot the autocorrelation function) 目录

  5. R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称、将数据写入Excel文件新的表单(sheet)中、将文件保存为xls文件格式(而不是xlsx)

    R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称.将数据写入Excel文件新的表单(sheet)中.将文件保存为xls文件格式(而不是xlsx) 目录

  6. ( function(){…} )()和( function (){…} () )是两种立即执行函数

    函数声明:function fnName () {-}; 函数表达式 var fnName = function () {-}; 匿名函数:function () {}; fnName(); func ...

  7. 【Boost】以boost::function和boost:bind取代虚函数

    这是一篇比较情绪化的blog,中心思想是"继承就像一条贼船,上去就下不来了",而借助boost::function和boost::bind,大多数情况下,你都不用上贼船. boos ...

  8. boost::function和boost:bind取代虚函数

    这是一篇比较情绪化的blog,中心思想是"继承就像一条贼船,上去就下不来了",而借助boost::function和boost::bind,大多数情况下,你都不用上贼船. boos ...

  9. javascript二维数组转置_精通Excel数组公式010:认识数组函数:TRANSPOSE、MODE.MULT和TREND...

    学习Excel技术,关注微信公众号: excelperfect 数组函数是可以提供多个值的Excel内置函数.下面列出了8个Excel内置的数组函数: TRANSPOSE函数 MODE.MULT函数( ...

最新文章

  1. Linux Shell简介
  2. 面试题:函数回调机制、异步函数回调机制图例详解 没毛用
  3. [Linux] PHP程序员玩转Linux系列-腾讯云硬盘扩容挂载
  4. docker可视化管理工具对比 DockerUI Shipyard Rancher Portainer
  5. Tensorflow官方文档中文版——第一章
  6. 【Python】装上后这 14 个插件后,PyCharm 真的是无敌的存在
  7. 基于SSD的自动路径规划算法
  8. LeetCode 305. 岛屿数量 II(并查集)
  9. 用计算机计算汉坦,河北省Ⅱ型汉坦病毒流行特征及与细胞自噬相互作用研究
  10. Oracle 实验5 视图与索引
  11. WWDC心愿单:新版OS X或将有这些变化
  12. 使用Intent Filter来响应隐式Intent
  13. 什么是免备案虚拟主机?阿里云国际版云服务器给你答案
  14. java blowfish 算法_Java Blowfish对称密钥加密算法的实现和加密案例
  15. 竞品分析:腾讯课堂vs中国大学MOOC(从用户体验五要素角度)
  16. 一个合格的程序员所具备的素质和修养
  17. Ideas For Weakly Supervised Object Localization
  18. 经典基础算法:蜜蜂路线
  19. t3软件怎么生成报表_t3财务报表怎么生成
  20. 1688api 图片搜索功能

热门文章

  1. iOS上传AppStore所需各种图片尺寸
  2. 十个励志小故事,一场精彩的人生课!
  3. 1008: 美元和人民币 ZZULIOJ
  4. 设置bing桌面壁纸
  5. React Native 二 常用组件与开源组件
  6. 麒麟鲲鹏升腾鸿蒙巴龙,华为四大芯片 麒麟、巴龙、昇腾和鲲鹏“四大天王”...
  7. HyperLynx(十二)BoardSim和PCB板级仿真分析(三)
  8. js实现操作成功之后自动跳转页面
  9. 前端工作怎么包装简历,需要掌握哪些知识项目
  10. 软件测试--黑盒测试用例、测试步骤设计方法(正交实验法、功能图法、其他用例设计方法)