Wann ist ein Bezug ein Array?
#1
Hallo again,

etwas Theorie: Offenbar können, jedenfalls in Excel 365, viele (alle?) Excel-Tabellenfunktionen mit Arrayparametern umgehen, solange man das Array in Literalschreibweise eingibt ({1.2.3;4.5.6}).

Bei zeilen-, spalten- bzw. rechteckförmigen Bezügen scheint es aber anders zu sein. Zum Beispiel die Funktion RUNDEN(Zahl; Anzahl_Stellen) nimmt beide Parameter auch als Bezug an und bastelt die Dimensionen des Ergebnis-Arrays aus den Dimensionen der beiden Parameter zusammen. Dagegen wirft zum Beispiel die Funktion VRUNDEN(Zahl; Vielfaches) im Angesicht eines Arraybezugs sofort das Handtuch: #WERT! Und die Funktion N(Wert) gibt bei einem Arraybezug nur den ersten Wert zurück. Wie gesagt, sowohl VRUNDEN als auch N verhalten sich anders, wenn man ein Arrayliteral übergibt.

Ich verstehe die Systematik nicht, gibt es eine? In der Doku kann ich diese Infos nicht finden, kennt ihr eine bessere Quelle?

Neugierig, Redoute
Antworten Top
#2
Moin

Links aus meinem Fundus.
https://www.youtube.com/watch?v=YRxHNRROeYk
https://stackoverflow.com/questions/3109...l-formulas
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • Redoute
Antworten Top
#3
(20.08.2024, 19:32)shift-del schrieb: Moin

Links aus meinem Fundus.
https://www.youtube.com/watch?v=YRxHNRROeYk
https://stackoverflow.com/questions/3109...l-formulas

48 48 48 48 48
 Thumbsupsmileyanim
Cool...
Gruss Ralf
Antworten Top
#4
Hallo shift-del,

dein Fundus scheint bestens organisiert zu sein, ich bin begeistert.

Kurz übersetzt: Die Funktionen, die aus dem Analysis ToolPak stammen, können keine Bezüge als Arrays interpretieren. Ein vorgestelltes "+" vor dem Bezug konvertiert diesen in ein Array, also z. B. =VRUNDEN(+A1:A3;+B1:B3). Ähnliches gilt auch für die N-Funktion.

Den Punkt C in der StackOverflow-Frage verstehe ich nicht. Bei mir scheinen diese Formeln auch ohne "+" zu funktionieren:

=ZELLE("inhalt"; WENN(1;INDIREKT({"Tabelle1!A1";"Tabelle1!B2";"Tabelle1!C3"})))
bzw. =ZELLE("inhalt"; INDIREKT({"Tabelle1!A1";"Tabelle1!B2";"Tabelle1!C3"}))

Was nicht funktioniert, ist

=INDIREKT({"Tabelle1!A1";"Tabelle1!B2";"Tabelle1!C3"})
bzw. =+INDIREKT({"Tabelle1!A1";"Tabelle1!B2";"Tabelle1!C3"})

Also INDIREKT gibt einen Bezug zurück, der warum auch immer nicht direkt ausgewertet wird. Dann müsste aber ein "+" doch wiederum ein Array mit Werten daraus machen und nicht ein Array mit Fehlern?

Einen sonnigen Tag wünscht
Redoute
Antworten Top
#5
(21.08.2024, 10:18)Redoute schrieb: Was nicht funktioniert, ist

=INDIREKT({"Tabelle1!A1";"Tabelle1!B2";"Tabelle1!C3"})
bzw. =+INDIREKT({"Tabelle1!A1";"Tabelle1!B2";"Tabelle1!C3"})
Hier muss man mit N() bzw. T() klammern.
Code:
=N(INDIREKT({"Sheet1!A1";"Sheet2!B2";"Sheet3!C3"}))
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • Redoute
Antworten Top
#6
Jeck. Es bleibt mysteriös.
Antworten Top


Gehe zu:


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