【Excel】未来5年你必须要掌握的函数之8:REDUCE函数
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
微软为什么将这个函数命名为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 编辑过 |
关键字查询
相关文章
正在查询... |