ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 12478|回复: 28

[Excel 函数与公式] [第29期]高考最高分统计排序

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-11-2 19:27 | 显示全部楼层 |阅读模式

出题者:willin2000

原贴链接:http://club.excelhome.net/viewthread.php?tid=250134

答题要求和附件在11/3重新修改过. 请大家注意一下!

高考分数已经出来了,学校对学生的成绩也要做各种形式的统计,排名.下面这个统计的是各个学生科目中的最高分:


执行新要求后,至本贴修改时间已收到以下会员答案:

chrisfang/dengyf/gouweicao78/guangyp/HHAAMM/leeyong/lrf2003/Luckyguy2008/lws/moon_5iwww/songhuaegg/WDDN/XCD/yoka/封州大少/泓()/jjw530/ultra

[此贴子已经被willin2000于2007-11-21 21:40:24编辑过]
单选投票, 共有 19 人参与投票

投票已经结束

21.05% (4)
52.63% (10)
15.79% (3)
10.53% (2)
0.00% (0)
您所在的用户组没有投票权限

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

发表于 2007-11-3 12:51 | 显示全部楼层

题目比较好解,但我的公式太长了,三个公式用了650多个字符,比起版主的450个字符,真是惭愧!先发上,有时间现想想简化的办法

QUOTE:

不符合答题要求3,不过对答案公式进行非实质性修改成:
=INDIRECT(TEXT(MID(LARGE(IF($B$2:$J$21=SUBTOTAL(4,OFFSET($B$1,ROW($1:$20),,,9)),$B$2:$J$21*10^9+ROW($2:$21)*10^3+COLUMN($B:$J),0.0065536256),MIN(180,ROW(A1))),CHOOSE(COLUMN(A2),5,10,5),CHOOSE(COLUMN(A2),5,3,8)),CHOOSE(COLUMN(A2),"R0C1","R1C0","R0C000")),)&""
258个字符,基本能满足答题要求. (如果一个人的所有分数在100分以下,那就会出现错误结果。)

如何将含行列信息的最大值结果(最大值..行信息..列信息)按答题要求(字数/出错处理/右拉)分解在三列中的得到不同结果是本题需要解决的主要问题.

原则上"不符合答题要求"不能得分,但考虑到大家都花了一些时间来做题,并且本次答题者的答案中完全符合答题要求的不是很多,所以这次评分犹豫再三,为了既遵照竞赛区的规则,又能体现答题者的答案质量,评分略微放宽,大体上按以下原则执行:
1. 使用多格数组的不能得分.(右拉是考点,也是特别强调的)
2. 答题者的核心公式思路比较正确并且略加修改还可满足答题要求视情况可得1分.
3. 精彩部分另加分.

本答案基本能满足要求,评1分.                          - willin2000.

