本帖最后由 shaowu459 于 2023-9-8 22:13 编辑
再举一个使用y控制循环次数的例子。
如下图,A:E列存储着一些由-连接的名字,要求将每一行数据收尾相连后,去掉G列取消条件中的姓名,结果如H列所示。
参考公式如下:
- =LET(s,A2:E2,TEXTJOIN("-",,UNIQUE(TEXTSPLIT(CONCAT(REDUCE(s,s,LAMBDA(x,y,XLOOKUP("*-"&LEFT(x)&"*",s,s&0,0,2)&x))),,TEXTSPLIT("-、0、"&G2,,"、",1)))))
复制代码
公式意思不再细说,主要标注下循环次数问题:
=LET(
s, A2:E2, 每行一共5个元素,定义为s
TEXTJOIN(
"-",
,
UNIQUE(
TEXTSPLIT(
CONCAT(
REDUCE(
s, s为x的初始值
s, 根据后面运算要求,需要循环5次,但因为已经定义了s,可以直接使用s控制循环5次。改成A1:A5这种也可以。
LAMBDA(x, y,
XLOOKUP("*-" & LEFT(x) & "*", s, s & 0, 0, 2) & x
)
)
),
,
TEXTSPLIT("-、0、" & G2, , "、", 1)
)
)
)
)
|