Я не нашел деления действительных чисел (например, /
) в функциях рабочего листа. Как следствие, для вычисления =SUM(2,SUM(30,40)/3)
мы не можем использовать одно выражение ctx.workbook.functions.sum(1,ctx.workbook.functions.sum(30,40)/3)
; мы должны сделать ctx.sync
два раза:
function test () {
Excel.run(function (ctx) {
var result = ctx.workbook.functions.sum(30,40);
var result2;
result.load();
return ctx.sync()
.then(function () {
result2 = ctx.workbook.functions.sum(1,result.value/3);
result2.load(); })
.then(ctx.sync)
.then(function () {
console.log(result2.value); });
});
}
Это означает, что если в одном выражении несколько /
, мы должны использовать еще больше ctx.sync
для его вычисления, что очень утомительно (и особенно трудно построить автоматически).
Так что было бы очень здорово либо найти функцию рабочего листа, либо обходной путь для /
, чтобы мы все еще могли вычислять выражение, содержащее /
, за один шаг.
PS: кажется, что для +
, *
, -
тоже нет функции рабочего листа, но мы могли бы использовать обходные пути: sum
для +
, product
для *
и sum(..., product(-1, ...)
для -
.