javascript - Excel自定义函数返回数组公式

标签 javascript office-js custom-functions-excel

我想返回多个值或数组公式,而不通过函数在 Excel 中进行范围选择。

# excel custom function 
async function add(first, second) {
    try {

        Excel.run(async context => {
            # selecting active worksheet
            const worksheet = context.workbook.worksheets.getActiveWorksheet(); 


            # selecting range
            const range = worksheet.getRangeByIndexes(0, 0, 1, 4); 


            # set values for selected range
            range.values = [[1, 2, 3, 4]]; 

            return context.sync();
        });
    } 
    catch(err) {
        return err.message;
    }
}

# mapping function with key
CustomFunctions.associate("ADD", add);

最佳答案

感谢您提出这个问题。目前,要实现您所要求的功能,需要启用 Excel 动态数组。此功能仍处于预览版状态,您可以通过加入 Insider channel (在 Windows 和 Mac 上)开始对此功能进行测试。

  1. 如果您需要租户,请加入 Office 365 开发人员计划:https://aka.ms/O365DevProgram
  2. 获取租户并设置后,点击“安装软件”下载 Office(如果需要)
  3. 访问 insiders.office.com,按照有关如何切换 channel 的说明进行操作。
  4. 启动 Excel 并尝试此公式“=MUNIT(10)”
  5. 如果它返回 10x10 数组,则您处于内部 channel 。
  6. 进入内部 channel 后,您可以从函数中返回该数组,即 return [[1, 2, 3, 4]]; 并且 Excel 会动态溢出或返回#溢出!如果它要与某些值重叠,则会出错。

关于javascript - Excel自定义函数返回数组公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56845791/

相关文章:

ms-office - 使用自定义函数提交加载项(更新?)

javascript - 如何在 TypeScript 中使用 Request Promise?

java - C++、Java 和 JavaScript 异常处理之间有什么区别?

office-js - 如何检查文档是否为空?

javascript - 如何包含外部 JavaScript 以在 Excel 自定义函数中使用?

javascript - 使用 JavaScript 在 Excel 加载项中以编程方式创建自定义函数

JavaScript const 作用域和花括号

javascript - 不能将 angular-foundation typeahead 放在其他 foundation-apps grid-block 之上

javascript - https 请求出现问题

excel - 注册 onSelectionChange