宣告:本內容由ChatGPT產生(試驗)。

Excel 中的 SEQUENCE 函數是 Excel 365 和 Excel 2021 中新引入的動態陣列函數之一,它可以用最簡單的方式快速產生連續數字的序列,無論是從 1 開始的簡單列表、從某個起點跳著數的數列,還是生成兩維以上的矩陣,SEQUENCE 函數都能夠自動填充並撲漸到相鄰的儲存格,省去了手動拖曢填滿或使用複雜公式的節省流程。本文將從語法說明、實際應用到進階技巧,帶大家深入瞭解 SEQUENCE 函數的各種應用,讓你在處理數據時更加得心應手。

## SEQUENCE 函數語法與參數

SEQUENCE 函數的基本語法為:

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

- **rows**:必填,代表要產生多少列的序列。
- **columns**:選填,代表要產生多少欄;如果省略則預設為 1。
- **start**:選填,序列的起始值;如果省略則預設為 1。
- **step**:選填,連續數列的遞增或遞減間隔;如果省略則預設為 1。

以下表格總約了各參數的用途與預設值:

| 參數        | 是否必填 | 說明                                   | 預設值 |
|-------------|---------|--------------------------------------|-------|
| rows        | 必填    | 產生資料列數量                         | 無    |
| columns     | 選填    | 產生資料欄數量                         | 1     |
| start       | 選填    | 序列開始的數字                         | 1     |
| step        | 選填    | 每次遞增或遞減的間距,可用負數產生倒數序列 | 1     |

這些參數的組合,SEQUENCE 可以產生不同形狀與規律的數列,並且自動溛出 (spill) 到需要的儲存格範圍,無需進一步拖曢。

## 基本應用:產生縱向或橫向序列

最常見的應用就是產生 1 到 N 的連續數列。例如要在 A1:A10 產生 1 到 10,可以在 A1 輸入:

`=SEQUENCE(10)`

因為省略了 columns、start 與 step 參數,所以它預設產生一欄,從 1 開始,每次增加 1。若要產生橫向 1 到 5 的序列,可以指定列數為 1、欄數為 5:

`=SEQUENCE(1, 5)`

這樣輸入後,Excel 會在公式儲存格右側自動擴散五個數字。

當需要從其他起始值開始時,可以利用第三個參數,例如產生從 100 開始往後遞增 10 的五個數字:

`=SEQUENCE(5, 1, 100, 10)`

結果為 100、110、120、130、140。若將 step 改為負值,例如 `=SEQUENCE(5, 1, 100, -10)`,則可產生 100、90、80、70、60 的倒數序列。

## 二維陣列:矩陣型數列的生成

SEQUENCE 不只能產生單列或單欄的數列,還可以產生二維陣列,例如需要建立 5 行 4 列的順序矩陣:

`=SEQUENCE(5, 4)`

它會在 5x4 的範圍填入從 1 到 20 的數字,第一列是 1、2、3、4,第二列是 5、6、7、8,以此類換。若組合 start 參數,從 10 開始:

`=SEQUENCE(5, 4, 10)`

則產生 10~29 的二維矩陣。這種用法可快速建立座標表或測試資料。

如果想要每一行都是相同的數字,可搭配 TRANSPOSE 或 ROW 函數;例如產生一個 3x3,每一行都是 5、10、15 的矩陣:

`=SEQUENCE(3, 1, 5, 5)*SEQUENCE(1, 3)`

通過動態陣列的運算,第一部分產生縱向 5、10、15,第二部分產生橫向 1、2、3,相乘後就會形成乘法表。

## 產生日期與時間序列

SEQUENCE 搭配 DATE、TIME 等函數,可以快速產生日期或時間序列。例如想建立某月份所有日期的列表,假設月份在 B1 儲存格(輸入 2025/08/01),可使用:

```
=SEQUENCE(DAY(EOMONTH(B1,0)),1,B1,1)
```

解釋如下:`EOMONTH(B1,0)` 取得該月份最後一天,`DAY(...)` 取得當月天數;SEQUENCE 的 rows 為天數,起始值為 B1(第一天),間距為 1。結果會生成一串當月所有日期。

