Seite 1 von 1

zirkuläre/iterative Referenzen in Calc

Verfasst: Di 27. Nov 2012, 15:47
von KONSECK
Hallo libreoffice Freunde,

ich hab ein etwas spezielleres Problem in Calc und suche vergebens nach Hilfe im Internet.

Und zwar benutze ich Calc zu einer iterativen Bestimmung einer Variable (nennen wir sie Var. A). Diese Variable ist von von weiteren Variablen ( sagen wir Var. B, C, D und E) abhängig. Variablen B, C, D und E sind jedoch anhängig von der Var. A. Es ergibt sich damit ein iteratives Problem. Zu diesem Zweck ist es in Calc möglich die zirkuläre Beziehung durch Iteration zu berechnen. Das funktioniert auch wunderbar.

Mein Problem dabei ist, dass die Anzahl der Iterationen zu gering ist und nach 1000 Iterationen nicht das genaue Ergebnis rauskommt. Unter Tools -> Options -> LibreOffice Calc -> Calculate ist es möglich die Anzahl der Steps auf maximal 1000 zu setzten. Es ist möglich "per Hand" die Steps erneut auf 999 und dann erneut "per Hand" auf 1000 zu setzten, sodass weiter die zirkuläre Beziehung iteriert wird. Ich würde das Ganze aber gern automatisieren da ich ca. 50000 Iterationen brauche.

Ich habs schon mit "Record Macro" versucht. Allerdings werden Veränderungen in den Optionen nicht aufgezeichnet (denke ich). Sodass mir das Rumgeklicke nicht ersparrt bleibt.


Jetzt die Frage an die LibreOffice-Pro's. Gibt es dafür eine Lösung?

Re: zirkuläre/iterative Referenzen in Calc

Verfasst: Do 29. Nov 2012, 17:46
von gerald
ich hatte ein ähnliches problem… und wollte nicht gleich eine datenbank basteln
(die brav diese wzischenergebnisse für dann egalwieviele iterationen speichert
und konnte so ganze buch-lagen-seiten layouten…
oder auch wegpunkte abrufen).

vielleicht hilft es dir weiter
(denn ist auch schneller wie jede datenbank und
es braucht keine makrosprachenkenntnisse weil „aufzeichnen“ genügt):

- mach ein neues leeres blatt (allein für diesen fi-fo-speicher /firt-in-first-out)

- starte makro-aufzeichnung (nenne das makro stack... oder input_fifo)

- markiere in (einer zb:) der s-spalte die zeile 10 bis 20 (wahlweise 200 onm))

- clicke „kopieren“ (alternativ „ausschneiden“, grund unten)

- eine zeile tiefer aktivieren

- clicke „einfügen“ (das ist schnell weil jeweils nur ein(!) befehl, wenn du im makroeditor nachguckst)

- hier kannst du den transfer machen: s10=neuer eintrag

- makro beenden, fertig – schritt zwei:

- starte makro-aufzeichnung (nenne es output_fifo)

- markiere 11 bis 21

- kopiere (alternativ ausschneiden, gleich mehr dazu)

- gehe auf 10, einfügen, fertig… und der eintrag ist wieder oben

die alternative kopieren/ausschneiden lässt die letzte und erste spalte leer (je nach anwendung).
ggf brauchst du das zweite makro nicht, weil die werte "anderweitig" aus der liste gelesen werden

bonbon1: funktioniert auch mehrspaltig für weitere daten wie x,y,z oder länge und breite oder so


bonbon2, aber dann ist diese kleine datenbank kein fifo mehr:

drittes makro starten, markieren und sort drücken und deine liste ist sortiert
dann ggf viertes makro… oder vielleicht besser

- ein „steuerelement“ kreieren, das diese liste aufruft… und dir eine auswahl anbietet.
- viel spass damit haben