就代码而言,这似乎很简单,但我仍然卡在#VALUE 上。
我制作了一个自定义 Excel 函数,将数组作为参数,当这样使用时,它本身就可以正常工作: =countArray({3,5}) 会给出 2(为了说明,实际公式不同)。
但是,我想用作参数的实际数组包含在另一个单元格中(例如 ={3,5})。因此,我想将该函数称为 =countArray(A1),使用对包含我想用作参数的数组的单元格的引用,而不是直接包含数组,所以我可以使用一个和相同的公式。
有没有办法做到这一点?
Cell formulas:
A1: ={3,5}
B1: =countArray({3,5})
B2: =countArray(A1)
Function countArray(arr()) As Integer
countArr = UBound(arr)
End Function
B1 中的公式有效,B2 中的公式无效。至于 A1 的内容,当像这样放入 Excel 时,单元格值仅显示 3 ——因此,我假设单元格因此实际上包含一个数组。不是这样吗?如果不将其存储为分隔字符串并将其转换为数组,则单元格是否不可能包含数组作为其值(或从其他单元格中引用这些数组)?
编辑:已经有几年了,所以也许我可以评论一下自从我发布这个问题以来我尝试过的道路。最初,我尝试在单元内 JSON 结构上进行操作,并取得了一定的成功。从那时起,我还发现最近的 Power Query(自 Excel 2016 原生集成以来)确实在其“单元格”中支持列表结构(以及其他),并且实际上支持相关功能。我不再使用这些中的任何一个(现在对 Spark 更感兴趣),但希望这可能有助于其他人偶然发现这个问题。