You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用递归LAMBDA函数创建动态序列列表时遇到问题

解决递归LAMBDA生成序列列表的问题

问题分析

你当前的公式存在两处核心逻辑错误:

  • 序列生成规则混淆:原公式用SEQUENCE(OFFSET(b,1,0),1,1,1),错误地把b下一行单元格的位置作为序列行数,而非用b单元格的数值生成1到该值的序列
  • 递归参数传递错误:递归调用时第二个参数应该传递下一个要处理的单元格,而非生成的序列,导致递归迭代方向完全偏离预期

修正方案

1. 定义正确的递归LAMBDA函数

打开Excel的「名称管理器」(公式选项卡→名称管理器),新建一个名称:

  • 名称:VSTACKSEQUENCE
  • 引用位置:输入以下公式
=LAMBDA(acc, curr, IF(ISBLANK(curr), acc, VSTACKSEQUENCE(VSTACK(acc, SEQUENCE(curr, 1, 1, 1)), OFFSET(curr, 1, 0))))

2. 调用函数生成结果

在C1单元格输入以下公式:

=VSTACKSEQUENCE("", A1)

逻辑说明

  • acc作为累加器,存储已经生成的所有序列堆叠结果
  • curr是当前要处理的单元格,每次递归时自动偏移到下一行(OFFSET(curr,1,0))
  • 终止条件:当curr为空(遍历完A1:A4所有单元格),返回累加的结果
  • 核心操作:对每个curr单元格的数值,生成1到该值的序列(SEQUENCE(curr,1,1,1)),并堆叠到累加器中

内容的提问来源于stack exchange,提问作者Quan Nguyen Anh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 15:02:41