0

我想返回多个值或数组公式,而不通过函数在 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);
4

1 回答 1

2

感谢您发布这个问题。目前要启用您要求的功能,需要启用Excel 动态数组。此功能仍处于预览阶段,您可以通过加入 Insiders Channel(在 Windows 和 Mac 上)开始对其进行测试。

  1. 如果您需要租户,请加入 Office 365 开发人员计划:https ://aka.ms/O365DevProgram 。
  2. 获取租户并在设置后单击安装软件以下载 Office(如果需要)
  3. 查看 Insiders.office.com,按照有关如何切换频道的说明进行操作。
  4. 启动 Excel 并尝试这个公式“=MUNIT(10)”
  5. 如果它返回一个 10x10 数组,则您在内部人员频道。
  6. 一旦进入内部人员频道,您就可以从您的函数中返回该数组,即return [[1, 2, 3, 4]];Excel 会动态溢出或返回 #SPILL!如果它即将与某些值重叠,则会出错。
于 2019-07-02T16:21:36.990 回答