EXPAND 函數

EXPANDMicrosoft 365 Excel 提供的 動態陣列函數,用來 擴展一個範圍或陣列,在指定的行數和列數中添加空白單元格。這對於 資料重組、增大數據範圍 特別有用,尤其是在處理動態資料和需要預留空間的情境中。


? EXPAND 函數語法

EXPAND(array, rows, [cols], [pad_with])
  • array:要擴展的範圍或陣列。
  • rows:要擴展的行數。
  • cols(可選):要擴展的列數。
  • pad_with(可選):用來填充新增空格的數值(預設為 0)。

? 作用:將 array 擴展成指定的行數和列數,並將額外的單元格填充為 pad_with 提供的數值(預設為 0)。


? EXPAND 函數應用範例

1️⃣ 擴展陣列並添加空白單元格

=EXPAND(A1:B2, 4, 4)

? 效果:將 A1:B2 擴展為 4 行 4 列,並在額外的單元格中填充 0

如果 A1:B2 = {1, 2; 3, 4}
結果 = {1, 2, 0, 0; 3, 4, 0, 0; 0, 0, 0, 0; 0, 0, 0, 0}


2️⃣ 擴展陣列並使用自定義填充值

=EXPAND(A1:B2, 4, 4, "N/A")

? 效果:將 A1:B2 擴展為 4 行 4 列,並將新增的單元格填充為 “N/A”

如果 A1:B2 = {1, 2; 3, 4}
結果 = {“1”, “2”, “N/A”, “N/A”; “3”, “4”, “N/A”, “N/A”; “N/A”, “N/A”, “N/A”, “N/A”; “N/A”, “N/A”, “N/A”, “N/A”}


3️⃣ 擴展陣列的行數

=EXPAND(A1:B2, 5)

? 效果:將 A1:B2 擴展為 5 行,並將新增的單元格填充為 0

如果 A1:B2 = {1, 2; 3, 4}
結果 = {1, 2; 3, 4; 0, 0; 0, 0; 0, 0}


4️⃣ 擴展陣列並填充特定列數

=EXPAND(A1:B2, 5, 6, "Empty")

? 效果:將 A1:B2 擴展為 5 行 6 列,並將新增的單元格填充為 “Empty”

如果 A1:B2 = {1, 2; 3, 4}
結果 = {1, 2, “Empty”, “Empty”, “Empty”, “Empty”; 3, 4, “Empty”, “Empty”, “Empty”, “Empty”; “Empty”, “Empty”, “Empty”, “Empty”, “Empty”, “Empty”; “Empty”, “Empty”, “Empty”, “Empty”, “Empty”, “Empty”; “Empty”, “Empty”, “Empty”, “Empty”, “Empty”, “Empty”}


5️⃣ 搭配 FILTER 函數擴展篩選結果

=EXPAND(FILTER(A1:B5, B1:B5 > 50), 6)

? 效果:篩選出 B1:B5 中大於 50 的數據,並將篩選結果擴展為 6 行,新增的單元格填充為 0


6️⃣ 擴展包含公式的數據

=EXPAND(SEQUENCE(3, 2), 5, 4)

? 效果:創建一個 3×2 的數列(例如:{1, 2; 3, 4; 5, 6}),並將其擴展為 5 行 4 列,填充額外的單元格為 0

結果 = {1, 2, 0, 0; 3, 4, 0, 0; 5, 6, 0, 0; 0, 0, 0, 0; 0, 0, 0, 0}


? EXPAND vs TAKE

函數作用適用場景
EXPAND擴展陣列並填充額外空格適合在範圍中預留空白,擴展陣列的大小
TAKE保留陣列的部分元素適合從一個陣列中取出特定範圍的資料

? 如果你想增加更多行或列並填充數據,使用 EXPAND;如果你想從一個範圍中提取特定的行列數據,使用 TAKE


? 總結

EXPAND 函數可以幫助你在現有的數據範圍上進行擴展,並填充空白區域
適合處理需要擴展或增大範圍的情境,並支持自定義填充值
可與其他動態陣列函數(如 SEQUENCE、FILTER)配合使用,進行更靈活的數據處理!

發佈留言

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