Excel JS自定义函数不返回矩阵

Excel JS自定义函数不返回矩阵,excel,office-js,custom-functions-excel,Excel,Office Js,Custom Functions Excel,我试图实现一个Excel自定义函数(JavaScript),它返回字符串矩阵 根据结果,在这种情况下,必须将维度设置为 为了简单起见,我刚刚从文档中复制了示例,以返回这样一个数组: function getstringmatrix () { return [["first","row"],["second","row"],["third","row"]]; } Excel.Script.CustomFunctions["MYFUNCTIONS"]["GETSTRINGMATRIX

我试图实现一个Excel自定义函数(JavaScript),它返回字符串矩阵

根据结果,在这种情况下,必须将维度设置为

为了简单起见,我刚刚从文档中复制了示例,以返回这样一个数组:

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 }
};

将function=MYFUNCTIONS.GETSTRINGMATRIX()插入Excel单元格时,此单元格将填充字符串“first”。但是预期的第二列和其他两行完全没有填充

您创建的函数应在Excel中的中使用。数组公式是一种高级公式,需要用户以特定方式输入

  • 首先,选择希望公式输出的单元格范围(在您的情况下,选择一个3行2列的范围)
  • 然后键入公式:
    =MYFUNCTIONS.GETSTRINGMATRIX()
  • 然后键入Ctrl+Shift+Enter。这是在Excel中输入数组公式的标准方法
  • Excel中的本机函数也以这种方式返回数组,例如
    =LINEST()

    当然,以范围作为输入的函数不需要任何特殊的方式来输入它们——只有输出数组的函数需要用户做一些特殊的事情


    -Michael,PM获取加载项

    谢谢Michael。当然可以,但是提供一种插入“普通”公式的方法不是更好吗?如果该公式返回矩阵,Excel会自动将其显示为数组公式?您已经在6:40插入=CFACTORY.TRACKTEMPERATURE(G1)时在视频中演示了此功能。此公式自动填充多个单元格。这正是我想要达到的。哈,这是非常敏锐的观察力!是的,我在演示中没有使用数组公式。这是一个我们仍在开发的功能,尚未发布。我没有日期之类的细节,但您的“矩阵”-输出自定义函数将来将更易于使用;)这方面有什么进展吗因为在Excel的web版本中尝试按Ctrl+Shift+Enter似乎什么也做不了。我本来希望记录在案的“矩阵”返回类型现在能够以某种形式实现?只是发现它确实可以在桌面Excel Office Insider构建中按预期工作,但在Web客户端中还不起作用。