Excel JS自定义函数不返回matrix

我想实现一个Excel自定义函数(JavaScript),返回一个stringmatrix。

根据在Excel(预览)中创build自定义函数,在这种情况下,必须将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单元格时,该单元格将填充string“first”。 但是预期的第二列和其他两行根本没有填充!

您创build的函数应该在Excel中的数组公式中使用。 数组公式是需要用户以特定方式input它们的高级公式。

  1. 首先,select你想要公式输出的单元格范围(在你的情况下,select一个3行2列的范围)
  2. 然后input公式: =MYFUNCTIONS.GETSTRINGMATRIX()
  3. 然后按Ctrl + Shift + Enter。 这是在Excel中input数组公式的标准方法。

Excel中有本地函数,也以这种方式返回数组,例如=LINEST()

当然,将范围作为input的函数不需要任何特殊的input方式 – 只有输出数组的函数需要用户做一些特殊的事情。

迈克尔,下午的插件

Interesting Posts