Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Dynamischer Ausdruck (xl365)
#1
Exkurs

Bei dem Bezug auf =A1# kann man nicht wissen, ob alternativ

Einzelzelle
Zeilenvektor
Spaltenvektor
Matrix

zurückgegeben wird.

Exkurs Ende
_____________________________________________
Dynamischer Formelausdruck, beschränkt auf eine Richtung (hier Zeile):

A2: =INDEX({1.2.3.4.5};) oder einfach auch ={1.2.3.4.5}
A3: =INDEX({1.2.5};)
A4: =INDEX({1.2.3.5};)

A6: =INDEX(A2:A4;2)#
gibt nun den Inhalt von A3:C3 dynamisch zurück. Hier ist "2" ausgewählt (also A3), könnte aber natürlich auch errechnet werden.

Der Vorteil ist, dass auch variabel lange "Datensätze" verarbeitet werden können, also erneut bei Bezug zurückgegeben werden können, ohne dass (manchmal lästige) Null-Zellen dabei sind. Makel dabei ist: Die Sätze 2 bis 4 sind nicht eingegeben, sondern bestehen aus Formeln. Sowas tut aber niemand.

Ändern wir die 3 Formeln in Werte (was bei variablen Satzlängen der fast ausschließliche Fall sein dürfte):

A2:E2: 1 2 3 4 5
A3:C3: 1 2 5
A4:D4: 1 2 3 5

A6: =LET(x;INDEX(2:4;2;);INDEX(x;1):INDEX(x;ANZAHL2(x))) 
gibt nun den Inhalt von A3:C3 dynamisch zurück (aber ohne Verwendung von #).

Mit =A6# kann man nun auch hier variabel weiter referenzieren.
Antworten Top
#2
BEREICH.VERSCHIEBEN kann nur aus Bezügen (nicht: Formeln) auswerten, da es darauf angewiesen ist, in Nachbarzellen zu gucken. Dynamisch dürfen sie aber sein:

=BEREICH.VERSCHIEBEN(A1#;1;)

Erstaunlicherweise klappt aber folgendes nicht:

=LET(x;SORTIEREN(A1:B7;{1.2});INDEX(x;2;1):INDEX(x;7;2))

sollte doch eigentlich in der Lage sein, aus dem Zwischenspeicher x die 6 hinteren von insg. 7 Zeilen zurückzugeben. Es kommt #WERT!

Der Einzelbezug (alternativ)

=LET(x;SORTIEREN(A1:B7;{1.2});INDEX(x;2;1))
=INDEX(SORTIEREN(A1:B7;{1.2});2;1)


klappt wiederum.

Die rote Formel kann man aber innerhalb von LAMBDA ermöglichen:

=test(SORTIEREN(A1:B7;{1.2}))
mit test bezSichAuf =LAMBDA(x;INDEX(x;SEQUENZ(6;;2);{1.2}))

Das mit dem LET-Bereich erstaunt daher etwas.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste