Makros/Templates/Funktionen/? verwenden

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

OONewb
*
Beiträge: 11
Registriert: Fr, 26.11.2010 16:43

Makros/Templates/Funktionen/? verwenden

Beitrag von OONewb »

Hiho!

Ich hab mittlerweile schon recht lange Formeln in manchen Zeilen, die sehr oft die gleichen Funktionalitäten (mit unterschiedlichen Parametern) kombinieren.
Schön wäre es jetzt, wenn ich mir eigene Befehle wie VERKETTEN, SUMME, ... definieren könnte, um das zusammenzufassen und übersichtlicher zu machen.
Makros scheinen der Weg zum Ziel zu sein, aber ich sehe nicht ganz wie ich diese aus Zellen heraus benutzen kann.
Zudem sind die für Makros erlaubten Sprachen (Basic zB) komplexer als der 'normale' Code (was kein Stolperstein wäre, wenn es gar nicht anders ginge).

Nochmal anders:
Kann ich

Code: Alles auswählen

=MAX(VERKETTEN(RUNDEN(1+(9*ZUFALLSZAHL()))*VERWEIS($D2;Name;AndereSpalte)+VERWEIS($D2;Name;AndereSpalte2))-$G2;0)
irgendwie als Template oder eigene Funktion speichern und mit Parametern der Form

Code: Alles auswählen

=MeineFunktion($D2, $G2)
aufrufen?
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: Makros/Templates/Funktionen/? verwenden

Beitrag von Karolus »

Hallo
Deine Originalformel zB. sieht ziemlich furchtbar aus - ich vermute (ich kenne den Kontext nicht) das da erheblich optimiert werden kann.

Um deine eigentliche Frage zu beantworten - ebenso wie man Zellbereichen einen Namen geben kann geht das im Prinzip genauso bei Formeln - du musst dir nur im klaren darüber sein ob du damit relative/ Adressen richtig umsetzt.

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
OONewb
*
Beiträge: 11
Registriert: Fr, 26.11.2010 16:43

Re: Makros/Templates/Funktionen/? verwenden

Beitrag von OONewb »

Karolus hat geschrieben:Deine Originalformel zB. sieht ziemlich furchtbar aus - ich vermute (ich kenne den Kontext nicht) das da erheblich optimiert werden kann.
Sind die Verweise so aufwändig? Die doppelte Suche wird vmtl. nicht optimal sein, aber ich sehe keinen Weg das in einem Durchgang zu machen. In Makros würde das vmtl. einfacher funktionieren, aber die Laufzeit ist nicht so kritisch, als dass es sich auszahlen würde das zu portieren.
Primär geht es mir um Übersichtlichkeit, damit Fehler leichter gefunden bzw. vermieden werden können.
Karolus hat geschrieben:ebenso wie man Zellbereichen einen Namen geben kann geht das im Prinzip genauso bei Formeln
Ich bin nicht wirklich fündig geworden wie/wo das geht, dürfte ich um ein Beispiel bitten? Bzw. funktioniert das dann auch mit Übergabeparametern?
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: Makros/Templates/Funktionen/? verwenden

Beitrag von Karolus »

Hallo

Code: Alles auswählen

=MAX(VERKETTEN(RUNDEN(1+(9*ZUFALLSZAHL()))*VERWEIS($D2;Name;AndereSpalte)+VERWEIS($D2;Name;AndereSpalte2))-$G2;0)
RUNDEN(1+(9*ZUFALLSZAHL())) macht das gleiche wie ZUFALLSBEREICH(1;10)
VERKETTEN( ... ) ist in dieser Formel absolut überflüssig, über den Sinn der beiden VERWEISe kann ich nicht urteilen da ich den Kontext nicht kenne.

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
OONewb
*
Beiträge: 11
Registriert: Fr, 26.11.2010 16:43

Re: Makros/Templates/Funktionen/? verwenden

Beitrag von OONewb »

Karolus hat geschrieben:RUNDEN(1+(9*ZUFALLSZAHL())) macht das gleiche wie ZUFALLSBEREICH(1;10)
VERKETTEN( ... ) ist in dieser Formel absolut überflüssig,
Zufallsbereich ist ja mal praktisch, Verketten sollte ursprünglich mal 2 Strings zusammenfügen und ist ein Überbleibsel :oops:. Ergoogelt hab ich mir, dass das auch (und weniger umständlich) mit & funktioniert.
Danke für die Hinweise.
Edit: Zufallsbereich hilft mir nicht, weil die zufällige Zahl nicht mit aktualisiert wird. Lediglich einmal initialisiert. :(

Aber auch wenn das Beispiel anders zu vereinfachen ist - die eigentliche Frage bleibt noch offen:
(Wie) Kann ich Funktionen mit Übergabeparametern und dem OO Script Syntax schreiben? (Oder etwas, das sich aus Zellen heraus aufrufen lässt)
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: Makros/Templates/Funktionen/? verwenden

Beitrag von Karolus »

Hallo
Edit: Zufallsbereich hilft mir nicht, weil die zufällige Zahl nicht mit aktualisiert wird. Lediglich einmal initialisiert.
Mit Strg+shift+F9 wird auch ZUFALLSBEREICH aktualisiert.
Kann ich Funktionen mit Übergabeparametern und dem OO Script Syntax schreiben? (Oder etwas, das sich aus Zellen heraus aufrufen lässt)
Grundsätzkich ja, aber bevor du damit anfängst solltest du zunächst:
1. deine Formeln aufräumen und hier keine Relikte posten.
2. deine Tabellen in eine einfachere Struktur bringen, damit du evtl. einfachere Formeln hast, deren "Anpassung" auf unterschiedliche Parameter du durch ziehen/kopieren nach unten/oben/links/rechts...[in_anderes_Tabellenblatt] erledigen kannst.

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten