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

如何在Google Sheets中动态生成多行A:B范围的连续数字数组?

动态生成A:B列所有区间的数字数组方案

针对你需要处理不确定行数的A:B列范围(每行A是起始数、B是结束数),生成所有区间合并后的数字数组,可以用以下Google Sheets公式实现:

=TOCOL(MAP(A:A, B:B, LAMBDA(start, end, IF(OR(start="", end="", start>end, NOT(ISNUMBER(start)), NOT(ISNUMBER(end))),,ROW(INDIRECT(start&":"&end))))),3)

公式拆解说明:

  • MAP函数:遍历A列和B列的每一组对应值,将每行的起始值(start)和结束值(end)传递给后续的处理逻辑。
  • LAMBDA匿名函数:定义对每组start和end的处理规则:
    • 先做有效性校验:如果起始/结束值为空、起始值大于结束值,或者其中一个不是数字,就返回空值(避免报错);
    • 校验通过后,用ROW(INDIRECT(start&":"&end))生成当前区间的连续数字数组。
  • TOCOL函数:把MAP返回的多个子数组合并成一个一维数组,参数3表示自动忽略所有空值,确保最终结果只包含有效区间的数字。

简化版(如果可以保证A:B列都是有效数字且start≤end):

如果你的数据已经确保每行A、B都是合法数字且起始≤结束,也可以用更简洁的版本:

=TOCOL(MAP(A:A, B:B, LAMBDA(s,e,IF(s="",,ROW(INDIRECT(s&":"&e))))),3)

这个方案可以自动适配A:B列的所有有效行,不管有多少行数据,都会把所有区间的数字合并成一个连续的一维数组。

内容的提问来源于stack exchange,提问作者Fakint

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 13:07:58