当前位置: 首页 > article >正文

Excel重新踩坑6:工作实战总结之根据筛选条件求平均成绩

一、前言:

  • 这个博客的实战场景:给了一组学生数据,这些数据中,有全市20个社区,1-9年级的学生各科成绩。要求按照各社区统计1-9年级的所有学生各科平均值。下面首先介绍会用到的一些函数,然后再简单说明实战过程。

二、项目实战过程中学到的一些函数和功能:有些学习了没有用到,也记录了下来。

1、sumif(区域1,条件,区域2)函数:

  • sumif(区域1,条件,区域2)函数中,区域1是条件对比时筛选的区域,条件是区域1中某个筛选项,区域2是求和区域,使用这个公式,会把区域1中与条件相同的行对应在区域2中的项累加起来。应用范例:a列是金额,b列是与a列对应的金额类型,就可以通过该函数,算出不同金额类型的金额之和。

2、SUBTOTAL(function_num, ref1, [ref2], …):

  • 可以通过筛选生成汇总结果。其中第一个参数是功能参数,SUBTOTAL函数支持11种函数,分别为Average(平均值)、Count(非空值单元格计数)、CountA(非空值单元格计数,包括字母)、Max(最大值)、Min(最小值)、Product(乘积)、Stdev(标准偏差值,忽略逻辑值和文本)、Stdevp(标准偏差值,包括逻辑值和文本作为数字参与计算)、Sum(求和)、Var(给定样本的方差,忽略逻辑值和文本)、Varp(给定样本总体的方差,包括逻辑值和文本作为数字参与计算)。SUBTOTAL函数是Excel中一个非常实用且强大的函数,它可以帮助用户轻松处理筛选和手动隐藏后的数据,提高工作效率和数据处理能力。但是要注意功能代码要给对,例如在一个包含10个数据的单元格区域中,假设初始总和为50。当隐藏其中3个数据后,使用代码“9”进行求和,结果仍为50;而使用代码“109”进行求和,结果则变为可见的7个数据的总和。

3、切片器:超级表的一种功能

  • 切片器的使用前提(结构化表格也叫做超级表):在插入选项中有一个叫“表格”的功能,他的作用是将数据区域转换为结构化表格,结构化表格的好处是
    1.向表格添加新行或列时,数据会自动纳入表格范围,相关公式、格式和筛选会自动应用到新数据。
    2.统一表格格式,便于整体修改格式。
    3.表格标题会自动出现筛选剪头,还能多列排序。
    4.通过“表格设计”添加汇总行,可以选择汇总方式(求和,求平均等)快速汇总数据,注意要修改汇总方式,要在创建了最后一行汇总行之后,点到最后一行对应表格上,然后出现下拉箭头,自己选择汇总方式。
  • 只有创建好超级表的前提下,选中超级表区域,才能在插入中使用切片器。

4、数据清洗问题:

  • 1.错误数据筛选清除:在这个过程中我发现错误项通过筛选工具显示不出来,出现公式报错筛选的化可以选择公式当中的公式审核去定位错误发生的位置。
    在这里插入图片描述
  • 2.文字数据筛选常用find定位,mid提取。FIND(find_text, within_text, [start_num]):返回的是要查找目标的位置,MID(text, start_num, num_chars),获取目标中一部分内容。

5、filter(区域,条件,否则):

  • 可以筛选生成数组,其中第一个参数作用是告诉函数你要从哪个区域筛选,第二个参数是说明你的筛选条件,多个条件的情况下and用*代替,or用+代替。最后一个参数是说如果筛选区域中没有满足筛选条件的时候就返回的结果。

二、实战过程:

  • 0、给了一组学生数据,这些数据中,有全市20个社区,1-9年级的学生各科成绩。要求按照各社区统计1-9年级的所有学生各科平均值,如下所示是原始数据表:
    在这里插入图片描述
  • 2、制作目标表格(确定要获取的数据格式和规范),如下所示,将所有年级按照9门课程设计表格,至于有的年级没有对应课程,可以不用管,目的是为了公式能够适用所有年级。
    在这里插入图片描述
  • 3、获取“数据清洗表”(数据规则化),通过FIND,定位文字位置,通过MID,获取对应内容,这样子就能够先把某些规则数据提取出来,首先让筛选项变成可以统一筛选的规则数据,如下:
    在这里插入图片描述
  • 4、思路一:结合“目标表格”,通过筛选函数快速筛选出需要的数组,然后对筛选出来的数组使用求平均值函数得到结果,如下,在水果社区对应的语文数据中可以使用函数:=AVERAGE(FILTER(数据清洗表!E$4:E 7042 , ( 数据清洗表 ! 7042,(数据清洗表! 7042,(数据清洗表!B 4 : 4: 4:B 7042 = 目标表格 ! 7042=目标表格! 7042=目标表格!B 4 ) ∗ ( 数据清洗表 ! 4)*(数据清洗表! 4)(数据清洗表!C 4 : 4: 4:C$7042=1),0)),其中FILTER(数据清洗表!E$4:E 7042 , ( 数据清洗表 ! 7042,(数据清洗表! 7042,(数据清洗表!B 4 : 4: 4:B 7042 = 目标表格 ! 7042=目标表格! 7042=目标表格!B 4 ) ∗ ( 数据清洗表 ! 4)*(数据清洗表! 4)(数据清洗表!C 4 : 4: 4:C$7042=1),0)函数的意思是在数据清洗表中获取语文成绩所在的E列数据,然后第一个筛选条件是数据清晰表中社区和目标表社区一致都是水果社区,并且是1年级的成绩,筛选出来,不满足删选条件的用0代替,这样就得到了一列满足以上两个条件的数据,然后用average函数求平均就好了。
    在这里插入图片描述
  • 5、思路二:通过subtotal动态求平均,然后手动筛选,一组一组的获取,但效率太慢了。
    在这里插入图片描述

http://www.kler.cn/a/510570.html

相关文章:

  • tui-editor报错
  • Spring Boot 集成 MongoDB:启动即注入的便捷实践
  • Spring Boot 3.4.x 和 Micrometer 2.0 的结合 案例 以及使用方法
  • Mockito+PowerMock+Junit单元测试
  • Vulnhub-Tr0ll靶机笔记
  • ToDesk设置临时密码和安全密码都可以当做连接密码使用
  • Linux(基础配置)
  • 【个人学习记录】软件开发生命周期(SDLC)是什么?
  • 基于springboot的口腔管理平台
  • 鸿蒙安装HAP时提示“code:9568344 error: install parse profile prop check error” 问题现象
  • Oracle事务(7)
  • protobuf: 网络版通讯录
  • Ubuntu 24.04 LTS 服务器折腾集
  • Qt常用控件之输入类控件
  • 论文阅读 AutoDev: Automated AI-Driven Development
  • AT8870单通道直流电机驱动芯片
  • 算法竞赛里面的STL——堆和priority_queue
  • ThreadLocal如何实现的
  • 【HarmonyOS之旅】基于ArkTS开发(二) -> UI开发之常见布局
  • 硬件学习笔记--33 GB/T 17215.211相关内容介绍
  • 双序列双指针
  • Python(十七)excel指定列自动翻译成英文
  • 多学科视角下探索开源Github、Git初步学习
  • 企业邮箱iRedMail搭建
  • 一岁征程:学习、挑战与成长
  • wireshark工具简介