[此贴子已经被willin2000于2007-11-23 12:04:08编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

发表于 2007-11-3 14:53 | 显示全部楼层

答案已发送,请查收!!!


=INDIRECT(TEXT(RIGHT(LARGE(IF(($B$2:$J$35=SUBTOTAL(4,OFFSET($B$2:$J$2,ROW($2:$35)-2,))),$B$2:$J$35*10^9+ROW($2:$35)*10^6+ROW($2:$35)^N(L$1<>"科目")*10^3+COLUMN($B:$J)^N(L$1<>"学生"),1099),ROW(A1)),5),"R0C000"),)&""

QUOTE:

公式长度227还好.对附件中的数据处理结果正确,思路是将用于排序的行号和取位置的行号分开,分数&行号&行号(随列变动)&列(随列变动). 其中COLUMN($B:$J)^N(L$1<>"学生")用的很好(本题考点之一)

不过有几个问题:

1.300行不出错的方法是通过加大数据区,不是很好. 并且答题要求说是300行以后,1000行也是300行后,但公式结果就不对了.

2.由于使用了两个行号,所以不能满足答案要求4. 更多学生如果是5位数个学生,那最大信息将超过15位(4+5+5+3),不能直接修改参数适应更多学生.

综合来说,思路方向正确,对附件数据处理的结果正确,但有些有求未完全符合. 评1分. -willin2000

[此贴子已经被willin2000于2007-11-23 12:03:24编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

发表于 2007-11-4 20:03 | 显示全部楼层

答案已发送,请查收

邮件地址:songhuaegg@163.com 


QUOTE:

3列使用了三个不同的公式,不符合答题要求, 不得分. -willin2000

[此贴子已经被willin2000于2007-11-22 21:02:17编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

发表于 2007-11-6 09:12 | 显示全部楼层

右拉公式容错:249字符

多格数组(格式):168字符

已发送到:w829924@hotmail.com

 

QUOTE:

=INDIRECT(TEXT(MID(LARGE(IF($B$2:$J$21=SUBTOTAL(4,OFFSET($A$1,ROW($2:$21)-1,1,,9)),$B$2:$J$21*10^7+ROW($2:$21)*10^3+COLUMN($B:$J),1000999256),MIN(ROW()-1,COUNT($B$2:$J$21))),5+(L$1="科目")*3,3+(L$1="成绩")*3),"r"&(L$1="科目")+0&"c"&IF(L$1="学生",1,"000")),)

如果将列信息也变的化,公式能简洁一些. 可以发现其实只有列信息是不会影响排序结果的.

思路是将处理最大值信息和文本格式变化结合来完成不同列的结果:TEXT(MID(信息,变,变),变).

但如果一个人的所有分数在100分以下,那就会出现错误结果(多谢方兄提醒)。并且公式没有处理0值. 评1分. -willin2000


[此贴子已经被willin2000于2007-11-22 21:58:41编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

发表于 2007-11-6 23:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

已经发邮件给willin2000版主,请批阅,谢谢

QUOTE:

=INDIRECT(TEXT(1+MID(LARGE(IF(($B$2:$J21=SUBTOTAL(4,OFFSET($B$1,ROW($1:20),,,9)))*LEN($B$2:$B21),$B$2:$J21*10^12+ROW($2:21)*10^6+COLUMN($A:$I)*1001+10^14+100,2/9),ROW(A1)),5+8*(COLUMN()=13),COLUMN(F1)),"R0C"&REPT(0,COLUMN(A2))),)&""

公式长度232,思路是text(MID(最大值信息(含列变),变,变),变).其中列变稍微处理的复杂了些.可以再优化一下.

结果正确,符合答题要求. 评2分. -willin2000


[此贴子已经被willin2000于2007-11-23 15:54:22编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-11-6 23:34 | 显示全部楼层

回复[第29期]高考最高分统计排序

今晚按新要求作了一下,有一定难度,多格数组和右拉都用了198字符,邮件已发送到指定邮箱,请willin2000版主查收。

 

QUOTE:

谢谢gaungyp提供的多格数组公式方法1/2/4. 方法三公式:

=INDIRECT(TEXT(RIGHT(MAX(10^9-1,LARGE((SUBTOTAL(4,OFFSET($B$1,ROW($1:$98),,,9))=$B$2:$J$99)*($B$2:$J$99*10^9+ROW($1:$98)*10^IF(L$1=$M$1,5,2)+100+COLUMN($B:$J)^(L$1<>$L$1)),ROW()-1)),5),"r0c00"),)&""

1.其中300行的处理方法与3楼类似,答题要求300行(不是内),所以N行后公式结果会不对.(另外数据区下面有些地方不能有东西)

2.行的方式是位置变化,公式里用了3位,但学生有5位时,同样信息也会超出15位数.不符合答案要求4

3.由于使用了MAX(10^9来屏蔽错误值,所以公式不适用于列3位数的情况. 因C999出错.

针对附件数据结果正确,公式长度也很短,思路方向正确.但有些要求没完全符合, 评1分 -willin2000


[此贴子已经被willin2000于2007-11-23 22:37:40编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

发表于 2007-11-7 11:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

三条公式的要求改成一条公式。

难度从林中漫步,一下子变为丛从的挑战的探险。

在论坛上,我所见到的关于成绩处理的函数题,没有不会做的。

本竞赛题,我几乎要交不出答案了。

公式取巧了,请版主指教。

另:

个人观点:数据表中数据,包括空值共180条记录,公式要求拉到300行没有错误,是否要求过高了,如果是三条公式,在260字符内则很容易办到。

QUOTE:

"要求拉到300行没有错误",竞赛的实际使用有所不同,竞赛的目的是为了某些考点.

没有用右拉公式,或长度超过260,不得分. -willin2000

[此贴子已经被willin2000于2007-11-23 22:35:30编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

发表于 2007-11-8 01:28 | 显示全部楼层

水平有限,做了个253字符的,希望尽快看到高手们的高招。

QUOTE:

没有收到答案-willin2000

[此贴子已经被willin2000于2007-11-22 22:39:41编辑过]

TA的精华主题

TA的得分主题

发表于 2007-11-8 17:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复[第29期]高考最高分统计排序

答案已通过短消息发送!

QUOTE:

=INDIRECT(TEXT(MOD(LARGE((MOD(SMALL($B$2:$J$21+ROW($2:$21)*1000,ROW($1:$20)*9),1000)=$B$2:$J$21)*($B$2:$J$21*10^9+ROW($2:$21)*10^6+ROW($1:$20)*10^2*(L$1<>$M$1)+COLUMN($A:$I)*(L$1<>$L$1)+101),MIN(ROW()-1,COUNT($B$2:$J$21))),10^6),"R0C00;;R1C256"),0)&""

公式长度251个字符.公式思路TEXT(MAXVAL&row&row变&COL变,变).所以也存在答案要求4的问题. 评1分. -willin2000


[此贴子已经被willin2000于2007-11-22 22:44:37编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-4 02:44 , Processed in 0.059172 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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