免費軟體與線上工具1,417影音、圖片與 PDF9153C 開箱評測895生活、旅遊與遊戲798iPhone 與 Mac548LINE 與社群533Google 服務468Windows 與電腦455Office 教學439Android 手機402網路新知372AI 工具129
Office 教學

Excel VSTACK 函數用法:垂直合併多個表格與陣列資料

VSTACK 函數的作用是將多個陣列或儲存格範圍以垂直方向(上下)堆疊合併。只需輸入各個資料範圍,就能快速將分散的表格整合成一份完整的清單,大幅提升資料整理效率。

Excel VSTACK 函數語法

=VSTACK(陣列1, [陣列2], ...)
參數必填說明
陣列1是要合併的第一個陣列或儲存格範圍。
陣列2選填要接續在第一個陣列下方合併的其他陣列或儲存格範圍,可包含多個。

回傳:垂直合併後的新陣列(會自動溢出至相鄰的儲存格)。

適用版本:Microsoft 365、Excel 2024 以上

VSTACK 函數範例

範例 1:合併單欄名單

合併兩個部門的員工名單

業務部行銷部
王小明陳怡君
林志明張建國
李美玲

在 D2 輸入公式:

=VSTACK(A2:A3, B2:B4)

結果:王小明。公式會將業務部名單(A2:A3)與行銷部名單(B2:B4)上下合併。結果會從 D2 儲存格開始向下溢出顯示共五個人的名單,D2 顯示第一筆資料「王小明」。

範例 2:合併帶有表頭的表格

合併帶有表頭的兩張業績表

姓名業績姓名業績
王小明5000陳怡君8000
林志明6000張建國7500

在 F1 輸入公式:

=VSTACK(A1:B3, C2:D3)

結果:姓名。為了保留一組表頭,第一個陣列選取包含表頭的 A1:B3,第二個陣列僅選取資料範圍 C2:D3。公式結果會從 F1 開始溢出成兩欄五列的完整表格。

範例 3:合併後進行排序

合併兩張出勤紀錄並依日期排序

一廠日期二廠日期
王小明2026/10/05陳怡君2026/10/02
林志明2026/10/01張建國2026/10/08

在 F2 輸入公式:

=SORT(VSTACK(A2:B3, C2:D3), 2, 1)

結果:林志明。VSTACK 先將一廠與二廠的資料上下合併,接著外層的 SORT 函數針對第二欄(日期)進行遞增排序。結果會從 F2 溢出顯示,第一筆為日期最早的「林志明」。

使用 VSTACK 的技巧與注意事項

  • 合併跨工作表資料時,可以使用三維參照,例如 =VSTACK(工作表1:工作表3!A2:C10),能一次合併多張結構相同的工作表。
  • 若合併的範圍包含空白儲存格,VSTACK 預設會將其轉換為 0。若要顯示空白,可搭配 IF 函數處理。
  • 當合併的表格欄數不同時,缺少的欄位會顯示為 #N/A 錯誤值。

VSTACK 常見錯誤與解決方法

錯誤原因解決方法
#N/A合併的各個陣列欄數不一致,較短的陣列右側會補上錯誤值。確認所有參照範圍的欄數相同,或搭配 IFNA 函數將錯誤值替換為空白。
#SPILL!公式預期溢出的儲存格範圍內已經有其他資料。清除阻擋公式溢出範圍內的資料,讓陣列有足夠空間顯示。
#CALC!參照到空的陣列或不支援的動態陣列結構。檢查參照範圍是否確實包含資料,確保公式內的陣列有效。

Google 試算表可以用 VSTACK 嗎?

Google 試算表支援 VSTACK 函數,用法與 Excel 完全相同,也能處理動態陣列的溢出效果。

下載 VSTACK 範例檔

上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:VSTACK 範例.xlsx(範例公式的結果經過兩個模型交叉核對)。

常見問題

VSTACK 可以合併不同工作表的資料嗎?

可以。只要在輸入公式時,依序選取不同工作表的範圍即可。如果工作表結構相同且名稱連續,還能使用三維參照一次合併多張工作表。

合併後的資料出現 #N/A 怎麼辦?

這是因為合併的多個陣列欄數不同,Excel 會在較短的陣列右側補上 #N/A。請確認選取範圍的欄數一致,或使用 IFNA 函數將其隱藏。

為什麼 VSTACK 合併空白儲存格會變成 0?

這是 Excel 陣列公式的預設行為。如果希望維持空白,可以在公式外層包裝 IF 函數,例如判斷結果為 0 時回傳空字串。

相關函數

這篇收錄在「Excel 函數字典」。