如何输入数组公式
How to enter Array Formulas
数组公式是在 Excel 中使用 Ctrl + Shift + Enter 输入的公式。
使用 Excel API,当我读取数组公式 (Range.formulas
属性) 时,我得到类似 [["{=SUM(IF(A1:A10>50,1))}"]]
.[=16= 的内容]
当我尝试将此公式写回工作表时,它输入了一个常量字符串(因为有括号)。如果我删除括号并输入公式,它将作为普通公式输入,而不是作为数组输入。
如何输入数组公式?
在VBA中,读取数组公式时,returns是不带括号的公式。当你想输入一个数组公式时,你写 range.FormulaArray = =SUM(IF(A1:A10>50,1))
(同样,没有括号)。
保持两个平台(JS 和 VBA)一致并提供 Range.FormulaArray
、Range.HasArray
和 Range.CurrentArray
等属性会很好。
Range.formulas
属性 可用于读取或设置范围内单个单元格的公式。以下代码片段用值填充范围 C3:D5
(通过指定二维值数组),然后设置 Range.formulas
属性(通过指定二维公式数组)这样D5
单元格(即位于指定区域第 3 行第 2 列的单元格)中的公式为 =SUM(D3,D4)
.
Excel.run(function (ctx) {
var sheetName = "Sheet1";
var rangeAddress = "C3:D5";
var values = [["First Number", 1000], ["Second Number", 200], ["Difference", null]];
var formulas = [[null, null], [null, null], [null, "=SUM(D3,D4)"]];
var range = ctx.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
range.values = values;
range.formulas = formulas;
range.load('text');
return ctx.sync().then(function () {
console.log(range.text);
console.log(range.formulas);
});
}).catch(errorHandlerFunction);
重新添加对您提到的其他属性的支持,如果您想将此建议添加到 Office Developer Platform UserVoice,其他用户可以在那里投票,使 Office PM 团队获得对整体 priority/demand 有意义,因为他们计划在未来对 API.
进行改进
更新
使用 Excel JavaScript API 设置一个 数组公式(就像你使用 Ctrl+Shift目前不支持在 UI) 中输入 。 Office Developer Platform UserVoice 是跟踪的正确位置 this feature request。
数组公式是在 Excel 中使用 Ctrl + Shift + Enter 输入的公式。
使用 Excel API,当我读取数组公式 (Range.formulas
属性) 时,我得到类似 [["{=SUM(IF(A1:A10>50,1))}"]]
.[=16= 的内容]
当我尝试将此公式写回工作表时,它输入了一个常量字符串(因为有括号)。如果我删除括号并输入公式,它将作为普通公式输入,而不是作为数组输入。
如何输入数组公式?
在VBA中,读取数组公式时,returns是不带括号的公式。当你想输入一个数组公式时,你写 range.FormulaArray = =SUM(IF(A1:A10>50,1))
(同样,没有括号)。
保持两个平台(JS 和 VBA)一致并提供 Range.FormulaArray
、Range.HasArray
和 Range.CurrentArray
等属性会很好。
Range.formulas
属性 可用于读取或设置范围内单个单元格的公式。以下代码片段用值填充范围 C3:D5
(通过指定二维值数组),然后设置 Range.formulas
属性(通过指定二维公式数组)这样D5
单元格(即位于指定区域第 3 行第 2 列的单元格)中的公式为 =SUM(D3,D4)
.
Excel.run(function (ctx) {
var sheetName = "Sheet1";
var rangeAddress = "C3:D5";
var values = [["First Number", 1000], ["Second Number", 200], ["Difference", null]];
var formulas = [[null, null], [null, null], [null, "=SUM(D3,D4)"]];
var range = ctx.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
range.values = values;
range.formulas = formulas;
range.load('text');
return ctx.sync().then(function () {
console.log(range.text);
console.log(range.formulas);
});
}).catch(errorHandlerFunction);
重新添加对您提到的其他属性的支持,如果您想将此建议添加到 Office Developer Platform UserVoice,其他用户可以在那里投票,使 Office PM 团队获得对整体 priority/demand 有意义,因为他们计划在未来对 API.
进行改进更新
使用 Excel JavaScript API 设置一个 数组公式(就像你使用 Ctrl+Shift目前不支持在 UI) 中输入 。 Office Developer Platform UserVoice 是跟踪的正确位置 this feature request。