The SEQUENCE function allows you to generate a list of sequential numbers in an array, such as 1, 2, 3, 4.

In the following example, we created an array that's 4 rows tall by 5 columns wide with =SEQUENCE(4,5).

SEQUENCE function example with a 4 x 5 array

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

Argument

Description

rows

Required

The number of rows to return

[columns]

Optional

The number of columns to return

[start]

Optional

The first number in the sequence

[step]

Optional

The amount to increment each subsequent value in the array

Notes: 

  • Any missing optional arguments will default to 1. If you omit the rows argument, you must provide at least one other argument.

  • An array can be thought of as a row of values, a column of values, or a combination of rows and columns of values. In the example above, the array for our SEQUENCE formula is range C1:G4.

  • The SEQUENCE function will return an array, which will spill if it's the final result of a formula. This means that Excel will dynamically create the appropriate sized array range when you press ENTER. If your supporting data is in an Excel table, then the array will automatically resize as you add or remove data from your array range if you're using structured references. For more details, see this article on spilled array behavior.

  • Excel has limited support for dynamic arrays between workbooks, and this scenario is only supported when both workbooks are open. If you close the source workbook, any linked dynamic array formulas will return a #REF! error when they are refreshed.

Example

If you need to create a quick sample dataset, here's an example using SEQUENCE with TEXT, DATE, YEAR, and TODAY to create a dynamic list of months for a header row, where the underlying date will always be the current year. Our formula is: =TEXT(DATE(YEAR(TODAY()),SEQUENCE(1,6),1),"mmm").

Use SEQUENCE with TEXT, DATE, YEAR, and TODAY to create a dynamic list of months for our header row.

Here's an example of nesting SEQUENCE with INT and RAND to create a 5 row by 6 column array with a random set of increasing integers. Our formula is: =SEQUENCE(5,6,INT(RAND()*100),INT(RAND()*100)).

SEQUENCE example nested with INT and RAND to create a sample data set

In addition, you could use =SEQUENCE(5,1,1001,1000) to create the sequential list of GL Code numbers in the examples.

Need more help?

You can always ask an expert in the Excel Tech Community or get support in Communities.

See Also

FILTER function

RANDARRAY function

SORT function

SORTBY function

UNIQUE function

#SPILL! errors in Excel

Dynamic arrays and spilled array behavior

Implicit intersection operator: @

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.