Excel REDUCE函数详解:数值累加、字符串拼接、批量替换全攻略
今天我们将深入学习Excel中REDUCE函数的使用方法,它被誉为LAMBDA函数的最佳辅助工具,能够通过循环调用参数实现结果的累加。

一、REDUCE函数简介
REDUCE函数的作用是将数组中的每个值应用到LAMBDA表达式中,并返回累积的结果。
语法结构为:=REDUCE([初始值], 数组, LAMBDA(x,y, 计算表达式))。
具体参数解释如下:
- 第一参数:初始值;
- 第二参数:需要循环处理的数组;
- 第三参数:LAMBDA表达式,通常包含两个参数x和y,分别表示累加器和当前值。
为了更好地理解,我们通过实际案例来演示其功能。
二、案例演示
假设我们需要计算一组数字的平方和,可以使用以下公式:
=REDUCE(0, B2:B5, LAMBDA(x,y, y*y + x))
- 参数1:起始值为0;
- 参数2:B2:B5区域为待处理的数据;
- 参数3:LAMBDA表达式 (x,y, y*y + x)。
在此过程中,REDUCE会逐个遍历B2:B5中的数据,将其代入LAMBDA表达式进行计算并累加结果。
三、连接文字
=REDUCE("", B2:B10, LAMBDA(x,y, x & y))
除了数值累加,REDUCE还能用于字符串的拼接。例如,我们可以将多个单元格中的文本连接成一个整体。
四、批量替换
=REDUCE(C2, {"袋";"kg";"个"}, LAMBDA(x,y, SUBSTITUTE(x, y, ""))) * 1
该公式可将指定单位(如“袋”、“kg”、“个”)批量替换为空值,并将结果转换为数值格式以便后续计算。
五、批量指定替换
=REDUCE(C2, F2:F4, LAMBDA(x,y, SUBSTITUTE(x, y, OFFSET(y,,1))))
此公式用于将中文单位替换为对应的英文单位,通过OFFSET函数实现偏移定位。
六、同类项拆分
=REDUCE(B4:C4, B5:B7, LAMBDA(x,y, VSTACK(x, IFNA(HSTACK(y, TEXTSPLIT(OFFSET(y,,1),,"、")), y))))
这个复杂的公式可以将合并的表格快速拆分为独立的行。关键步骤包括:
- 使用TEXTSPLIT函数按分隔符拆分;
- 使用HSTACK函数在左侧添加对应班级;
- 使用IFNA函数处理错位值;
- 使用VSTACK函数将表头与结果组合。
最后,通过REDUCE函数完成循环遍历,确保所有数据都被正确处理。
以上内容展示了REDUCE函数的强大功能,建议大家动手实践以加深理解。
如果您对Excel高级函数感兴趣,还可以尝试学习其他相关工具,例如MAP、SCAN等,它们同样能大幅提升工作效率。