HSTACK 函數是 Microsoft 365 Excel 提供的 動態陣列函數,用來 將多個範圍或陣列水平方向地合併。換句話說,這個函數可以將多個資料列或陣列並排放置,適用於需要將資料從不同範圍、列或數據集合並排顯示的情況。
? HSTACK 函數語法
HSTACK(array1, [array2], ...)
- array1:第一個範圍或陣列,將作為合併的起始範圍。
- array2, …:可選的其他範圍或陣列,可以合併多個範圍。
? 作用:將多個範圍或陣列 水平 合併,並返回一個新的水平方向的範圍。
? HSTACK 函數應用範例
1️⃣ 合併兩個範圍
=HSTACK(A1:A3, B1:B3)
? 效果:將 A1:A3 和 B1:B3 水平合併成一個範圍。
結果 = {A1, B1; A2, B2; A3, B3}
2️⃣ 合併多個範圍
=HSTACK(A1:A3, B1:B3, C1:C3)
? 效果:將 A1:A3、B1:B3 和 C1:C3 三個範圍水平合併成一個範圍。
結果 = {A1, B1, C1; A2, B2, C2; A3, B3, C3}
3️⃣ 合併不同長度的範圍
=HSTACK(A1:A3, B1:B2)
? 效果:將 A1:A3 和 B1:B2 水平合併,當範圍長度不一致時,會填充空白單元格。
結果 = {A1, B1; A2, B2; A3, “”}
4️⃣ 合併數值和文字範圍
=HSTACK(A1:A3, {"X", "Y", "Z"})
? 效果:將 A1:A3 和 {"X", "Y", "Z"} 這個文字陣列水平合併。
結果 = {A1, “X”; A2, “Y”; A3, “Z”}
5️⃣ 合併範圍與公式
=HSTACK(A1:A3, B1:B3, SEQUENCE(3))
? 效果:將 A1:A3 和 B1:B3 水平合併,並將 SEQUENCE(3) 生成的數列(1, 2, 3)也合併進來。
結果 = {A1, B1, 1; A2, B2, 2; A3, B3, 3}
6️⃣ 合併範圍並保留空白單元格
=HSTACK(A1:A3, IF(B1:B3 > 50, B1:B3, ""))
? 效果:將 A1:A3 和 B1:B3 中大於 50 的數字水平合併,其他則顯示為空白。
如果 B2 = 60,B3 = 40,則結果為:
結果 = {A1, B1; A2, 60; A3, “”}
? HSTACK vs VSTACK
| 函數 | 作用 | 適用場景 |
|---|---|---|
| HSTACK | 水平合併陣列 | 用於將數據以水平方向合併,形成列結構 |
| VSTACK | 垂直合併陣列 | 用於將數據以垂直方向合併,形成行結構 |
? 如果你需要將資料以列為單位進行合併,使用 HSTACK;如果需要垂直合併資料,則使用 VSTACK。
? 總結
✅ HSTACK 函數可以輕鬆將多個範圍或陣列水平方向合併。
✅ 對於需要將數據並排顯示、排列在同一行中的情境,這個函數非常有用。
✅ 你可以將數字、文字、公式等多種類型的數據進行合併,並且它會自動填充空白位置。