LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

【Excel】未来5年你必须要掌握的函数之8:REDUCE函数

admin
2024年11月25日 12:31 本文热度 252

微软为什么将这个函数命名为REDUCE函数,这个问题让我着实有些困惑。然而,既然微软做出了这样的命名选择,必定有其深思熟虑的原因。

在前面我们提到的一些函数中,比如MAP函数、FILTER函数、SORT函数等,它们的名称往往能够直观地反映出函数的作用。但是,REDUCE函数却并没有这种“望文生义”的特点,或者说并不那么直接明了。

REDUCE这个单词本身有“减少、缩小”的意义,而REDUCE函数可以遍历数组中的每一个值,对每一个值进行指定的运算,最终将数组减少为一个累计值。或许正是基于这个原因,微软将该函数命名为REDUCE。这只是我个人的猜测,但这种解释似乎也能够合理说明微软为什么选择这个名称。

1、基本语法

=REDUCE([initial_value],array,lambda(accumulator,value,calculation))

initial_value是可选参数,它是迭代计算的起始值。这个值的类型可以是数值、文本或其他数据类型,具体取决于后续的计算需求。例如,如果要对一个数字数组进行求和,initial_value可以是 0;如果要连接字符串数组,initial_value可以是一个空字符串。

array是必需参数,它是要进行迭代计算的数组,可以是单元格区域(如A1:A10)或者常量数组(如{1,2,3})。

lambda_expression是必需参数,它是一个Lambda函数,用于定义每次迭代的操作。其中value对应array中的每一个值。

2、基本用法

1)累计求和

计算10+20+…+100的和:

=REDUCE(0,D2:D11,LAMBDA(x,y,x+y))

我们需要重点理解上面这个公式的运行逻辑:

设定初始值为 0,而参与运算的数组为[D2:D11]单元格区域所涵盖的值。当运算开始,首次启动计算步骤,依据既定规则,此刻代表数组中当前元素的变量 “y” 取值为该区域起始单元格 D2 的值,也就是 10,而累积值变量 “x” 初始即为设定好的 0,二者相加,按照 “x + y”的运算逻辑,得出的结果自然是 10。

紧接着步入第二次运算环节,此时累积值“x”已然更新为首次运算所得的10,而“y”则对应到数组中的下一个元素,即单元格 D3 的值 20,再度执行 “x + y” 运算,10 与 20 相加,其结果便是 30。

以此类推,直到第十次运算,此时的累积值 “x” 历经前面九次的逐步累积与更新,已然达到 450,而 “y” 所对应的则是数组中 D11 单元格的值 100,再度进行“x + y” 的运算操作,450 与 100 相加,最终得出的550 便是这场运算历程的最终结果,至此运算结束。

其实这里的x就是累加器。

2)条件求和

计算所有大于60的和:

=REDUCE(0,D2:D11,LAMBDA(x,y,IF(y>60,x+y,x)))

3)条件计数

计算所有大于60的个数:

=REDUCE(0,D2:D11,LAMBDA(x,y,IF(y>60,x+1,x)))

4)字符串连接

将所有的小写字母连接在一起:

=REDUCE("",D3:D16,LAMBDA(x,y,IF(AND(CODE(y)<=122,CODE(y)>=97),x&y,x)))


该文章在 2024/11/26 9:53:59 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved