该教程引入了一个新的Excel 365动态数组函数,该功能可以将数组扩展到所需的尺寸,并带有您选择的值。
是否想将数组增加到指定数量的行或列,以使工作表中的所有类似阵列的大小相同?在Excel 365中,可以使用一个简单的公式来完成。满足可以将阵列扩展到您设置的任何尺寸的全新扩展功能。
Excel中的扩展功能旨在将带有您选择的值的数组填充指定的行和列尺寸。
语法包括以下参数:
展开(数组,行,[列],[pad_with])在哪里:
数组(必需) - 原始数组。
行(可选) - 返回数组中的行数。如果省略,则不会添加新行,并且必须设置列参数。
列(可选) - 返回数组中的列数。如果省略,则不会添加新列,并且必须设置行参数。
PAD_WITH-填充新单元格的值。如果省略,默认为#n/a。
提示。要从数组中删除多余的行或列,请使用Drop功能。
当前,扩展功能可在Microsoft 365(Windows和Mac)的Excel中获得,以及excel for web。
要将数组增加到所需的尺寸,请以这种方式构建一个扩展公式:
作为动态数组函数,仅需要在一个单元格中输入扩展,并且它会自动将结果溢出到行和列参数中指定的尽可能多的单元格中。
例如,要将数组C6:D13至12行和3列展开,公式为:
=EXPAND(C6:D13, 12, 3)
由于未设置pad_with参数,上面的公式将使用#N/A错误添加新添加的单元格。要更改默认行为,请为PAD_WITH参数提供所需的任何值。例如,您可以用连字符添加新数组值:
=EXPAND(C6:D13, 12, 3, "-")
在下面,您会发现其他一些在Excel中使用Expand函数以在特定方向上生长数组的示例。
要将数组向下扩展到所需的行数,请定义行参数并省略列。
例如,要将初始数组增加到总计12行,请使用此公式:
=EXPAND(C6:D13, 12, , "-")
由于不应扩展列,因此我们在行后键入逗号,然后在逗号后输入填充值。
要在数组中添加更多列,请定义列参数并省略行。
例如,这是您可以将源数组扩展到右侧的方式,因此它总共有4列:
=EXPAND(A4:C15, , 4, "-")
扩展功能旨在扩展右侧和向下的数组。要在源阵列的左侧和上方添加单元格,您将必须制定自己的解决方案。
假设您在B4:C12中具有一个值。您的目标是在原始数组的左侧添加3行和1列。为了更好地了解机制,我们将首先单独执行每个任务,然后将所有部件放在一起。
要水平扩展数组,您可以使用HSTACK函数在数组左侧附加给定数量的空列。在此示例中,我们使用此公式添加1个空白列:
=HSTACK(D4:D12, B4:C12)
请注意,您堆叠的空数组(D4:D12)应具有与源数组相同的行数,并应首先在公式中提供。结果,将零值的列添加到原始数组的左侧。
要垂直扩展数组,请利用Vstack函数将一定数量的空行放在原始数组的第一行上方。
在我们的情况下,以下两个具有相同数量列数的范围是堆叠的,一个空数组首先出现:
=VSTACK(B14:C16, B4:C12)
在结果中,将3行添加到初始数组的顶部。
要垂直和水平扩展数组,请将VSTACK和HSTACK功能一个嵌套到另一个。在我们的情况下,公式采用此形式:
=VSTACK(B14:D16, HSTACK(D4:D12, B4:C12))
并产生这个结果:
默认情况下,VSTACK和HSTACK函数返回零而不是空白单元格。要用自定义值填充新单元格,请在每个堆栈函数中嵌套IF和ISBLANK的组合,这将用您指定的值替换空白。
例如,要使新细胞用连字符填充,公式为:
=VSTACK(IF(ISBLANK(B14:D16),"-", B14:D16), HSTACK(IF(ISBLANK(D4:D12),"-", D4:D12), B4:C12))
要扩展带有空白单元的数组,请使用此公式:
=VSTACK(IF(ISBLANK(B14:D16),"", B14:D16), HSTACK(IF(ISBLANK(D4:D12),"", D4:D12), B4:C12))
此示例显示了如何将ExpandSplit函数一起使用,以将文本字符串与单个列中的特定定界符分开,然后将最终数组扩展到所需的大小。
假设您在下图中有一列像B列这样的字符串。每个字符串的几个值与特定的定界符(在我们的情况下是一个逗号和空间)分开。您的目标是将每个字符串分为单独的单元格,以使所有结果阵列具有相同数量的列数。
要完成任务,请在E4中输入此公式:
=EXPAND(TEXTSPLIT(B4, ", "), , COLUMNS(E3:H3), "-")
在此公式中:
将公式拖到E15中,您将获得此结果:
如果扩展功能在您的Excel中不正确或引发错误,则以下提示将帮助您固定原因并修复它。
如果用于行或列参数的值小于源数组的行总数或列的总数或列的总数。
如果未设置pad_with参数,则将出现在填充的单元格中。
如果该函数的名称拼写错误或Expand在您的Excel版本中不可用,则会发生。目前,它仅在Excel 365中得到支持,并获得网络的Excel。在修复Excel中的#NAME错误时,可以找到更多详细信息。
当没有足够的空细胞来输出扩展的阵列时,就会发生。在大多数情况下,清除阻塞细胞会立即解决误差。有关更多信息,请查看如何修复#spill! Excel中的错误。
这就是如何使用Excel中的扩展功能将数组扩展到您的业务逻辑所需的数量和列。我感谢您阅读,并希望下周在我们的博客上见到您!
Excel展开公式 - 示例(.xlsx文件)
以上是Excel扩展功能以将数组扩展到指定的维度的详细内容。更多信息请关注PHP中文网其他相关文章!