
Ich führe Invantive Control für Excel aus und möchte einen Block mit Daten aus Exact Online füllen. Eine der Spalten sollte jedoch die Multiplikation des in einem Excel-Arbeitsblatt mit Einstellungen aufgeführten Satzes mit dem Betrag in einer anderen Spalte sein.
Wenn beide Werte in SQL vorliegen, kann ich einfach eine Multiplikation durchführen. Ebenso kann ich per Hand (nach der Synchronisation) mit Excel die Formel rechts neben dem Block in einer Spalte hinzufügen.
Aber ich scheine nicht in der Lage zu sein, automatisch eine Excel-Formel in die Zellen des Blocks einzufügen.
Wie soll ich das machen?
Antwort1
In der Abfrage, die einem Invantive Control-Block zugeordnet ist, können Sie Formeln in drei Varianten einbinden:
select pjt.code
, pjt.description
, pjt.budgetedamount
, '=2*3' formula1
, '=b4*2' formula2
, '=$C{D,.,.,.-1,.}*2' formula3
from exactonlinerest..projects pjt
order
by pjt.code
Die Spalte formula1
hat eine statische Excel-Formel, die als 6 ausgewertet wird. Die Excel-Formel muss der Excel-Formelsyntax inEnglisch, verwenden Sie also sum()
anstelle von som()
.
Die Spalte formula2
verwendet einen Wert aus einem Excel-Ausdruck außerhalb des Blocks, in diesem Fall aus der Zelle B4.
Die Spalte formula3
verwendet die fortschrittlichste Art von Formel mit sog.Zellreferenzausdrücke. Häufig verwendete Zellbezugsausdrücke sind im Bausteinmenü verfügbar, wie im Bild (Niederländisch) gezeigt:
Wenn Sie das Modell jedoch auf diese Weise synchronisieren, formula3
wird ein Fehler auftreten, da Sie explizit angeben müssen, dass ein Wert einen Spaltenausdruck enthalten kann. Gehen Sie aus diesem Grund zur Registerkarte „Felder“ des Blocks und aktivieren Sie die Kontrollkästchen in den Spalten „Formel“ und „Spaltenausdrücke ersetzen“:
Das Ergebnis der Synchronisierung wird in etwa wie im Bild gezeigt aussehen: