HSTACK 函數

HSTACK 函數是 Microsoft 365 Excel 提供的 動態陣列函數,用來 將多個範圍或陣列水平方向地合併。換句話說,這個函數可以將多個資料列或陣列並排放置,適用於需要將資料從不同範圍、列或數據集合並排顯示的情況。


? HSTACK 函數語法

HSTACK(array1, [array2], ...)
  • array1:第一個範圍或陣列,將作為合併的起始範圍。
  • array2, …:可選的其他範圍或陣列,可以合併多個範圍。

? 作用:將多個範圍或陣列 水平 合併,並返回一個新的水平方向的範圍。


? HSTACK 函數應用範例

1️⃣ 合併兩個範圍

=HSTACK(A1:A3, B1:B3)

? 效果:將 A1:A3B1:B3 水平合併成一個範圍。
結果 = {A1, B1; A2, B2; A3, B3}


2️⃣ 合併多個範圍

=HSTACK(A1:A3, B1:B3, C1:C3)

? 效果:將 A1:A3B1:B3C1:C3 三個範圍水平合併成一個範圍。
結果 = {A1, B1, C1; A2, B2, C2; A3, B3, C3}


3️⃣ 合併不同長度的範圍

=HSTACK(A1:A3, B1:B2)

? 效果:將 A1:A3B1: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:A3B1: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:A3B1:B3 中大於 50 的數字水平合併,其他則顯示為空白。
如果 B2 = 60,B3 = 40,則結果為:
結果 = {A1, B1; A2, 60; A3, “”}


? HSTACK vs VSTACK

函數作用適用場景
HSTACK水平合併陣列用於將數據以水平方向合併,形成列結構
VSTACK垂直合併陣列用於將數據以垂直方向合併,形成行結構

? 如果你需要將資料以列為單位進行合併,使用 HSTACK;如果需要垂直合併資料,則使用 VSTACK


? 總結

HSTACK 函數可以輕鬆將多個範圍或陣列水平方向合併。
對於需要將數據並排顯示、排列在同一行中的情境,這個函數非常有用。
你可以將數字、文字、公式等多種類型的數據進行合併,並且它會自動填充空白位置。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *