jou*_*eng 2 excel excel-formula
我们来看看微软是怎么说的:
https://support.microsoft.com/en-us/office/reduce-function-42e39910-b345-45f3-84b8-0642b568b7cb
它说:
Reduce 函数通过对每个值应用 LAMBDA 并返回累加器中的总值,将数组缩减为累加值。
我已经使用Reduce公式做了一些练习,当未指定初始值时感到困惑。
我首先尝试一个简单的例子
这个例子告诉我,如果没有指定初始值,那么第一个累加器值为空。
然后我尝试了另一个:
该公式计算了4次,对应于数组元素的数量(即100,101,102,103)。
所以我们在底部得到了4 堆E3:G5和初始值 200 。
一切都是可以理解的,直到我尝试删除初始值:
我的问题是:
1.在示例2中,v(100,101,102,103)没有显示在结果数组中。
example3 的结果数组底部如何包含“100”?
LAMBDA 中的公式(即 VSTACK(E3:G5,a))甚至不包含“v”。
如果未指定初始值,累加器“a”是否将数组中的第一个元素作为其值?
2.结果数组只有3堆E3:G5。为什么?
我的猜测是,当累加器“a”不为空时,计算才会开始执行它必须执行的操作(vstack)。因此,它“消耗”一次计算才能将 100 作为其初始值。我的猜测正确吗?
我将您的问题的链接发布到了 LinkedIn Excel Lambda 讨论组。
YouTube 上的 @DimEarly的Diarmuid Early说道:
如果没有初始值,REDUCE 会将数组的第一个元素作为初始值,然后迭代数组的其余元素。如果这导致一个空数组(即只有一个值开始),它只返回该值。
有趣的是,函数 write-up 不仅没有解释这一点,而且 put 提供了一个积极误导性的例子。下面文章中的示例 1 省略了“初始值”参数,但这只是巧合,因为 1 = 1^2(如果您尝试输入任何其他值,它会给出错误的答案)。
| 归档时间: |
|
| 查看次数: |
359 次 |
| 最近记录: |