我正在尝试实现一个返回字符串矩阵的Excel自定义函数(JavaScript)。
根据Create custom functions in Excel (Preview),在这种情况下,resultDimensionality必须设置为matrix。
为了保持简单,我只是复制了文档中的示例以返回这样的数组数组:
function getstringmatrix () {
return [["first","row"],["second","row"],["third","row"]];
}
Excel.Script.CustomFunctions["MYFUNCTIONS"]["GETSTRINGMATRIX"] = {
call: getstringmatrix,
result: {
resultType: Excel.CustomFunctionValueType.string,
resultDimensionality: Excel.CustomFunctionDimensionality.matrix,
},
parameters: [ ],
options:{ batch: false, stream: false }
};
将函数= MYFUNCTIONS.GETSTRINGMATRIX()插入Excel单元格时,此单元格将填充字符串" first"。但是预期的第二列和其他两行根本没有填充!
答案 0 :(得分:2)
您创建的功能应该在Excel中的Array Formula中使用。数组公式是一种高级公式,要求用户以特定方式输入它们。
=MYFUNCTIONS.GETSTRINGMATRIX()
Excel中的本机函数也以这种方式返回数组,例如=LINEST()
。
当然,将范围作为输入的函数不需要任何特殊的输入方法 - 只有输出数组的函数才需要用户做一些特殊的事情。
-Michael,PM加载项