Ich habe keine Division von reellen Zahlen (dh /
) in worksheet functions gefunden. Als Konsequenz können wir zur Auswertung =SUM(2,SUM(30,40)/3)
keinen Ausdruck ctx.workbook.functions.sum(1,ctx.workbook.functions.sum(30,40)/3)
; wir ctx.sync
zweimal zu tun haben:Arbeitsblattfunktion für Division von reellen Zahlen (dh, /)
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); });
});
}
Das heißt, wenn es mehrere /
in einem Ausdruck ist, müssen wir noch mehr ctx.sync
verwenden sie zu bewerten, was sehr mühsam ist (und vor allem schwer automatisch zu sein konstruiert).
So wäre es wirklich toll, entweder die Arbeitsblattfunktion oder eine Umgehung für /
zu finden, so dass wir noch einen Ausdruck mit /
in einem Schritt auswerten könnten.
PS: es scheint, dass es für +
, keine Tabellenfunktion *
, -
entweder ist, aber wir konnten Abhilfen verwenden: sum
für +
, product
für *
und sum(..., product(-1, ...)
für -
.
...... smart ...... – SoftTimur
Ich glaube nicht, dass ich gedacht hätte dieser Fähigkeit ohne Ihre Beiträge cript sowieso, also danke für das Hinzufügen einiger neuer Tricks zu unserem API-Arsenal :) –
Sehr cool in der Tat. @SoftTimur, beachten Sie, dass diese Funktionen so verketten, dass jede Funktion das Ergebnis einer vorherigen Funktion akzeptiert, so dass Sie die Berechnung genau so durchführen können, wie Michael Saunders es oben geschrieben hat, mit nur einem einzigen ".load" und ".sync" Ende. –