EXPAND 是 Microsoft 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)配合使用,進行更靈活的數據處理!