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动态求平均,然后手动筛选,一组一组的获取,但效率太慢了。

相关文章:
Excel重新踩坑6:工作实战总结之根据筛选条件求平均成绩
一、前言: 这个博客的实战场景:给了一组学生数据,这些数据中,有全市20个社区,1-9年级的学生各科成绩。要求按照各社区统计1-9年级的所有学生各科平均值。下面首先介绍会用到的一些函数,然后再简单说明实战…...
使用 Java 和 FreeMarker 实现自动生成供货清单,动态生成 Word 文档,简化文档处理流程。
在上一篇博客中主要是使用SpringBootApache POI实现了BOM物料清单Excel表格导出,详见以下博客: Spring Boot Apache POI 实现 Exc()el 导出:BOM物料清单生成器(支持中文文件名、样式美化、数据合并&#…...
20250118拿掉荣品pro-rk3566开发板上Android13下在uboot和kernel启动阶段的Rockchip这个LOGO标识
20250118拿掉荣品pro-rk3566开发板上Android13下在uboot和kernel启动阶段的Rockchip这个LOGO标识 2025/1/18 15:12 缘起:做飞凌OK3588-C开发板/核心板【Linux R4】的时候,测试/生产要求没有开机LOGO【飞凌/Rockchip】 要求:黑屏或者中性界面。…...
《Hands_On_LLM》8.3: 检索增强生成-RAG技术概论
3.检索增强生成 (Retrieval-Augmented Generation (RAG)) LLM 的大规模应用很快导致人们向它们提问,并期望得到符合实际的答案。虽然这些模型可以正确回答一些问题,但它们也自信地回答了许多错误的问题。为了纠正这种行为,业界转而采用的主要…...
CSS中样式继承+优先级
继承属性和非继承属性 一、定义及分类 1、继承属性是指在父元素上设置了这些属性后,子元素会自动继承这些属性的值,除非子元素显式地设置了不同的值。 常见的继承属性: 字体 font 系列文本text-align text-ident line-height letter-spacing颜色 col…...
Vue进阶之旅:核心技术与页面应用实战(路由进阶)
文章目录 一、路由模块封装二、声明式导航(一)导航链接与高亮(二)声明式导航传参1. 查询参数传参2. 动态路由传参 三、路由重定向、404 与模式设置(一)路由重定向(二)路由 404&#…...
单片机存储器和C程序编译过程
1、 单片机存储器 只读存储器不是并列关系,是从ROM发展到FLASH的过程 RAM ROM 随机存储器 只读存储器 CPU直接存储和访问 只读可访问不可写 临时存数据,存的是CPU正在使用的数据 永久存数据,存的是操作系统启动程序或指令 断电易失 …...
Vue.js 动态设置表格最大高度的实现
概述 在现代 Web 开发中,响应式设计至关重要,尤其是在处理复杂的布局和数据表格时。表格通常会受到多种因素的影响,如分页、合计行或动态内容,这可能导致表格高度的变化。本文将介绍一个基于 Vue.js 的方法 setMaxHeight…...
Java测试开发平台搭建(九)前端
1. 搭建前端vue环境 Vue3 安装 | 菜鸟教程 2. 创建项目 1.进入ui vue ui 2. create项目 3. 成功之后添加插件: cli-plugin-router vue-cli-plugin-vuetify 4. 添加依赖 axios 5. 点击任务开始运行 如果报错: 修改vue.config.jsconst { defineConfig }…...
MySQL多表查询练习
1.找出销售部门中年纪最大的员工的姓名 mysql> select name,age from dept a ,emp_new b where a.dept1b.dept2 and dept_name销售order by age desc limit 1; ------------ | name | age | ------------ | 荣七 | 64 | ------------ 1 row in set (0.00 sec) 2.求财务…...
低代码运维与管理服务
文章目录 前言一、服务内容二、服务范围三、服务流程四、服务交付件五、责任矩阵六、验收标准 前言 随着云计算技术的发展,数字化转型是企业的必然选择,企业需要实现广泛的连接并走向开放,传统集成工具无法满足当前企业面临的数字化转型诉求…...
【机器学习:三十二、强化学习:理论与应用】
1. 强化学习概述 **强化学习(Reinforcement Learning, RL)**是一种机器学习方法,旨在通过试验与反馈的交互,使智能体(Agent)在动态环境中学习决策策略,以最大化累积奖励(Cumulative…...
解决wordpress媒体文件无法被搜索的问题
最近,我在wordpress上遇到了一个令人困扰的问题:我再也无法在 WordPress 的媒体库中搜索媒体文件了。之前,搜索媒体非常方便,但现在无论是图片还是其他文件,似乎都无法通过名称搜索到。对于我这样需要频繁使用图片的博主来说,这简直是个大麻烦。 问题源头 一开始,我怀…...
【2024年华为OD机试】(B卷,100分)- 增强的strstr (Java JS PythonC/C++)
一、问题描述 题目描述 C 语言有一个库函数 char *strstr(const char *haystack, const char *needle),用于在字符串 haystack 中查找第一次出现字符串 needle 的位置,如果未找到则返回 null。 现要求实现一个 strstr 的增强函数,可以使用…...
【前端】CSS学习笔记
目录 CSS的简介CSS的概念语法 CSS的引入方式内联样式(行内样式)内部样式外部样式(推荐) 选择器全局选择器元素选择器类选择器ID选择器合并选择器后代选择器子选择器相邻兄弟选择器通用兄弟选择器伪类选择器:link:visited:hover:ac…...
项目架构调整,新增sunrays-combinations模块
文章目录 1.介绍2.环境搭建1.sunrays-framework下新建sunrays-combinations模块2.删除src3.pom.xml4.查看是否交给sunrays-framework管理5.删除sunrays-common中module引用的common-core-starter6.sunrays-combinations统一管理子模块7.common-all-starter的父模块修改为sunray…...
linux网络编程11——线程池
1. 线程池 1.1 池化技术原理 池化技术 当一个资源或对象的创建或者销毁的开销较大时,可以使用池化技术来保持一定数量的创建好的对象以供随时取用,于是就有了池式结构。常见的池式结构包括线程池、内存池和连接池。 池化技术应用的前提条件主要包括三…...
MySQL - 主从同步
1.主从同步原理: MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。 主从同步的核心原理是将主服务器上的二进制日志复制到从服务器,并在从服务器上执…...
基于微信小程序的安心陪诊管理系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...
深入剖析iOS网络优化策略,提升App性能
一、引言 在当今移动互联网时代,iOS 应用的网络性能直接关系到用户体验。无论是加载速度缓慢、频繁的网络错误,还是高额的流量消耗,都可能导致用户流失。因此,iOS 网络优化成为开发者提升应用质量、增强用户满意度的关键环节。本文…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
