如图,通过上下微调控件,调整班级与科目,然后查询及格人数,这个用filter函数最好实现:=LET(x,FILTER(FILTER(A2:J604,SUBSTITUTE(SUBSTITUTE(A2:A604,"九年级",""),"班","")*1=P9),A1:J1=P13),
COUNT(FILTER(x,x>=60)))。这充分利用啦FILTER函数既能过滤行也能过滤列的特点。
但是FILTER函数有个较大的问题就是占用计算机内存过多,特别是数据量大的时候更是如些,那么这时候就轮到XLOOKUP函数出场啦:
=LET(X,IF(SUBSTITUTE(SUBSTITUTE(A2:A604,"九年级",""),"班","")*1=P9,SEQUENCE(ROWS(A2:A604))),
Y,XLOOKUP(LARGE(X,SEQUENCE(SUM(ISNUMBER(X)*1))),X,XLOOKUP(P13,A1:J1,A2:J604)),
SUM((Y>=60)*1)
)
xlookup过滤行列不像FILTER这么直观,但它的优点是速度快,通过二分法查找速度更是快上加快,值得在数据量大的时候研究一下。第一个XLOOKUP查找 符合条件的序列,返回得分。第二个XLOOKUP构建起每个学科下面的得分,正好用作返回。
评论 (0)