1234

ExcelHome技术论坛

用户名  找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 比值计算,有点难度。

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-5 08:00 | 显示全部楼层
mykitami 发表于 2025-3-4 21:46
=LET(_a,SORT($E$2:$E$795),_b,HSTACK(UNIQUE(_a),MAP(UNIQUE(_a),LAMBDA(x,SUM((x=_a)*1)))),_c,VSTACK(0, ...

如果全部学生就一个组,又怎么计算呢?谢谢您!

TA的精华主题

TA的得分主题

发表于 2025-3-5 08:51 | 显示全部楼层
本帖最后由 edwin11891 于 2025-3-5 20:51 编辑

不用辅助列,合并辅助列过程拉个超长火车,先保证结果准确。如果分组方案有调整,修改nGrp参数10即可。如果全部为一个组,nGrp修改为总行数,如示例中为794。
  1. =LET(sData,A2:D795,sDD,D2:D795,nGrp,10,t,MAP(sDD,LAMBDA(x,MATCH(x,SORT(UNIQUE(sDD),,-1),))),src,HSTACK(SORTBY(sData,t,1),SORT(t)),sgp,GROUPBY(TAKE(src,,-1),TAKE(src,,-1),COUNT,0,0),fx,LAMBDA(arr,nr,res,LET(n,IFERROR(XMATCH(nGrp,SCAN(,arr,SUM),1),nr-ROWS(res)+1),IF(COUNT(arr),fx(DROP(arr,n),nr,VSTACK(res,REPTARRAY(TAKE(res,-1)+1,n))),res))),st,DROP(fx(TAKE(sgp,,-1),ROWS(TAKE(sgp,,-1)),0),1),s,FILTER(st,st<>""),Re,IF(ROWS(s)<ROWS(TAKE(sgp,,-1)),VSTACK(s,REPTARRAY(MAX(st)+1,ROWS(TAKE(sgp,,-1))-ROWS(s))),s),sct,DROP(REDUCE("",UNIQUE(Re),LAMBDA(x,y,VSTACK(x,LET(Sa,FILTER(TAKE(sgp,,1),Re=y),Sb,FILTER(CHOOSECOLS(src,4),(TAKE(src,,-1)>=MIN(Sa))*(TAKE(src,,-1)<=MAX(Sa))),Sc,MAP(Sb,LAMBDA(z,(SUM(N(Sb<z))+SUM(N(Sb=z))/2)/ROWS(Sb))),Sc)))),1),Res,XLOOKUP(TAKE(sData,,1),TAKE(src,,1),sct,"",0),Res)
复制代码

TA的精华主题

TA的得分主题

发表于 2025-3-5 11:40 | 显示全部楼层
gdhdlzy 发表于 2025-3-5 08:00
如果全部学生就一个组,又怎么计算呢?谢谢您!

整体一个组
=LET(_d,TOCOL($D$2:$D$9999,1),(IFERROR(ROWS(FILTER(_d,(_d<D2)*(_d>0))),0)+ROWS(FILTER(_d,_d=D2))*0.5)/ROWS(_d))

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-5 17:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
mykitami 发表于 2025-3-5 11:40
整体一个组
=LET(_d,TOCOL($D$2:$D$9999,1),(IFERROR(ROWS(FILTER(_d,(_d0))),0)+ROWS(FILTER(_d,_d=D2) ...

像后面的政治、地理有选科,怎么对大于0的成绩计算呢?(全部就一个组)

新建 Microsoft Excel 工作表.zip

55.17 KB, 下载次数: 3

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-5 17:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
mykitami 发表于 2025-3-5 11:40
整体一个组
=LET(_d,TOCOL($D$2:$D$9999,1),(IFERROR(ROWS(FILTER(_d,(_d0))),0)+ROWS(FILTER(_d,_d=D2) ...

像后面的政治、地理有选科,怎么对大于0的成绩计算呢?(全部就一个组)

新建 Microsoft Excel 工作表.zip

55.17 KB, 下载次数: 2

TA的精华主题

TA的得分主题

发表于 2025-3-5 19:57 | 显示全部楼层
gdhdlzy 发表于 2025-3-5 17:59
像后面的政治、地理有选科,怎么对大于0的成绩计算呢?(全部就一个组)

以H列的政治为例
=LET(_d,TOCOL($H$2:$H$9999,1),IF(H2="","",(IFERROR(ROWS(FILTER(_d,(_d<H2)*(_d>0))),0)+ROWS(FILTER(_d,_d=H2))*0.5)/ROWS(_d)))

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-6 11:32 | 显示全部楼层
mykitami 发表于 2025-3-5 19:57
以H列的政治为例
=LET(_d,TOCOL($H$2:$H$9999,1),IF(H2="","",(IFERROR(ROWS(FILTER(_d,(_d0))),0)+ROWS ...

老师:六总分要分文理科分别计算,怎么写公式呢?谢谢您!

新建 Microsoft Excel 工作表.zip

200.57 KB, 下载次数: 2

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-6 11:40 | 显示全部楼层
gdhdlzy 发表于 2025-3-6 11:32
老师:六总分要分文理科分别计算,怎么写公式呢?谢谢您!

也要不计算0分。

TA的精华主题

TA的得分主题

发表于 2025-3-6 13:14 | 显示全部楼层
本帖最后由 mykitami 于 2025-3-6 13:17 编辑
gdhdlzy 发表于 2025-3-6 11:32
老师:六总分要分文理科分别计算,怎么写公式呢?谢谢您!

=LET(_d,FILTER($Z$2:$Z$9999,$AC$2:$AC$9999=AC2),IF(Z2=0,"",(IFERROR(ROWS(FILTER(_d,(_d<Z2)*(_d>0))),0)+ROWS(FILTER(_d,_d=Z2))*0.5)/ROWS(_d)))

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-11 07:29 | 显示全部楼层
mykitami 发表于 2025-3-4 21:46
=LET(_a,SORT($E$2:$E$795),_b,HSTACK(UNIQUE(_a),MAP(UNIQUE(_a),LAMBDA(x,SUM((x=_a)*1)))),_c,VSTACK(0, ...

您好!如果要改变分组人数,怎么改呢?还有尾数不足10人,是多少人就计算多少人,不要出现文字部分。谢谢您的帮助!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

1234

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

GMT+8, 2025-4-6 08:08 , Processed in 0.026591 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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