如图,要求根据原文删除从c2到l2的字符,公式如下:
=REDUCE(A2,MID(CONCAT(C2:L2),SEQUENCE(LEN(CONCAT(C2:L2))),1),LAMBDA(x,y,SUBSTITUTE(x,y,"")))
公式思路:这是365新函数提升效率的又一个例证,本题中的替换数量为20个字符,如果没有reduce函数,需要写20个substitute函数,是不是很恐怖?reduce函数将原文做一参,成为累加器的初始值,删除目标为第二参,一个一个的完成替换,每替换一次,x的值就变为删除y后的字符串,直到结束为止。
reduce函数要配合lambda函数一起使用,它是lambda函数是最强的存在,类似于求和类公式中的sumproduct,查找类的filter。它的原意是做累加,但不仅在数字计算,就是在文本处理方面也有很好的应用,配合vstack、hstack两个函数基本可以实现lambda函数家庭的所有功能。