依次替换(Excel函数集团)

问题:将以下考题中的空格替换为正确答案。

这个以前几乎不可能用函数解决的问题现在已经不是问题了。

=REDUCE(A2,TEXTSPLIT(B2, ";" ),LAMBDA(x,y,SUBSTITUTE(x, " " ,y,1)))

第一次运算:x指代A2,y指代TextSplit结果的第一个值,利用Substitute将x中第一个空格替换成y;

第二次运算:x指代第一个空格已填上答案的A2,y指代TextSplit结果的第二个值,利用Substitute将x中第一个(实际是A2中的第二个)空格替换成y

以此类推。

其实,Reduce并不是唯一解法:

=TEXTJOIN(TEXTSPLIT(B2,";")&")",,TEXTSPLIT(A2," )"))

两个TextSplit就是拆分,一个按分号拆分,另一个按空格和右括号拆分。

再把拆分掉的A2合并起来,以拆分出来的B2作为“分隔符”。

如果空格数量不确定,可以使用以下公式:

=SUBSTITUTE(TEXTJOIN(TEXTSPLIT(B2,";")&")",,TEXTSPLIT(A2,")"))," ",)

  

 

向首先想出这一思路的同学致敬!

 

posted @ 2024-01-25 16:57  熬肥妖  阅读(24)  评论(0编辑  收藏  举报