跳到主要内容

Excel 扫描功能 (365)

添加一名作者 最后修改时间:2022-09-16

SCAN 函数将 LAMBDA 函数应用于数组中的每个值,并在扫描数组时返回一个包含中间值的数组。

扫描功能 1


句法

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


参数

  • 初始值 (可选):累加器的起始值。
  • 排列 (必需):要扫描的阵列。
  • LAMBDA (必需):用于扫描阵列的自定义 LAMBDA 函数。
    • 累加器 (必填):该值相加并作为最终结果返回。
    • (必需):应用于数组中每个元素的计算。

回报值

我们推荐使用 扫描功能 返回结果数组。


功能说明

  1. SCAN 功能是新引入的 适用于 Microsoft 365 的 Excel. 所以它在早期版本的 Excel 中不可用。 Excel for Microsoft 365 中引入了新的动态数组公式,这意味着无需使用 Ctrl+Shift+Enter 将 SCAN 公式作为数组公式输入。
  2. 我们推荐使用 #值! 如果发生以下情况之一,则会出现错误值:
    • 提供了无效的 LAMBDA 函数;
    • 提供了错误数量的参数。
  3. 我们推荐使用 初始值 参数用于设置累加器参数的起始值。 返回第一个结果后,initial_value 变为结果值。 并且该过程从列到行迭代数组中的所有元素。 如果您正在与 文本, 将初始值设为 "".

范例一:

如下图所示,有一个数据数组。 我想要 从列到行继续添加单元格中的每个值及其相邻的单元格值,请执行以下操作:

请将下面的公式复制到单元格中 F6,然后按 输入 获得结果的关键。

=扫描(0,B6:D9,拉姆达(a,b,a+b))

扫描功能 2

注意:在上面的例子中,SCAN 函数处理 数字 和提供的 初始值 参数设置为 0. 在这种情况下,也可以 省略 并替换为 一片空白. 例如,单元格中的公式 F6 可以改为:

=扫描( ,B6:D9,拉姆达(a,b,a+b))

示例二:

如下图所示,有一个数据数组。 我想要 连接给定数组中的字符,并返回一个包含中间值的数组,请执行以下操作:

请将下面的公式复制到单元格中 F6,然后按 输入 获得结果的关键。

=扫描("",B6:D7,拉姆达(a,b,a&b))

扫描功能 3

相关功能:

  • Excel MAP 功能
    MAP 函数应用 LAMBDA 函数来创建一个新值,并返回一个通过将提供的数组中的每个值映射到一个新值而形成的数组。

  • Excel LAMBDA 功能
    Excel LAMBDA 函数用于创建可在整个工作簿中重复使用的自定义函数。

  • Excel Reduce 功能
    REDUCE 函数将 LAMBDA 函数应用于数组中的每个值,并返回累加器中的总值,从而将数组减少为累加值。

 

Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Very good example. Is there a typo at just below the first picture which is "Syntax
=REDUCE ([initial_value],array,lambda(accumulator, value))"
There are no comments posted here yet
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations