本帖最后由 高空闪电 于 2024-6-4 21:54 编辑
part98 发表于 2024-6-1 16:31
=LET(a,DROP(REDUCE("",I2:I3,LAMBDA(x,y,VSTACK(x,TAKE(SORT(FILTER(A2:E31,(A2:A31=OFFSET(y,,-1))*(C2 ...
按您给的录取到第二批的公式增加了第三批的录取,终于成功了,excel现在这么强大了吗?第一次领导要的急,我满头大汗弄了2个多小时呢。这是我最张版的公式,又将各类考生的录取数做了列表,直接调用地址,后期可以随意改动。
let函数真是太强大了,公式嵌套公式啊。
还有filter,sort,take,三个函数就可以取出被录取的指标生,
用reduce和lambda组合,可以获得指标生名单。
将let的最后一个值改为某个变量,可以查看变量的内容。
再有就是运算速度,是贼快啊,立马可出。
另一个分列求结果的答案,我将公式输入到我6000人的表单里,大约是1秒多计算1个人的1项。
谢谢大侠,真是开眼了。
仿佛看到了excel的新世界
- =LET(a,DROP(REDUCE("",I2:I3,LAMBDA(x,y,VSTACK(x,TAKE(SORT(FILTER(A2:E31,(A2:A31=OFFSET(y,,-1))*(C2:C31=1)),{4,5},-1),y)))),1),b,TAKE(SORT(UNIQUE(VSTACK(a,FILTER(A2:E31,C2:C31<>3)),,1),{4,5},-1),I6),g,TAKE(SORT(UNIQUE(VSTACK(a,b,A2:E31),,1),{4,5},-1),I7),c,HSTACK(a,EXPAND(H5,I5,,H5)),d,HSTACK(b,EXPAND(H6,I6,,H6)),h,HSTACK(g,EXPAND(H7,I7,,H7)),e,VSTACK(c,d,h),XLOOKUP(A2:A31&B2:B31,TAKE(e,,1)&TAKE(DROP(e,,1),,1),TAKE(e,,-1),""))
复制代码 其中,a,指标生录取结果
b,统招生录取结果
c,指标生加上标注
d,统招生加上标注
g,董子录取结果
h,董子加上标注
e,所有被录取的学生及录取结果标注
最后用xlookup函数,用原数据中的第一二列为不重复值,查询录取结果并显示。
|