写数组公式
Write array formulas
要将单个公式从一个区域复制到另一个区域,我们可以在加载 rangeSource.formulas
后直接使用 rangeTarget.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在线,Excel为Windows):
那么有谁知道复制数组公式的正确方法是什么?
此外,我不知道如何在 Excel 网上手动输入数组公式,快捷键 Ctrl+Alt+Enter
似乎不起作用(在 Mac 键盘上)。
Office.js Excel API 当前不支持数组公式。但是,请随时在 https://officespdev.uservoice.com/
上建议/投票
~ Michael Zlatkovsky,Office 可扩展性团队开发人员,MSFT
要将单个公式从一个区域复制到另一个区域,我们可以在加载 rangeSource.formulas
后直接使用 rangeTarget.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在线,Excel为Windows):
那么有谁知道复制数组公式的正确方法是什么?
此外,我不知道如何在 Excel 网上手动输入数组公式,快捷键 Ctrl+Alt+Enter
似乎不起作用(在 Mac 键盘上)。
Office.js Excel API 当前不支持数组公式。但是,请随时在 https://officespdev.uservoice.com/
上建议/投票~ Michael Zlatkovsky,Office 可扩展性团队开发人员,MSFT