来自自定义函数的数据验证列表

Data validation list from custom function

是否可以从自定义函数中获取数据验证列表的选项?例如,如果函数定义为

/**
 * Some list.
 * @customfunction
 * @returns Some list.
 */
function someList(): any[][] {
    return [["hello", "world", "foo", "bar"]];
}

我能否实现以下目标:

显然,直接答案似乎是 "no",因为它试图将函数解释为命名范围,但我希望我做错了什么。

Excel 目前不直接支持数组 - UserVoice item here 这会阻止以这种方式使用自定义函数和 xll/vba 用户定义的函数。我会为该项目添加评论。

作为解决方法,您可以使用范围 reference/hidden 名称的隐藏 sheet 并使用数据验证 api 创建名称。看这里:https://docs.microsoft.com/en-us/office/dev/add-ins/excel/excel-add-ins-data-validation#list-validation-rule-type