若要產生每隔一小時的時間表,例如從上午 8 點開始產生 8 個時間點:

`=SEQUENCE(8,1,TIME(8,0,0),1/24)`

其中 `1/24` 代表一小時,以 Excel 的日期時間序列表示。再搭配 TEXT 函數,可將時間格式化為 hh:mm 文字,例如:

`=TEXT(SEQUENCE(8,1,TIME(8,0,0),1/24),"hh:mm")`

## 結合其他函數的進階應用

SEQUENCE 的威力在於它與其他函數搭配時可以創造更多自動化流程。例如:

- **VLOOKUP / INDEX**:使用 SEQUENCE 產生索引序號,再用 INDEX 搭配取得對應值。例如要提取每第 n 列資料,可以用 `=INDEX(A:A,SEQUENCE(5,1,1,2))` 取得奇數列的值。
- **RANDARRAY / SORT**:先用 RANDARRAY 產生乱數,再用 SORTBY 搭配 SEQUENCE 的序號,可以隨機排序一串清單。
- **FILTER**:結合 SEQUENCE 取得前幾筆符合條件的資料,類似 TOPN 功能,例如 `=FILTER(A2:B100, SEQUENCE(1,1,1,1)<=10)` 取得前 10 筆資料。

以下是一個示範,假設 A2:A7 是產品名稱,B2:B7 是銷售量,要排序後取前 3 名:

```
=LET(
序號, SEQUENCE(ROWS(A2:B7)),
排序, SORTBY(序號, B2:B7, -1),
前3, INDEX(A2:B7, 排序, ),
INDEX(前3, SEQUENCE(3), SEQUENCE(1,2))
)
```

這段公式利用動態陣列函數讓排序與抽取前 3 名變得非常簡潔。

## 圖示與案例說明

為了讓讀者更容易理解 SEQUENCE 的效果,以下插入一幅抽象圖示,象徵著數列在表格中傳播的概念。通過視覺化,可以感受到動態陣列將數據「溢出」至相鄰儲存格的過程。

(請見下圖)

接下來提供一個實際的案例:假設要規劃一週的行程表,希望橫向列出星期名稱,縱向列出每日的三個時段 ( 早、中、晚 )。可以在 A1 儲存格輸入以下公式產生 3x7 的行程表框架:

`=CHOOSE({1,2,3}, "早", "中", "晚") & "" & SEQUENCE(3,7,1,0)`

或者更直觀地使用兩個 SEQUENCE 搭配 TEXT:

```
=LET(
星期, {"一"," 二"," 三"," 四"," 五"," 六"," 日"},
時段, {"早"," 中"," 晚"},
ROW_SEQ, SEQUENCE(ROWS(時段),1),
COL_SEQ, SEQUENCE(1,COLUMNS(星期)),
INDEX(時段,ROW_SEQ)&" "&INDEX(星期,COL_SEQ)
)
```

此公式會自動產生下表所示的行程表標籤。

|      | 星期一 | 星期二 | 星期三 | 星期四 | 星期五 | 星期六 | 星期日 |
|------|--------|--------|--------|--------|--------|--------|--------|
| 早   |        |        |        |        |        |        |        |
| 中   |        |        |        |        |        |        |        |
| 晚   |        |        |        |        |        |        |        |

你可以在表格中填入具體活動,並利用其他動態函數自動生成日期與時段。

## 結論

SEQUENCE 函數是 Excel 動態陣列時代的重要成員,它能夠用極簡的語法產生各種形狀與規律的數列,從而簡化過去繁琐的填寫工作。透過搭配其他函數,例如 DATE、TIME、INDEX、FILTER 等,SEQUENCE 可以延伸出更多強大的應用,例如生成日期行事曆、自動編號、建立乘法表或製作隨機排序。不論你是數據分析師、教師或日常辦公人士,掌握 SEQUENCE 函數都能大幅提升 Excel 工作效率,讓你的試算表更靈活,更智慧化。建議你在練習中多嘗試不同的參數組合,探索 SEQUENCE 的無限可能。

文章標籤
全站熱搜
創作者介紹
創作者 vincent 的頭像
vincent

學不完.教不停.用不盡

vincent 發表在 痞客邦 留言(0) 人氣(233)