无需 VBA/UDF 即可追加或添加到数组
在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
正如我们在评论中讨论的,这是一个可能的答案:
据我所知,没有公式可以做到这一点,并且 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这可以使用标准 Excel 数组函数来实现。
为了便于说明,我们假设 MyFunc 是
当传递的范围超过一个单元格时,这将返回一个二维数组。
当作为数组公式输入时,例如
=D1&MyFunc(A2:C7)&E1
,此公式会在 D1 前面加上 E1它也可以在标准非数组公式中使用,其中数组参数为符合预期,如下面的单元格 D12 所示
This can be achieved using standard Excel array functions.
For illustration, lets assume MyFunc is
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 E1It can also be used in a standard non-array formula, where an array parameter is expected, as shown in cell D12 below