dynamische Berechnung von Lagen in Formeln

Hallo Poweruser,

gegeben ist ein Rechenblatt mit mehreren Lagen, die jeweils das
gleiche Zell-Layout haben sowie ein Layout, dessen Text teilweise
dynamisch generiert wird/werden soll.

Ziel ist ein Formular, in dem man mit einem Auswahlknopf die
entsprechende Lage ansteuert. Kleine Nebenbedingung: Das Formular ist
ein Serienbrief.

Für den zu berechnenden Text kann man nun sowas bauen (Beispiel):
serienbrief("R_Bestellungen"![2]$A$1:$A$20).

Ersetzt man nun die Lagenangabe durch einen Knopfindex, erhält man
beim Eingeben Fehler -2145804264 :-(
serienbrief("R_Bestellungen"![K_Auswahl!X]$A$1:$A$20))

Eine Erweiterung zum Absichern eines Zahlenwertes bei der Lagenangabe
brachte leider denselben Fehler:
serienbrief("R_Bestellungen"![wenn(istzahl(K_Auswahl!X);K_Auswahl!X;1)]$A$1:$A$20))

Ebenso war eine Zellreferenz hier nicht erfolgreich.

Kennt jemand hierzu eine Möglichkeit, oder kann man Lagen nur
statisch angeben (RT 6.0.1)? Unter dem Stichwort "lagen dynamisch" und
"lagen berechnen" gab es keine weiterhelfenden Beiträge.

Vielen Dank im Voraus
Nicolas
--

dynamische Berechnung von Lagen in Formeln

#6153 On 19 März, 2007 19:21 Nicolas Trebst said,

Hallo Zusammen,

nach längerem Nachdenken eine mögliche Lösung (wenn jemand
etwas besseres herausgefunden hat, gerne):

Herausnahme der Komplexität aus der Formel hinein in ein weiteres
Rechenblatt (muss man grundsätzlich nicht, geht hier aber nicht
anders, wg. der gewünschten Serienbrief-Funktion):

Im "Zwischenergebnis" steht beispielsweise eine solche Formel:
A1:
Index(R_Bestellungen!C53:[8]C53;K_Bestellauswahl!X)
...
A10:
Index(R_Bestellungen!C63:[8]C63;K_Bestellauswahl!X)

Dann kann man im Layout einfach auf
serienbrief("Zwischenergebnis"!A1:A10)
verweisen.

Sowas hatte ich doch schon mal .....

Ciao ins Forum
Nicolas
--

Re: dynamische Berechnung von Lagen in Formeln

#6155 On 20 März, 2007 07:32 Tom Kaegi said,

Hallo Nicolas

> gegeben ist ein Rechenblatt mit mehreren Lagen, die jeweils das
> gleiche Zell-Layout haben sowie ein Layout, dessen Text teilweise
> dynamisch generiert wird/werden soll.
>
> Ziel ist ein Formular, in dem man mit einem Auswahlknopf die
> entsprechende Lage ansteuert. Kleine Nebenbedingung: Das Formular ist
> ein Serienbrief.
>
> Für den zu berechnenden Text kann man nun sowas bauen (Beispiel):
> serienbrief("R_Bestellungen"![2]$A$1:$A$20).
>
> Ersetzt man nun die Lagenangabe durch einen Knopfindex, erhält man
> beim Eingeben Fehler -2145804264 :-(
> serienbrief("R_Bestellungen"![K_Auswahl!X]$A$1:$A$20))

Das ist doch eigentlich logisch, denn du kannst ja in dieser Form
auch nicht z.B. die Zeilenreferenz "20" ganz am Schluss deiner
Beispielformel durch eine Referenz ersetzen. Mit der Funktion
"Bereich" (eine MetaFormel-Funktion) lässt sich das für
zweidimensionale Bereiche noch machen. Aber dreidimensionale Bereiche
beherrscht auch diese Funktion nicht.

Ich vermute übrigens, dass in deiner Formel eine Lagenreferenz fehlt
und sie eigentlich heissen müsste (wenn sie denn so überhaupt
funktionieren würde): serienbrief("R_Bestellungen"![K_Auswahl!X]$A$1:
[K_Auswahl!X]$A$20))

Also gibt es nichts als den folgenden Umweg über die Index-Funktion
in einer beliebigen Zelle (Annahme: das Rechenblatt hat 20 Lagen):
Index("R_Bestellungen"![1]$A$1:[20]$A
$20;ZeileImBereich;SpalteImBereich;[K_Auswahl!X])

Diese Funktion holt den gesuchten Wert. Mit "Serienbrief(Referenz zur
Zelle mit der Formel)" holst du dann von dort den gesuchten Wert.

Wie ich eben bemerke, hast du das ja in einem weiteren Beitrag auch
schon selbst ähnlich herausgefunden. Ich habe allerdings nicht
analysiert, ob du für dein Beispiel im "Zwischenrechenblatt"
tatsächlich wieder einen Bereich benötigst.

Mit freundlichem Gruss
Thomas

Re: dynamische Berechnung von Lagen in Formeln

#6159 On 20 März, 2007 10:07 Tom Kaegi said,

Hallo Nicolas

> Im "Zwischenergebnis" steht beispielsweise eine solche Formel:
> A1:
> Index(R_Bestellungen!C53:[8]C53;K_Bestellauswahl!X)
> ...
> A10:
> Index(R_Bestellungen!C63:[8]C63;K_Bestellauswahl!X)

Ergänzung zu meinem letzten Beitrag: Du hast schon recht, es braucht
ein "Zwischenergebnis" in Bereichsform. Sonst gibt es keinen
Serienbrief.

Gruss
Thomas