动态数组公文式中使用switch(可能还有ifs)函数得不到预期结果

https://kdocs.cn/l/cnH1EhwzIJzw

文件如上

如果使用switch函数

=-REDUCE(0,ROW($1:99),LAMBDA(x,y,IF(@x<0,x,SWITCH(MID(A2,y,1),"{",VSTACK(MAX(x)+1,x,MAX(x)+1),"}",IF(@x=B2,-y,DROP(x,1)),x))))

得不到想要结果,excel中没问题。

如果改成使用if函数就可以得到预期结果,算法逻辑没变

=-REDUCE(0,ROW($1:99),LAMBDA(x,y,IF(@x<0,x,LET(z,MID(A2,y,1),IF(z="{",VSTACK(MAX(x)+1,x,MAX(x)+1),IF(z="}",IF(@x=B2,-y,DROP(x,1)),x))))))

不知道这是WPS的特性,还是wps的bug.

重庆
浏览 65
收藏
1
分享
1 +1
14
+1
全部评论 14
 
wils
wils

创作者俱乐部成员

excel曾有人问同样的问题https://stackoverflow.com/questions/76386362/why-is-the-ifs-formula-not-working-in-a-recursive-lambda-function-in-excel 说明最近excel修复了这个问题,wps还没有
· 广东省
回复
JW L
如果这是个bug,我觉得还是有必要反馈一下,一起帮助国产软件进步。
· 重庆
1
回复