【发布时间】:2017-11-20 23:12:04
【问题描述】:
数组公式是在 Excel 中使用 Ctrl + Shift + Enter 输入的公式。
使用 Excel API,当我读取数组公式(Range.formulas 属性)时,我会得到类似 [["{=SUM(IF(A1:A10>50,1))}"]] 的信息。
当我尝试将此公式写回工作表时,它会输入一个常量字符串(因为括号)。如果我删除括号并输入公式,它将作为普通公式输入,而不是作为数组输入。
如何输入数组公式?
在 VBA 中,当您读取数组公式时,它会返回不带括号的公式。当你想输入一个数组公式时,你写range.FormulaArray = =SUM(IF(A1:A10>50,1))(同样,没有括号)。
最好让两个平台(JS 和 VBA)保持一致,并提供 Range.FormulaArray、Range.HasArray 和 Range.CurrentArray 等属性。
【问题讨论】:
-
写成
=countif(a1:a10, ">50") -
谢谢,但我仅将此公式用作示例。真正的问题是如何使用 Excel JavaScript API 输入数组公式。
标签: excel excel-formula office-js array-formulas