- =LET(end_row,MATCH(2,1/(A:A<>"")),a,A2:INDEX(B:B,end_row),b,C2:INDEX(D:D,end_row),fx,LAMBDA(x,BYROW(x,CONCAT)),fy,LAMBDA(x,y,SEQUENCE(x-y+1,,y)),fz,LAMBDA(x,y,HSTACK(x,IF(x,y))),t,fy(MAX(TAKE(b,,1)),MIN(TAKE(a,,1))),c,SORT(VSTACK(fz(t,"上午"),fz(t,"下午"))),d,fx(c),e,DROP(REDUCE("",SEQUENCE(ROWS(a)),LAMBDA(m,n,VSTACK(m,CHOOSEROWS(c,fy(MATCH(CONCAT(INDEX(b,n,)),d,),MATCH(CONCAT(INDEX(a,n,)),d,)))))),1),DROP(REDUCE("",UNIQUE(TAKE(e,,1)),LAMBDA(s,k,VSTACK(s,IF(ROWS(FILTER(e,TAKE(e,,1)=k))>1,HSTACK(k,"全天"),FILTER(e,TAKE(e,,1)=k))))),1))
复制代码
修改了一下,可以动态调整了,再次感谢大神的指导!希望还有其他大神提供简练一点的公式 |