找回密码
 立即注册
搜索
楼主: 蒲河石

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

35
回复
816
查看
[复制链接]

1

主题

5

帖子

1

幻币

初入江湖

Rank: 1

积分
7
2021-11-15 13:32:50 显示全部楼层
请发附件。
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

幻币

初入江湖

Rank: 1

积分
7
2021-11-21 07:53:34 显示全部楼层
2021 成绩 积分.zip (632.47 KB, 下载次数: 10)
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

幻币

初入江湖

Rank: 1

积分
4
2021-11-24 09:49:22 显示全部楼层
CLEAN(MIDB(A3,{1,5},{4,5})) 的计算结果就是两个班级,所以 I 列也把中间的条件换成这个公式就可以了
2021 成绩 积分.rar (441.41 KB, 下载次数: 105)
PPT学习论坛
回复 支持 反对

使用道具 举报

2

主题

6

帖子

1

幻币

初入江湖

Rank: 1

积分
8
2021-11-27 21:30:20 显示全部楼层
我不明白为什么这么一改计算的就是两个班的,我还以为要四9+四10呢,能解释一下吗,MIDB(A3,{1,5},{4,5}
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

幻币

初入江湖

Rank: 1

积分
5
2021-11-29 20:55:06 显示全部楼层
你既然会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函数清楚换行符,就可以得到两个班级的名称了。
说了这么多,如果看不懂就慢慢学习数组的相关内容吧。
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

6

帖子

-1

幻币

初入江湖

Rank: 1

积分
4
2021-11-29 22:01:28 显示全部楼层
非常感谢你,就是不明白这个数组的原理,多谢你了。
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

幻币

初入江湖

Rank: 1

积分
8
2021-12-6 12:52:12 显示全部楼层
这么说可能会简单些:
假设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 结束也可以得到正确结果。这方面就不多说了,感兴趣的话可以去找些数组的资料学学
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

幻币

初入江湖

Rank: 1

积分
6
2021-12-13 03:09:39 显示全部楼层
恩恩,第一次发的已经明白,谢谢你了。有没有好的保护公式的办法,防止误修改,除了审阅里面保护工作表之外的方法,要能看不见公式,但是,其他单元格可以编辑。
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

幻币

初入江湖

Rank: 1

积分
0
2021-12-13 11:16:05 显示全部楼层
首先,两个班的总平均分不能直接用两个班各自的平均分相加再除以2,之前的公式逻辑是错的。
可以参考以下公式:
D3单元格公式:
=IFERROR(IF(FIND(CHAR(10),A3),
COUNTIFS(成绩!$C$3:$C$9994,LEFT(A3,FIND(CHAR(10),A3)-1),成绩!$H$3:$H$9994,">=0")+
COUNTIFS(成绩!$C$3:$C$9994,MID(A3,FIND(CHAR(10),A3)+1,3),成绩!$H$3:$H$9994,">=0")),
COUNTIFS(成绩!$C$3:$C$9994,A3,成绩!$H$3:$H$9994,">=0"))
E3单元格公式:
=IFERROR(IF(FIND(CHAR(10),A3),
SUMIF(成绩!$C$3:$C$9994,TRIM(LEFT(SUBSTITUTE(A3,CHAR(10),REPT(" ",2)),3)),成绩!$H$3:$H$9994)
+SUMIF(成绩!$C$3:$C$9994,TRIM(RIGHT(SUBSTITUTE(A3,CHAR(10),REPT(" ",2)),3)),成绩!$H$3:$H$9994)),
SUMIF(成绩!$C$3:$C$9994,A3,成绩!$H$3:$H$9994))/D3
成绩 积分.rar (218.69 KB, 下载次数: 140)
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

幻币

初入江湖

Rank: 1

积分
4
2021-12-17 09:05:51 显示全部楼层
首先,两个班的总平均分不能直接用两个班各自的平均分相加再除以2,之前的公式逻辑是错的。
可以参考以下公式:
D3单元格公式:
=IFERROR(IF(FIND(CHAR(10),A3),
COUNTIFS(成绩!$C$3:$C$9994,LEFT(A3,FIND(CHAR(10),A3)-1),成绩!$H$3:$H$9994,">=0")+
COUNTIFS(成绩!$C$3:$C$9994,MID(A3,FIND(CHAR(10),A3)+1,3),成绩!$H$3:$H$9994,">=0")),
COUNTIFS(成绩!$C$3:$C$9994,A3,成绩!$H$3:$H$9994,">=0"))
E3单元格公式:
=IFERROR(IF(FIND(CHAR(10),A3),
SUMIF(成绩!$C$3:$C$9994,TRIM(LEFT(SUBSTITUTE(A3,CHAR(10),REPT(" ",2)),3)),成绩!$H$3:$H$9994)
+SUMIF(成绩!$C$3:$C$9994,TRIM(RIGHT(SUBSTITUTE(A3,CHAR(10),REPT(" ",2)),3)),成绩!$H$3:$H$9994)),
SUMIF(成绩!$C$3:$C$9994,A3,成绩!$H$3:$H$9994))/D3
成绩 积分.rar (218.69 KB, 下载次数: 175)
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册