在 Excel 中,數據的管理和整合是一個非常重要的任務。隨著新函數的推出,像 VSTACK 和 FILTER 這樣的函數使得數據合併變得更加簡單和高效。本文將介紹如何利用這些函數將分表的數據自動合併到總表中。
VSTACK 函數概述
VSTACK 函數用於將多個數組或範圍垂直堆疊。它的語法與 SUM 函數相似,因此如果您熟悉 SUM 函數,使用 VSTACK 將會很容易。
語法
=VSTACK(array1, [array2], ...)
- array1: 必需,第一個要堆疊的數組或範圍。
- array2: 可選,第二個要堆疊的數組或範圍。
基本用法
假設您有多個分表,分別記錄現金、銀行、微信和支付寶的數據。您可以使用 VSTACK 函數將它們合併到一個總表中。
示例1:合併多個分表數據
假設您的分表如下:

您可以使用以下公式將這些數據合併到總表中:

=VSTACK(A2:C4,E3:G4,I3:K4,M3:O4)


動態合併範圍
由於分表需要每天記錄新數據,您可以將範圍設置得更大,以便自動合併新的數據。
示例2:設置動態範圍
=VSTACK(A2:C100,E3:G100,I3:K100,M3:O100)=VSTACK('01.現金:04.支付寶'!A2:C120)
這樣每次新增的數據都會自動包含在總表中。

去除多餘的零
合併數據時,總表可能會出現很多零。這時可以使用 FILTER 函數來過濾掉這些不需要的數據。
示例3:直接使用 FILTER 函數
如果不想使用輔助列,您可以將 FILTER 函數與 VSTACK 函數結合使用:
=FILTER(VSTACK(A2:C100,E3:G100,I3:K100,M3:O100),VSTACK(B2:B100,F3:F100,J3:J100,N3:N100)<>0)=FILTER(VSTACK('01.現金:04.支付寶'!A2:C120), VSTACK('01.現金:04.支付寶'!B2:B120) <> 0)


自動合併的效果
當您在最後一個分表中輸入新數據時,總表會自動更新,實現了數據的自動合併。
示例4:自動合併新數據
假設您在現金表中增加了一個數據:

當您更新數據後,總表將自動顯示所有最新的數據,無需手動合併。
附加示例
示例5:複雜條件過濾
如果您想要從合併的數據中僅顯示 “餐飲” 類別的項目,可以這樣做:
=FILTER(VSTACK(A2:C100,E3:G100,I3:K100,M3:O100),(VSTACK(B2:B100,F3:F100,J3:J100,N3:N100)<>0)*(VSTACK(C2:C100,G3:G100,K3:K100,O3:O100)="餐飲"))

條件1:
(VSTACK(B2:B100,F3:F100,J3:J100,N3:N100)<>0)
條件2:
(VSTACK(C2:C100,G3:G100,K3:K100,O3:O100)="餐飲")
結論
自從 Excel 新增了很多新函數後,數據操作變得更加簡單和智能。VSTACK 和 FILTER 函數的結合使用,不僅能夠簡化數據合併的過程,還能提高數據處理的效率。這對於需要定期更新和合併數據的用戶來說,無疑是個好幫手。









