Applies ToMicrosoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 网页版

通过将 LAMBDA 应用于每个值,并在累加器中返回总值,将数组减小为累积值。   

语法

=REDUCE ([initial_value], array, lambda (累加器, value, body) )

REDUCE 函数语法具有以下实参和形参:

  • [initial_value]    设置累加器的起始值。

  • array   要减小的数组。

  • lambda   调用 LAMBDA 来减小数组。 LAMBDA 采用三个参数:

    • accumulator   该值累加后作为最终结果返回。

    • value    数组中的当前值。

    • 身体    应用于数组中每个元素的计算。

备注

使用 initial_value 参数设置累加器参数的起始值。 在示例 2 中,凡是将累加器相乘的地方,都将值设为 1 以避免乘以 0。

错误

提供无效的 LAMBDA 函数或不正确的参数数字将返回 #VALUE! 错误称为“参数不正确”。

示例

示例 1:对平方值求和

将示例数据输入单元格 A1:C2,然后将公式复制到单元格 D4 中:

=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))

第一个 REDUCE 函数示例1

示例 2:创建自定义的 “PRODUCTIF” 函数以仅乘以大于 50 的值

Create名为“Table3”的表,其中一个名为“nums”的列从单元格 E1 开始。 将以下公式复制到单元格 G2 中:

=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))

REDUCE LAMBDA 示例

示例 3:仅对偶数值计数

创建名为 “Table4” 的表,其中具有从单元格 D1 开始名为 “Nums” 的列。 将以下公式复制到单元格 F2 中:

=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))

第三个 REDUCE 函数示例

另请参阅

LAMBDA 函数

MAP 函数

SCAN 函数

MAKEARRAY 函数

BYCOL 函数

BYROW 函数

ISOMITTED 函数

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。