FLATTEN 函数通过将嵌套数组的内部数组替换为其内容来简化嵌套数组 () 数组。
语法
FLATTEN 函数从数组中删除嵌套的一个或多个内部层。
FLATTEN 函数的语法为:
FLATTEN (array, [pad_value], [levels])
| 参数 | 描述 |
|---|---|
|
array (必需) |
要平展的嵌套数组或对包含嵌套数组的单元格或区域的引用。 |
| pad_value | 平整时用于填充空白位置的值生成非矩形结果。 默认情况下,空仓填充 #N/A 错误。 |
| 级别 | 要从数组内删除的层数。 默认情况下,将删除一个图层。 输入 0 可删除每一层嵌套。 |
注意
- FLATTEN 对非数组的值没有影响。
=FLATTEN(42)returns42. - 如果 级别 大于数组中的图层数,则删除每个图层
示例
复制示例数据,然后将其粘贴进新的 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,"") 返回空单元格中的空文本。
下图演示了这些结果。