Excel JS自定义函数没有return矩阵
Excel JS custom function does not return a matrix
我正在尝试实现 Excel 自定义函数 (JavaScript),return 是一个字符串矩阵。
在这种情况下,根据 Create custom functions in Excel (Preview) the resultDimensionality has to be set to matrix。
为了简单起见,我只是将文档中的示例复制到 return 这样一个数组数组:
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"。但是预期的第二列和其他两行根本没有填充!
您创建的函数应该在 Excel 中的 Array Formula 中使用。数组公式是一种高级类型的公式,需要用户以特定方式输入。
- 首先,select 您希望公式输出的单元格范围(在您的例子中,select 3 行 2 列范围)
- 然后输入公式:
=MYFUNCTIONS.GETSTRINGMATRIX()
- 然后按 Ctrl+Shift+Enter。这是在 Excel.
中输入数组公式的标准方法
Excel中有原生函数也return以这种方式数组,例如=LINEST()
。
当然,以范围作为输入的函数不需要任何特殊的方式来输入它们——只有输出数组的函数需要用户做一些特殊的事情。
我正在尝试实现 Excel 自定义函数 (JavaScript),return 是一个字符串矩阵。
在这种情况下,根据 Create custom functions in Excel (Preview) the resultDimensionality has to be set to matrix。
为了简单起见,我只是将文档中的示例复制到 return 这样一个数组数组:
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"。但是预期的第二列和其他两行根本没有填充!
您创建的函数应该在 Excel 中的 Array Formula 中使用。数组公式是一种高级类型的公式,需要用户以特定方式输入。
- 首先,select 您希望公式输出的单元格范围(在您的例子中,select 3 行 2 列范围)
- 然后输入公式:
=MYFUNCTIONS.GETSTRINGMATRIX()
- 然后按 Ctrl+Shift+Enter。这是在 Excel. 中输入数组公式的标准方法
Excel中有原生函数也return以这种方式数组,例如=LINEST()
。
当然,以范围作为输入的函数不需要任何特殊的方式来输入它们——只有输出数组的函数需要用户做一些特殊的事情。