我想返回多个值或数组公式,而不通过函数在 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 上)开始对此功能进行测试。
- 如果您需要租户,请加入 Office 365 开发人员计划:https://aka.ms/O365DevProgram 。
- 获取租户并设置后,点击“安装软件”下载 Office(如果需要)
- 访问 insiders.office.com,按照有关如何切换 channel 的说明进行操作。
- 启动 Excel 并尝试此公式“=MUNIT(10)”
- 如果它返回 10x10 数组,则您处于内部 channel 。
- 进入内部 channel 后,您可以从函数中返回该数组,即
return [[1, 2, 3, 4]];
并且 Excel 会动态溢出或返回#溢出!如果它要与某些值重叠,则会出错。
关于javascript - Excel自定义函数返回数组公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56845791/