跳至内容

Excel SEQUENCE():动态数组的实用指南

掌握 `SEQUENCE()` 函数,增强您的表格技能。学习创建动态列表、自动化计算,并解锁 Excel 的新可能。
已更新 2026年10月6日  · 6分钟 阅读

使用 AI 探索

ChatGPTClaudePerplexity

无论是处理预算还是搭建仪表板,动态数组都改变了 Excel 的可能性边界。

如果您还不熟悉动态数组的概念,我来帮您理清思路。明确一点:动态数组允许公式自动将结果“溢出”到相邻单元格,而 Excel 的 SEQUENCE() 正是创建动态数组的一种方式。对此类概念,我们的 Excel Fundamentals 技能路径会带您逐步拆解,如果您有兴趣深入学习,不妨看看。

什么是 Excel SEQUENCE()?

在深入细节之前,先弄清 SEQUENCE() 到底做什么。本节将介绍该函数,并为后续巧妙技巧与实际用法打好基础。

SEQUENCE() 是 Excel 的动态数组函数之一,前面已提到。它的推出是为了帮助像您我这样的用户在无需拖动填充或向下填列的情况下,创建连续数字数组。只需一个公式,您就能立刻生成一个数字列表;更棒的是,随着数据变化它还能自动更新。

想象一下:您需要为发票创建编号列表、为查找操作生成行索引,或建立一个会随日期变动而自动调整的日程日历。在这些场景中,SEQUENCE() 都能把过去的繁琐工作变得轻松惬意。(这些示例我稍后会分享。)

Excel SEQUENCE() 语法与参数

既然知道了 SEQUENCE() 的价值,接下来拆解它的用法。我们会讲解其语法、逐一解析参数,并看看它们如何在真实公式中协同工作。

函数语法很简单,但用法非常广。核心结构如下:

=SEQUENCE(rows, [columns], [start], [step])

下面来理解这些参数:

  • rows(必需):要用连续数字填充的行数。

  • [columns](可选):要填充的列数。省略时默认为 1。

  • [start](可选):起始数字。默认为 1。

  • [step](可选):每个后续数字的递增值。默认为 1。

您不必使用所有参数——Excel 会用默认值为您补全。

Excel SEQUENCE() 基础示例

下面通过几个快速示例看看 SEQUENCE() 的实际效果。每个示例都贴近您在 Excel 中常见的任务。

创建一个简单列表

=SEQUENCE(10)

在 Excel 中使用 SEQUENCE 生成纵向列表

该公式会将 1 到 10 溢出到下方单元格,无需拖拽!

生成一块数字区域

=SEQUENCE(3, 4, 5, 2)

您将得到一个 3 行 4 列的矩阵,从 5 开始,每次递增 2。适合构建网格、座位表或仿真模型。

生成一列日期

如果您想要日期序列而非数字,只需在当前日期基础上递增:

=SEQUENCE(7, 1, TODAY(), 1)

在 Excel 中使用 SEQUENCE 创建网格

将输出单元格设置为日期格式,您就拥有了一个每日更新的滚动周。

在尝试时请记住:每个参数都能解锁一层新的控制力。

SEQUENCE() 在日常工作中的应用

目前我们通过简单示例讲了机制。但 SEQUENCE() 在真实表格中如何发挥作用?本节将它与能节省时间、降低出错率的工作流程联系起来。

为报告自动生成动态列表

假设您在制作月报,希望列表项数量能与当月交易笔数灵活匹配,而且这种行为是动态的。不出所料:SEQUENCE() 正合适。

例如,若交易笔数在单元格 B1,可使用:

=SEQUENCE(B1)

在 Excel 中使用 SEQUENCE 生成动态列表

随着 B1 变化,编号列表会扩展或收缩。非常适合用于仪表板、打印输出和数据验证。

为查找与公式提供动态范围

您或许会问:SEQUENCE() 能与其他函数配合吗?答案当然是肯定的。它常与 INDEX()、SORT() 和 FILTER() 搭配。

例如,您可以生成一个会随数据变化而自动更新的“前 n 名”排行榜:

=INDEX(SORT(A2:A6, 1, -1), SEQUENCE(2))

在 Excel 中使用 SEQUENCE 实现动态排序

该示例会从排序后的列表中提取前两个值。

创建日历模板与日期序列

