首页 > 专题 > excel > Excel扩展功能以将数组扩展到指定的维度

Excel扩展功能以将数组扩展到指定的维度

Lisa Kudrow
发布: 2025-03-25 10:08:08
原创
530 人浏览过

该教程引入了一个新的Excel 365动态数组函数,该功能可以将数组扩展到所需的尺寸,并带有您选择的值。

是否想将数组增加到指定数量的行或列,以使工作表中的所有类似阵列的大小相同?在Excel 365中,可以使用一个简单的公式来完成。满足可以将阵列扩展到您设置的任何尺寸的全新扩展功能。

Excel扩展功能

Excel中的扩展功能旨在将带有您选择的值的数组填充指定的行和列尺寸。

语法包括以下参数:

展开(数组,行,[列],[pad_with])

在哪里:

数组(必需) - 原始数组。

(可选) - 返回数组中的行数。如果省略,则不会添加新行,并且必须设置参数。

(可选) - 返回数组中的列数。如果省略,则不会添加新列,并且必须设置参数。

PAD_WITH-填充新单元格的值。如果省略,默认为#n/a。

Excel扩展功能以将数组扩展到指定的维度

提示。要从数组中删除多余的行或列,请使用Drop功能。

扩展功能可用性

当前,扩展功能可在Microsoft 365(Windows和Mac)的Excel中获得,以及excel for web。

如何在Excel中使用扩展功能

要将数组增加到所需的尺寸,请以这种方式构建一个扩展公式:

  1. 对于阵列,提供一系列单元格或另一个公式返回的值数组。
  2. 对于,提供大于原始数组中的行和列数的正数。请注意,这些参数定义了所得数组的尺寸,而不是要添加的行或列的数量。在每个特定公式中,必须设置。省略的参数默认为源数组的相应维度(行或列)。
  3. 对于pad_with ,指定值以填充添加到数组中的新单元格。如果是文本值,请将其包装在双引号中。如果是数字值,请在没有引号的情况下使用它。如果未提供,新的单元格将被#N/A错误填充。

作为动态数组函数,仅需要在一个单元格中输入扩展,并且它会自动将结果溢出到参数中指定的尽可能多的单元格中。

例如,要将数组C6:D13至12行和3列展开,公式为:

=EXPAND(C6:D13, 12, 3)

由于未设置pad_with参数,上面的公式将使用#N/A错误添加新添加的单元格。要更改默认行为,请为PAD_WITH参数提供所需的任何值。例如,您可以用连字符添加新数组值:

=EXPAND(C6:D13, 12, 3, "-")

Excel扩展功能以将数组扩展到指定的维度

在下面,您会发现其他一些在Excel中使用Expand函数以在特定方向上生长数组的示例。

将数组扩展到一定数量的行

要将数组向下扩展到所需的行数,请定义参数并省略

例如,要将初始数组增加到总计12行,请使用此公式:

=EXPAND(C6:D13, 12, , "-")

由于不应扩展列,因此我们在行后键入逗号,然后在逗号后输入填充值。

Excel扩展功能以将数组扩展到指定的维度

将数组扩展到一定数量的列

要在数组中添加更多列,请定义参数并省略

例如,这是您可以将源数组扩展到右侧的方式,因此它总共有4列:

=EXPAND(A4:C15, , 4, "-")

Excel扩展功能以将数组扩展到指定的维度

如何向左扩展阵列

扩展功能旨在扩展右侧和向下的数组。要在源阵列的左侧和上方添加单元格,您将必须制定自己的解决方案。

假设您在B4:C12中具有一个值。您的目标是在原始数组的左侧添加3行和1列。为了更好地了解机制,我们将首先单独执行每个任务,然后将所有部件放在一起。

向左添加列

要水平扩展数组,您可以使用HSTACK函数在数组左侧附加给定数量的空列。在此示例中,我们使用此公式添加1个空白列:

=HSTACK(D4:D12, B4:C12)

请注意,您堆叠的空数组(D4:D12)应具有与源数组相同的行数,并应首先在公式中提供。结果,将零值的列添加到原始数组的左侧。

Excel扩展功能以将数组扩展到指定的维度

在上面添加行

要垂直扩展数组,请利用Vstack函数将一定数量的空行放在原始数组的第一行上方。

在我们的情况下,以下两个具有相同数量列数的范围是堆叠的,一个空数组首先出现:

=VSTACK(B14:C16, B4:C12)

在结果中,将3行添加到初始数组的顶部。

Excel扩展功能以将数组扩展到指定的维度

在上方添加行,列到左上

要垂直和水平扩展数组,请将VSTACK和HSTACK功能一个嵌套到另一个。在我们的情况下,公式采用此形式:

=VSTACK(B14:D16, HSTACK(D4:D12, B4:C12))

并产生这个结果:

Excel扩展功能以将数组扩展到指定的维度

将阵列向上和向左带有自定义值

默认情况下,VSTACK和HSTACK函数返回零而不是空白单元格。要用自定义值填充新单元格,请在每个堆栈函数中嵌套IF和ISBLANK的组合,这将用您指定的值替换空白。

例如,要使新细胞用连字符填充,公式为:

=VSTACK(IF(ISBLANK(B14:D16),"-", B14:D16), HSTACK(IF(ISBLANK(D4:D12),"-", D4:D12), B4:C12))

Excel扩展功能以将数组扩展到指定的维度

要扩展带有空白单元的数组,请使用此公式:

=VSTACK(IF(ISBLANK(B14:D16),"", B14:D16), HSTACK(IF(ISBLANK(D4:D12),"", D4:D12), B4:C12))

Excel扩展功能以将数组扩展到指定的维度

拆分字符串和扩展阵列

此示例显示了如何将ExpandSplit函数一起使用,以将文本字符串与单个列中的特定定界符分开,然后将最终数组扩展到所需的大小。

假设您在下图中有一列像B列这样的字符串。每个字符串的几个值与特定的定界符(在我们的情况下是一个逗号和空间)分开。您的目标是将每个字符串分为单独的单元格,以使所有结果阵列具有相同数量的列数。

要完成任务,请在E4中输入此公式:

=EXPAND(TEXTSPLIT(B4, ", "), , COLUMNS(E3:H3), "-")

在此公式中:

  • TextSplit使用逗号和空间(“,”)作为定界符将B4中的值分开。
  • 列计算输出数组中的列数。
  • 扩展将返回的数组扩展到用连字符的右填充丢失值(“ - ”)。

将公式拖到E15中,您将获得此结果:

Excel扩展功能以将数组扩展到指定的维度

扩展功能不起作用

如果扩展功能在您的Excel中不正确或引发错误,则以下提示将帮助您固定原因并修复它。

#价值!错误

如果用于参数的值小于源数组的行总数或列的总数或列的总数。

#n/a错误

如果未设置pad_with参数,则将出现在填充的单元格中。

#姓名?错误

如果该函数的名称拼写错误或Expand在您的Excel版本中不可用,则会发生。目前,它仅在Excel 365中得到支持,并获得网络的Excel。在修复Excel中的#NAME错误时,可以找到更多详细信息。

#洒!错误

当没有足够的空细胞来输出扩展的阵列时,就会发生。在大多数情况下,清除阻塞细胞会立即解决误差。有关更多信息,请查看如何修复#spill! Excel中的错误。

这就是如何使用Excel中的扩展功能将数组扩展到您的业务逻辑所需的数量和列。我感谢您阅读,并希望下周在我们的博客上见到您!

练习工作簿下载

Excel展开公式 - 示例(.xlsx文件)

以上是Excel扩展功能以将数组扩展到指定的维度的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板