无需 VBA/UDF 即可追加或添加到数组

发布于 2024-12-09 16:13:11 字数 106 浏览 0 评论 0原文

在 Excel 中,是否有内置公式/函数可以将值附加或添加到数组?因此,假设我有自己的 UDF MyFunc(...),它返回一个值数组。我可以使用对单个单元格的引用向该结果附加或预先添加单个值吗?

In Excel, is there a built-in formula/function to append or prepend a value to an array? So suppose I have my own UDF, MyFunc(...) that returns an array of values. Can I append or preprend a single value to this result using a reference to a single cell?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

荒路情人 2024-12-16 16:13:11

正如我们在评论中讨论的,这是一个可能的答案:

据我所知,没有公式可以做到这一点,并且 VBA 中没有附加函数。但是,您可以使用 Chip Pearson 中的 ConcatenateArrays 函数

As we discussed in the comments, here is a possible answer:

AFAIK, no formula can do this and there are no append function in VBA. Yet, you could use the ConcatenateArrays function from Chip Pearson

荒芜了季节 2024-12-16 16:13:11

这可以使用标准 Excel 数组函数来实现。

为了便于说明,我们假设 MyFunc 是

Function MyFunc(r As Range) As Variant
    MyFunc = r.Value
End Function

当传递的范围超过一个单元格时,这将返回一个二维数组。

当作为数组公式输入时,例如 =D1&MyFunc(A2:C7)&E1 ,此公式会在 D1 前面加上 E1

它也可以在标准非数组公式中使用,其中数组参数为符合预期,如下面的单元格 D12 所示

在此处输入图像描述

This can be achieved using standard Excel array functions.

For illustration, lets assume MyFunc is

Function MyFunc(r As Range) As Variant
    MyFunc = r.Value
End Function

Where the passed range is more than one cell, this returns a two-dimensional array.

When entered as an array formula like =D1&MyFunc(A2:C7)&E1 this prepends D1 and appends E1

It can also be used in a standard non-array formula, where an array parameter is expected, as shown in cell D12 below

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文