不少人(包括我)会把 Excel 当成日历或排程工具。SEQUENCE() 在这里同样有效。下面演示如何从某月第一天开始,填充接下来的 30 天:

=SEQUENCE(30, 1, DATE(2024, 7, 1), 1)

在 Excel 中使用 SEQUENCE 创建日历

此处请记得将格式设置为日期。(我在截图中特意保留了这部分作为提醒。)

SEQUENCE() 的进阶技巧

本节将探讨将 SEQUENCE() 与其他 Excel 动态数组函数结合后,如何释放更强威力。

创建动态矩阵计算

假设您想模拟一个乘法矩阵。仅用一个公式,就能动态生成完整的乘法表。

=SEQUENCE(10, 1) * TRANSPOSE(SEQUENCE(10, 1))

该公式可在 Excel 中用动态数组来模拟矩阵乘法模式(准确说是向量外积行为)。诀窍在于将 SEQUENCE() 与 TRANSPOSE() 结合。

在 Excel 中使用 SEQUENCE 与 TRANSPOSE 进行矩阵乘法

从概念上看,我们在做的是:

在 Excel 中使用 SEQUENCE 与 TRANSPOSE 进行矩阵乘法

生成滚动或偏移列表

有时您需要一个不是从 1 开始、或会跳过某些值的序列。在此示例中,我用 SEQUENCE() 生成只包含奇数的列表。您可以按需调整该公式来适配其他偏移列表,例如仅包含工作日的列表也不妨一试。

=SEQUENCE(10, 1, 11, 2)

在 Excel 中使用 SEQUENCE 生成偏移列表

将 SEQUENCE() 融入条件公式

与 IF() 或 FILTER() 等函数结合时,SEQUENCE() 能支持更复杂的逻辑。比如,返回销售额超过 $1,000 的行:

=INDEX(A2:A100, FILTER(SEQUENCE(ROWS(A2:A100)), B2:B100 > 1000))

在 Excel 中将 SEQUENCE 用作条件检查

这种方法非常适合响应式仪表板和交互式报告。

故障排查与局限

在使用 SEQUENCE() 时,您可能会遇到一些小障碍,尤其是在共享工作簿或使用旧版 Excel 时。本文无法涵盖所有可能情况,但我会提到在撰写过程中遇到的几个点。

兼容性:SEQUENCE() 在哪些版本可用?

SEQUENCE() 需要 Excel 365 或 Excel 2019。如果您在更早版本中打开包含 SEQUENCE() 的文件,或处于兼容模式,会看到 #NAME? 错误。如果函数名 SEQUENCE() 无法自动补全——这就是信号。

处理溢出错误与数组问题

有时您会看到 #SPILL! 错误。这通常意味着 SEQUENCE() 需要“溢出”结果的单元格并非空白。清除阻挡的单元格,函数就能如期工作。以我在写这篇文章时的经历为例,我不小心在原有 SEQUENCE() 需要空间的位置又输入了一个 SEQUENCE() 函数。由于形成了循环逻辑,也出现了 #SPILL! 错误。

另外,若您将 SEQUENCE() 用在作为其他函数输入的公式中,请确保范围对齐,且不要以 Excel 无法处理的方式混用数组与非数组公式。留意这一点。

输出规模的限制

这一点或许不常遇到,但仍需提及。Excel 每个工作表最多支持 1,048,576 行和 16,384 列。如果您试图创建超过此限制的序列,自然会报错。

结语

SEQUENCE() 是诸多有趣的 Excel 函数之一,若能熟练掌握,将彻底改变您使用 Excel 的方式。

Excel 的这些函数确实值得练习。下次当您又开始拖动公式时,请记住:借助 SEQUENCE(),您可以把繁重工作交给 Excel 来做。欢迎参加我们的 Excel Fundamentals 技能路径,持续学习新函数与效率技巧。我亲自学过,物超所值!


Josef Waples's photo
Author
Josef Waples

我是数据科学编辑,曾为科学期刊发表的研究论文撰稿。我的兴趣领域包括线性代数、统计学、R 等相关主题。

主题
Excel

在 DataCamp 学习 Excel

课程

Excel 数据分析

3 小时
154.5K
学习如何使用数据透视表和中级逻辑函数分析数据,然后再学习假设分析和预测等工具。
查看详情Right Arrow
开始课程
查看更多Right Arrow