要将单个公式从一个区域复制到另一个区域,我们可以在加载rangeTarget.formulas = rangeSource.formulas
后直接使用rangeSource.formulas
。但是,此方法似乎不适用于数组公式。
例如,A1:A8
包含数组公式{=B1:B8+10}
,以下代码尝试将此数组公式复制到C1:C8
:
function test () {
Excel.run(function (ctx) {
var r0 = ctx.workbook.worksheets.getItem("Sheet1").getRange("A1:A8");
r0.load(["formulas"]);
return ctx.sync().then(function () {
var r1 = ctx.workbook.worksheets.getItem("Sheet1").getRange("C1:C8");
r1.formulas = r0.formulas;
});
});
}
以下是结果(Excel Online和Excel for Windows):
那么有谁知道复制数组公式的正确方法是什么?
此外,我不知道如何在Excel Online中手动输入数组公式,快捷方式Ctrl+Alt+Enter
似乎不起作用(在Mac键盘上)。
答案 0 :(得分:0)
Office.js Excel API目前不支持数组公式。但是,请随时在https://officespdev.uservoice.com/
上建议/投票~Michael Zlatkovsky,MSFT Office扩展团队开发人员