ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: DFWZP

[求助] 怎么提取出正确的班级,求两个班的平均分

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-10-24 16:51 | 显示全部楼层
谢谢所有人,太感谢了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-10-24 18:52 | 显示全部楼层
jisijie630 发表于 2021-10-23 18:39
D3=SUM(COUNTIF(成绩!C:C,SUBSTITUTE(MIDB(A3,{1,5},{4,5}),CHAR(10),)))
E3=SUM(SUMIF(成绩!C:C,TRIM(MID ...

您的 这个d3单元格下拉后,d11单元格计算出错。

TA的精华主题

TA的得分主题

发表于 2021-10-24 19:19 | 显示全部楼层
DFWZP 发表于 2021-10-24 18:52
您的 这个d3单元格下拉后,d11单元格计算出错。

请发附件。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-10-24 21:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
E风卍行H 发表于 2021-10-23 17:22
首先,两个班的总平均分不能直接用两个班各自的平均分相加再除以2,之前的公式逻辑是错的。
可以参考以下 ...

2021 成绩 积分.zip (632.47 KB, 下载次数: 5)
同样的问题,不用辅助列,怎么用公式解决。
image.png

TA的精华主题

TA的得分主题

发表于 2021-10-24 21:49 | 显示全部楼层
CLEAN(MIDB(A3,{1,5},{4,5})) 的计算结果就是两个班级,所以 I 列也把中间的条件换成这个公式就可以了

2021 成绩 积分.rar

441.41 KB, 下载次数: 8

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-10-25 09:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
E风卍行H 发表于 2021-10-24 21:49
CLEAN(MIDB(A3,{1,5},{4,5})) 的计算结果就是两个班级,所以 I 列也把中间的条件换成这个公式就可以了

我不明白为什么这么一改计算的就是两个班的,我还以为要四9+四10呢,能解释一下吗,MIDB(A3,{1,5},{4,5}

TA的精华主题

TA的得分主题

发表于 2021-10-25 10:42 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
DFWZP 发表于 2021-10-25 09:30
我不明白为什么这么一改计算的就是两个班的,我还以为要四9+四10呢,能解释一下吗,MIDB(A3,{1,5},{4,5}

你既然会LEFT和RIGHT,那MID应该也会,而MIDB跟MID差不多,只是把一个中文当两个字符。中间的{1,5}是数组,意思是分别从第1个和第5个字符开始提取,第1个不用多说,至于第5个,因为中文占2个,数字占1个或2个,换行符占1个。当数字占1个时,第5个字符就是第二个班级的第一个中文字符,当数字占2个时,第5个字符就是换行符。也就是说第二个提取位置要么是换行符,要么是第二个班级的中文。

再来看后面的数组{4,5},跟前面的{1,5}是对应的,意思是从第1个字符开始提取4个字符,从第5个字符开始提取5个字符。这样就可以保证把两个班级的字符都提取到,只是可能会把换行符也一起提取了。这时候用CLEAN函数清楚换行符,就可以得到两个班级的名称了。

说了这么多,如果看不懂就慢慢学习数组的相关内容吧。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-10-25 11:02 | 显示全部楼层
E风卍行H 发表于 2021-10-25 10:42
你既然会LEFT和RIGHT,那MID应该也会,而MIDB跟MID差不多,只是把一个中文当两个字符。中间的{1,5}是数 ...

非常感谢你,就是不明白这个数组的原理,多谢你了。

TA的精华主题

TA的得分主题

发表于 2021-10-25 12:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 E风卍行H 于 2021-10-25 13:47 编辑
DFWZP 发表于 2021-10-25 11:02
非常感谢你,就是不明白这个数组的原理,多谢你了。

这么说可能会简单些:
假设A1单元格的内容是:ABCDEFG
现在用 LEFT 函数从里面提取内容,LEFT(A1,2)提取前2个字符 "AB",LEFT(A1,5) 提取前5个字符 "ABCDE"
现在用数组的方式来提取:LEFT(A1,{2,5}),意思是同时进行提取,那结果就是{"AB","ABCDE"}
如果把这个结果作为 COUNTIF 函数的条件,COUNTIF(A1,LEFT(A1,{2,5})&"*"),那结果就是{1,1}
因为这时候的结果还是数组,可以在外面用 SUM 函数进行求和 SUM(COUNTIF(A1,LEFT(A1,{2,5})&"*"))
最后得到的结果就是 2。要注意的是,数组公式一般输入完后不能直接按 ENTER 结束,而是要按 CTRL + SHIFT +ENTER 三键结束。但有些函数本身就支持数组,直接按 ENTER 结束也可以得到正确结果。这方面就不多说了,感兴趣的话可以去找些数组的资料学学

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-10-25 19:01 | 显示全部楼层
E风卍行H 发表于 2021-10-25 12:17
这么说可能会简单些:
假设A1单元格的内容是:ABCDEFG
现在用 LEFT 函数从里面提取内容,LEFT(A1,2) ...

恩恩,第一次发的已经明白,谢谢你了。有没有好的保护公式的办法,防止误修改,除了审阅里面保护工作表之外的方法,要能看不见公式,但是,其他单元格可以编辑。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-24 15:44 , Processed in 0.045496 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表