2022-05-18 07:53:54
在Excel中,REDUCE函数与LAMBDA结合可实现循环计算并累积结果,其核心语法为=REDUCE(初始值, 数组, LAMBDA(x,y,计算表达式))。以下是具体用法及案例说明:
一、核心参数解析x:当前累积值(初始值为用户设定的初始值,后续为上一次计算结果)。
y:当前循环的数组元素。
数值计算求数字平方和:公式=REDUCE(0, B2:B5, LAMBDA(x,y, y*y + x))计算过程:
首次循环:x=0(初始值),y=1 → 结果1*1+0=1
第二次循环:x=1,y=2 → 结果2*2+1=5
依此类推,最终累加结果为30。
文本处理连接单元格内容:公式=REDUCE("", B2:B10, LAMBDA(x,y, x & y))将B2:B10中的文本逐个拼接,初始值为空字符串。
批量替换删除特定单位:公式=REDUCE(C2, {"袋";"kg";"个"}, LAMBDA(x,y, SUBSTITUTE(x,y,""))) * 1循环删除C2中的“袋”“kg”“个”,最后乘以1将文本数字转为数值。
指定替换(中文转英文):公式=REDUCE(C2, F2:F4, LAMBDA(x,y, SUBSTITUTE(x,y, OFFSET(y,,1))))假设F2:F4为中文单位,G2:G4为对应英文,通过OFFSET(y,,1)获取替换值。
复杂数据处理同类项拆分:公式=REDUCE(B4:C4, B5:B7, LAMBDA(x,y, VSTACK(x, IFNA(HSTACK(y, TEXTSPLIT(OFFSET(y,,1),,"、")), y))))拆分B5:B7右侧单元格中的“、”分隔内容,并组合成新表格。
通过灵活组合REDUCE与LAMBDA,可实现从简单累加到复杂数据清洗的多样化操作,显著提升公式效率。