在 Excel 中,ROW 函數能回傳儲存格的列號,或回傳範圍中所有儲存格的列號陣列。它常用於動態公式、陣列運算、資料定位與報表結構控制,尤其在 SEQUENCE、INDEX、OFFSET、FILTER 等函數中扮演輔助角色。
🔹快速摘要(語法、用途、常見場景)
用途:回傳儲存格或範圍的列號
語法:=ROW([reference])常見場景:動態定位、陣列運算、報表結構控制、搭配 OFFSET/INDEX、建立序列
一、ROW 函數語法與用途
=ROW([reference])
- reference(選填):指定儲存格或範圍。若省略,預設為目前儲存格。
- 回傳結果為列號(整數),若為範圍則回傳陣列。
例如:
=ROW(A5) → 5
=ROW() → 目前儲存格的列號
=ROW(A1:A3) → {1;2;3}
二、範例教學:五個基礎 + 五個進階範例
🔸基礎範例
範例一:回傳指定儲存格的列號
=ROW(A5)
說明:回傳 A5 的列號,結果為 5。
範例二:回傳目前儲存格的列號
=ROW()
說明:若公式位於第 3 列,結果為 3。
範例三:回傳範圍的列號陣列
=ROW(A1:A3)
說明:回傳 {1;2;3},可用於陣列運算。
範例四:搭配 INDEX 取值
=INDEX(B1:B10,ROW(A1))
說明:回傳 B1 的值,ROW(A1)=1。
範例五:搭配 COUNTA 建立動態定位
=ROW(A1)+COUNTA(B1:B10)
說明:根據資料筆數動態定位列號。
🔸進階範例
範例六:建立動態序列(Excel 365)
=SEQUENCE(5,,ROW(A1))
說明:從目前列號開始建立 5 筆序列。
範例七:搭配 OFFSET 建立滾動範圍
=OFFSET(B1,ROW(A1)-1,0,3,1)
說明:根據列數變動,建立 3 列範圍。
範例八:搭配 FILTER 取出特定列資料
=FILTER(A2:B10,ROW(A2:A10)=5)
說明:取出第 5 列的資料。
範例九:搭配 MOD 建立交錯格式
=IF(MOD(ROW(),2)=0,"偶數列","奇數列")
說明:標示目前列為奇數或偶數。
範例十:搭配 LAMBDA 批次處理列資料
=MAP(A2:A10,LAMBDA(x,ROW(x)))
說明:回傳每筆資料的列號。
三、常見問題解答(FAQ)
Q1:ROW 可以回傳多列嗎?
可以,若指定範圍則回傳列號陣列,例如 ROW(A1:A3) 回傳 {1;2;3}。
Q2:ROW 可以搭配其他函數使用嗎?
可以,常與 INDEX、OFFSET、SEQUENCE、MOD、FILTER 搭配使用。
Q3:ROW 是否會隨儲存格移動而改變?
會,若公式位置改變,ROW() 的結果也會改變。
Q4:ROW 可以用於條件格式嗎?
可以,常用於奇偶列著色或列定位條件。
Q5:ROW 是否支援動態陣列?
支援,在 Excel 365 中可回傳 Spill 陣列,搭配 MAP、SEQUENCE 使用更靈活。
四、注意事項與錯誤排除
- 若 reference 為多列多欄範圍,ROW 只回傳第一列的列號或 Spill 陣列。
- 若省略 reference,ROW() 會依公式所在列回傳結果。
- 在舊版 Excel 中不支援 Spill 陣列,需搭配 Ctrl+Shift+Enter。
- 若搭配 OFFSET 或 INDEX,需確保列號不超出範圍,否則回傳錯誤。
- 在條件格式中使用 ROW 時,需注意絕對與相對參照設定。
五、延伸技巧與相關函數
- COLUMN:回傳欄號,與 ROW 相對應。
- SEQUENCE:建立動態列號序列,搭配 ROW 可控制起始值。
- MOD:判斷奇偶列,常用於條件格式。
- INDEX:搭配 ROW 定位資料列並取值。
- OFFSET:搭配 ROW 建立滾動範圍或動態報表。
六、結語與延伸閱讀推薦
ROW 是 Excel 中最基礎的定位工具,能回傳列號並支援動態陣列運算。它在報表設計、資料定位、條件格式與動態公式中扮演重要角色。若搭配 SEQUENCE、INDEX、OFFSET 等函數使用,可建立更彈性的報表邏輯與資料結構。















