FLATTEN 函數可簡化巢狀陣列 () 陣列的內部陣列,方法是將其內部陣列取代為其內容。
語法
FLATTEN 函數會從陣列中移除巢狀的一或多個內部層。
FLATTEN 函數的語法為:
FLATTEN (陣列, [pad_value], [levels])
| 引數 | 說明 |
|---|---|
|
陣列 (必要) |
您想要展平的巢狀陣列,或包含巢狀陣列的儲存格或範圍的參照。 |
| pad_value | 用於展平時填滿空白位置的值會產生非矩形結果。 根據預設,空白倉位會填入 #N/A 錯誤。 |
| 層級 | 要從陣列內部移除的圖層數。 根據預設,會移除一層。 輸入 0 以移除每一層巢狀。 |
注意
- FLATTEN 對非陣列的值沒有作用。
=FLATTEN(42)傳回42。 - 如果 層 次大於陣列中的層數,則會移除每一層
範例
複製範例資料,並將其貼到新 Excel 工作表的儲存格 A1 中。 如有需要,您可以調整欄寬來查看所有資料。
範例 1
將巢狀陣列的欄展開成格線。 欄 A 中的每一個儲存格都含有三個值的巢狀列。
複製整個表格,並將其貼到新工作表的儲存格 A1。 FLATTEN 公式出現在 A6 並將平面 3 x 3 格線溢出到 A6:C8。
| 資料 |
|---|
| ={{1,2,3}} |
| ={{4,5,6}} |
| ={{7,8,9}} |
| 公式 |
| =FLATTEN (A2:A4) |
下圖顯示結果。
範例 2
當巢狀陣列大小不同時填補間隙。 欄 A 中的每一個儲存格都有一個巢狀列,但兩列的長度並不相同。
| 資料 |
|---|
| ={{1,2,3}} |
| ={{4,5}} |
將它們壓平會產生鋸齒狀結果。 Excel 陣列必須是矩形,才能填入遺漏的位置,預設情況下是 #N/A 錯誤,或是您在 pad_value 中提供的值。
因為每個結果都會溢出,所以請在有兩個空白列和三個空白欄的儲存格中輸入公式。
=FLATTEN(A2:A3) 傳回空白儲存格中的 #N/A (預設) 。
=FLATTEN(A2:A3,0) 在空白儲存格中傳回 0。
=FLATTEN(A2:A3,"") 傳回空白儲存格中的空白文字。
下圖顯示結果。