ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 多重条件统计函数的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-12-19 09:46 | 显示全部楼层 |阅读模式
     要求:按左边表格科目、班级和班级层次满足右边表格的分数线,统计上线人数(这个已写好函数)。
难点是“有效上线人数统计”的要求:  
1.统计到U列单元格是总分时:既要总分满足上线条件,又要其他各科满足右边分数线条件
2.统计到U列单元格是其他科目:只要求总分和当前统计科目两个条件满足右边分数线条件
用COUNTIFS一列一列去统计会有很多函数,因为表格还有很多列,我是精简了的,有没有什么精简一点的函数,请教各位老师,大佬!!!

微信图片_20241209091824.png

多重条件统计.rar

15.08 KB, 下载次数: 19

TA的精华主题

TA的得分主题

发表于 2024-12-19 10:24 | 显示全部楼层
本帖最后由 ovxyz 于 2024-12-19 11:51 编辑

Y3=SUM(IF(U3="总分",BYROW(CHOOSECOLS($D$3:$Q$34,1,4,6,8,10,12,14),LAMBDA(x,AND(x>=VLOOKUP(S3,$AE$3:$AL$5,{2,3,4,5,6,7,8},0)))),BYROW(CHOOSECOLS($D$3:$Q$34,1,MATCH(U3,$D$1:$R$1,0)),LAMBDA(x,AND(x>=VLOOKUP(S3,CHOOSECOLS($AE$3:$AL$5,1,2,MATCH(U3,$AE$2:$AL$2,0)),{2,3},0)))))*($A$3:$A$34=V3)*($S$3:$S$34=W3))


下拉


稍微简化一下:
=SUM(BYROW((CHOOSECOLS($D$3:$Q$34,1,IF(U3="总分",SEQUENCE(,6,4,2),MATCH(U3,$D$1:$R$1,0)))-VLOOKUP(S3,CHOOSECOLS($AE$3:$AL$5,IF(U3="总分",SEQUENCE(,8),HSTACK(1,2,MATCH(U3,$AE$2:$AL$2,0)))),IF(U3="总分",{2,3,4,5,6,7,8},{2,3}),0))>=0,AND)*($A$3:$A$34=V3)*($S$3:$S$34=W3))

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-12-19 10:32 | 显示全部楼层
ovxyz 发表于 2024-12-19 10:24
Y3=SUM(IF(U3="总分",BYROW(CHOOSECOLS($D$3:$Q$34,1,4,6,8,10,12,14),LAMBDA(x,AND(x>=VLOOKUP(S3,$AE$3:$ ...

谢谢帮助,请问你用的什么版本?我是2016的,提示#NAME?

TA的精华主题

TA的得分主题

发表于 2024-12-19 10:33 | 显示全部楼层
这种问题,就不适合函数来解决,用代码高效快捷灵活通用,

TA的精华主题

TA的得分主题

发表于 2024-12-19 10:47 | 显示全部楼层
本帖最后由 zhumumu1816 于 2024-12-19 13:03 编辑

=IFERROR(SUMPRODUCT((BYROW((CHOOSECOLS(FILTER($G$2:$R$34,($A$2:$A$34=V3)*($S$2:$S$34=W3)*($D$2:$D$34>=VLOOKUP(W3,$AE$2:$AL$5,MATCH(U3,$AE$2:$AL$2,0),0))),1,3,5,7,9,11)>FILTER($AG$3:$AL$5,$AE$3:$AE$5=W3))*1,LAMBDA(a,SUMPRODUCT(a)))=6)*1),0)

excel365

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-12-19 10:54 | 显示全部楼层
athlon912 发表于 2024-12-19 10:32
谢谢帮助,请问你用的什么版本?我是2016的,提示#NAME?

最新官网wps

TA的精华主题

TA的得分主题

发表于 2024-12-19 11:11 | 显示全部楼层
  1. =IF($U3=$D$1,SUM(IFERROR(FIND(7,BYROW(N(CHOOSECOLS(FILTER($A$3:$Q$34,$A$3:$A$34=$V3),4,7,9,11,13,15,17)>=INDEX($AF$3:$AL$5,MATCH(W3,$AE$3:$AE$5,),)),SUM)),"")),SUM(IFERROR(FIND(2,BYROW(N(CHOOSECOLS(FILTER($A$3:$Q$34,$A$3:$A$34=V3),4,MATCH(U3,$A$1:$Q$1,))>=CHOOSECOLS(INDEX($AF$3:$AL$5,MATCH(W3,$AE$3:$AE$5,),),1,MATCH(U3,$AF$2:$AL$2,))),SUM)),"")))
复制代码


技术有限,硬生生的写了一遍。

TA的精华主题

TA的得分主题

发表于 2024-12-19 12:22 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 solextrade 于 2024-12-19 12:27 编辑

Y3 =COUNT(0/(MMULT(N(OFFSET(D$3,,N(IF(,IF(U3="总分",{0,3,5,7,9,11,13},CHOOSE({1,2,1,1,1,1,1},0,RIGHT(U3)*2+1)))),COUNT(A:A))>=VLOOKUP(W3,AE:AL,IF(,,{2,3,4,5,6,7,8}),)),ROW(1:7)^0)=7)/(A$3:A$34&S$3:S$34=V3&W3))

X3 =COUNTIFS(A:A,V3,INDEX(A:S,,MATCH(U3,$1:$1,)),">="&VLOOKUP(W3,AE:AL,MATCH(U3,AE$2:AL$2,),))

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-12-25 16:21 , Processed in 0.036554 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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