|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
快三年前的帖子了,不知道超人老师还有没有印象,不过题不算复杂,应该好想。就是reduce函数将班级和获奖人员清单展开这个练习。公式中的IFS(LEN(y)<9,x,即当循环到班级号时,X到底是什么?以循环到下图中的A2,Y为5.1为例,我的理解,这时的X应该是5.1班 5.1 空 一行三列的数组。LOOJUP部分要到的是5.1班,left部分要到的是5.1(而不是几等奖),后面的TEXTSPLIT和mid部分要到的应该是空,因为此时的Y 5.1只有三个字符,mid提取到的是空。所以,当Y为班级号时,X应该不是诸如5.1班 一等奖 解韵熙 这样的内容。这是我还不能理解的地方,超人老师能不能解答?公式如下:
=REDUCE({"班级","奖次","姓名"},A2:A15,LAMBDA(x,y,IFS(LEN(y)<9,x,1,VSTACK(x,LET(s,IF({1,0},LOOKUP(9,A2:y)&"班",LEFT(y,3)),IFNA(HSTACK(s,TEXTSPLIT(MID(y,5,99),,",")),s)))))) |
|