Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Verständnisprobleme Index mit Map

Forumthread: Verständnisprobleme Index mit Map

Verständnisprobleme Index mit Map
21.02.2025 13:52:42
Peter B.
Moinsen liebes Forum,
ich habe eine Verständnisfrage zu Index in zusammenhang mit map (siehe beispieldatei für konkrete werte)

Das Verständnisproblem was ich habe.
wenn ich die Funktion
=LAMBDA(sp;INDEX(I2#;;sp))(2) habe dann entsteht ein Wert.

Wenn ich die Funktion

=Map(2;LAMBDA(sp;INDEX(I2#;;sp))) dann entsteht ein #Calc Fehler.

Meine Erkenntnisse
Nach meinem herunterbrechen habe ich herausgefunden, dass Index(i2#;NOTHING;sp) -> die nothing notation zu dem fehler führt, wenn ich konkrete werte der Länge von Sp entsprechend bspw. Map(2;lambda(sp;index(i2#;3;sp))) eingebe kommt ein Wert heraus.
Warum ist das so? Ich habe mir die MAP funktion immer recht ähnlich zu einer For Loop vorgestellt das ist anscheinend nicht der Fall.

PS:
Ich meine mich zu erinnern, dass {BORIS} mal eine ausführliche Erklärung über MAP erstellt hatte, ich finde den Forumsthread aber nicht.


Datei
https://www.herber.de/bbs/user/175908.xlsx
Anzeige

27
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verständnisprobleme Index mit Map
21.02.2025 16:47:12
{Boris}
Hi,

MAP ist auch die falsche Funktion dafür. NACHZEILE ist das Mittel der Wahl.

=NACHZEILE(2;LAMBDA(sp;INDEX(I2#;;sp)))

VG, Boris
Anzeige
AW: Verständnisprobleme Index mit Map
21.02.2025 16:53:58
Peter B.
moin Boris,
deine Formel hat leider nicht den gewünschten effekt

Onurs Formel
=SPALTENWAHL(I2#;{2.3}) ist das gewünschte verhalten
ausgabe
Datei Preis
file 10


=NACHZEILE(2;LAMBDA(sp;INDEX(I2#;;sp)))
ergebniss
datei

wenn als "loop"
=NACHZEILE({2;3};LAMBDA(sp;INDEX(I2#;;sp)))
ergebniss
Datei
Preis
-> sprich selbes verhalten wie bei Map
"=NACHZEILE({2;3};LAMBDA(sp;INDEX(I2#;;sp))) == "=NACHZEILE({2;3};LAMBDA(sp;INDEX(I2#;1;sp)))


gruß
Anzeige
AW: Verständnisprobleme Index mit Map
21.02.2025 17:05:15
{Boris}
Hi,

es ging mir erstmal nur darum zu zeigen, weshalb MAP nicht funktionieren kann.
Alles weitere hab ich mir noch gar nicht angesehen ;-)

VG, Boris
AW: Verständnisprobleme Index mit Map
21.02.2025 17:16:13
Peter B.
moin {boris}

jetzt muss ich dich mit deinem eigenem thread befragen

Nachzeile ist besser als map weil?

Ist das der grund
https://www.clever-excel-forum.de/Thread-NACHZEILE-vs-MAP
"NACHZEILE übergibt, im Gegensatz zu MAP, das ganze Array auf einmal an das Lambda. Das @ zwingt NACHZEILE dazu, nur einzelne Werte zu übergeben. "
oder warum sollte ich nicht map verwenden
Anzeige
AW: Verständnisprobleme Index mit Map
21.02.2025 17:33:31
Onur
Weil MAP für ganz ander Dinge gut ist und du damit mit Kanonen auf Spatzen schiesst (und nicht mal unbedingt triffst). MAP bearbeitet ein Array ZELLE für ZELLE durch und übergibt das Zwischenergebnis an die nächse Zelle weiter.

"Mit der Excel MAP-Funktion kannst Du Arrays mit einer LAMBDA-Funktion miteinander verrechnen. Das macht vor allem Sinn, wenn die LAMBDA-Funktionen mehrere Parameter benötigt. Die Arrays, welche als Parameter übergeben werden, müssen dabei nicht nebeneinanderstehen. D.h. die MAP-Funktion "mapped" bzw. ordnet die Inhalte der Arrays einander zu. Der erste Eintrag aus Array1 wird mit dem ersten Eintrag aus Array2 in die LAMBDA-Funktion gegeben und dann der zweite Eintrag usw., bis alle Einträge abgearbeitet sind."
Anzeige
AW: Verständnisprobleme Index mit Map
21.02.2025 17:03:29
Onur
Selbst DAS braucht er eigentlich gar nicht, DAS reicht doch völlig:
=SPALTENWAHL(I2#;{2.3})
AW: Verständnisprobleme Index mit Map
21.02.2025 17:10:11
Peter B.
moin Onur.
ich möchte hier eine Sache hervorheben, es war eine primäre verständnisfrage.
(warum verhält sich index in einem Lambda anders als außerhalb)

ich hatte eine lösung die zwar nicht so kurz wie =Spaltenwahl() war aber mich zum ziel geführt hat (umständlich über =Matrixerstellen & eine über bereich.verschieben)

Es hat sich mir nur nicht erschlossen warum index(i2#;;2) > Lambda(sp;index(i2;;sp)(2).
DAS war meine Frage, die weiterhin ungeklärt ist.

Anzeige
AW: Verständnisprobleme Index mit Map
21.02.2025 17:13:33
{Boris}
Hi,

und genau darauf hab ich Dir geantwortet.

VG, Boris
AW: Verständnisprobleme Index mit Map
21.02.2025 17:13:49
Onur
Es könnte am alten INDEX-Problem liegen, weswegen du bei sowas (wenn du nicht gerade eine EINZIGE Zelle aus einem Array brauchst) immer ZEILEN- bzw SPALTENWAHL nehmen solltest.
AW: Verständnisprobleme Index mit Map
21.02.2025 17:22:45
Peter B.
danke Onur,
das hat meine Frage erledigt
Anzeige
AW: Verständnisprobleme Index mit Map
21.02.2025 15:35:28
Peter B.
Moin Onur,
die angegebenen Links beseitigen meine Vorstellungsprobleme nicht.

Nach der ersten quelle.
"Wenn wir nur ein Array haben, benötigen wir die MAP-Funktion nicht und können ganz einfach die LAMBDA-Funktion nehmen und dieser ein Array übergeben."
https://excelhero.de/funktionen/excel-map-funktion/ konnte ich das verhalten auch simpler mit
=LAMBDA(sp;INDEX(I2#;;sp))({2.3}) festellen.

Aber es bleibt weiterhin für mich ein unerwartetes Verhalten.
denn
[=LAMBDA(sp;INDEX(I2#;;sp))({2.3})] == [=LAMBDA(sp;INDEX(I2#;1;sp))({2.3})]
aber
Index(i2#;;sp) > index(i2#;1;sp)

sprich einma ist NOTHING (index(i2#;NOTHING;wert)) gleich 1 und einmal entspricht es "GANZE_SPALTE"


Auch die möglichen Fehler, wie
Ungültige Array-Dimensionen: Wenn die angegebenen Arrays unterschiedliche Dimensionen haben, tritt ein Fehler auf. Stelle sicher, dass alle Arrays die gleiche Anzahl an Zeilen oder Spalten haben.
Sehe ich als nicht zutreffend, schließlich übergebe ich nur ein einzel Array in meiner map und mein Lambda nimmt nur eins auf

Anzeige
AW: Verständnisprobleme Index mit Map
21.02.2025 15:45:53
Onur
Sorry aber, für weitere Bemühungen brauche ich eine konkrete DATEI, wo ich nachvollziehen kann, was genau du willst und meinst.
ICH werde mir nicht anhand deiner Beschreibung so eine Tabelle bauen, nur um dir helfen zu können. :)
AW: Verständnisprobleme Index mit Map
21.02.2025 16:02:17
Peter B.
moin onur,
reicht die in meiner initialen Frage erstellte Hilfsdatei nicht um mein Problem zu visualisieren?
Anzeige
AW: Verständnisprobleme Index mit Map
21.02.2025 16:03:47
Onur
Sorry, DAS hab ich völlig übersehen. :)
AW: Verständnisprobleme Index mit Map
21.02.2025 16:15:06
Onur
LOOPEN geht nur mit MEHREREN Werten, du hast aber nur EIN Wert.
So geht es:
=SPALTENWAHL(I2#;{2.3})
oder so:
=LAMBDA(sp;SPALTENWAHL(I2#;sp))({2.3})
AW: Verständnisprobleme Index mit Map
21.02.2025 16:27:28
Peter B.
moin
danke, die Formel ist schonmal besser als meine funktionale =matrixerstellen(...) formel

Aber wenns keine Umstände darstellt, kannst du mir was du mit Loopen meinst genauer erklären?
=MAP({1.2};LAMBDA(a;a)) - da habe ich doch auch nur ein loopwert und es loopt?

=lambda(sp;index(i2#;;sp)){2.3} was für eine art der Iteration ist das wenn es kein loopen ist?
=lambda(sp;index(i2#;;sp)){2.3} - was macht das intern. Bzw warum macht das intern
index(i2#;1;1) dann index(i2#;1;2)
und nicht index(i2#;;1) dann index(i2#;;2)


Anzeige
AW: Verständnisprobleme Index mit Map
21.02.2025 16:30:59
Onur
Ich bezog mich ja auch nur auf deine erste Datei, und da war nix mit irgend einem Loop. Deine zweite Datei hatte ich ja noch gar nicht gesehen.
AW: Verständnisprobleme Index mit Map
21.02.2025 16:34:34
Onur
Und in der 2. Datei ist bei INDEX ja auch gar kein Loop - einmal beziehst du dabei dich auf eine Spalte, und einmal auf eine Zelle (da du Zeile UND Spalte angibst).
Anzeige
AW: Verständnisprobleme Index mit Map - konkreter
21.02.2025 16:47:06
Peter B.
Habe die Datei nich sonderlich schlau aufgebaut, lass mich kurz erklären


So wie ich das verstanden habe ist das Lambda(...)({2.3}) eine Art von Loop.
Lambda ist natürlich nicht im klassischen sinne ein Loop, aber die benutzerdefinierte Funktionen die auf Werte oder Arrays angewendet werden sind quasi ein loop )

ich hatte mir von dem "loop" das Lambda(...Spaltenwahl()) verhalten erhofft.
Da ich das verhalten nicht erreicht habe habe ich versucht herauszufinden wie sich Index je nach "iteration" verhält
Denn =index(i2#;;2) hat genau die Spalte zurückgegeben, dass wollte ich wiederholen.

Deswegen habe ich einmal =index(i2#;;2) und einmal =index(i2#;1;2) hingeschrieben. (Um eine einzel Iteration zu testen)

Dabei ist mir aufgefallen, dass der Loop Lambda(...)({2.3}) das Verhalten von =index(i2#;1;2) übernimmt obwohl in der Loop =index(i2#;;2), das hat bei mir für verwirrung gesorgt

Ergibt das so ausformuliert mehr Sinn?
Anzeige
AW: Verständnisprobleme Index mit Map - konkreter
21.02.2025 16:52:23
Onur
ITERATIONEN kannst du in Excel365 mit fast jeder Funktion durchführen, da brauchst du kein LAMBDA.
Für SOWAS ist Lambda gut:
https://www.herber.de/bbs/user/175919.xlsx
Nämlich für REKURSIONEN, das ist ähnlich, aber eigentlich was ganz Anderes.
Anzeige
AW: Verständnisprobleme Index mit Map - konkreter
21.02.2025 17:05:25
Peter B.
grandiose Exceldatei,
hast du ein aufrufbares Archiv mit den Besten files oder woher kriegst du immer so gute?



-----
Ich bin mir darüber bewusst, dass Lambda im idealfall für selbstdefinierte Formel wie Summ:= Lambda(a;b;a+b) ....
genutzt wird & wo eine Funktion ist ist eine Rekursion nicht weit weg.

Das ich mehr mit {...} bei der eingabe arbeiten muss hast du mir auch gut vor augen geführt, das mein Lambda doppelt gemoppelt war auch.
Einzig und allein warum mein index in einem Lambda() anders funktioniert als allein bleibt mir ein Mysterium.

Ich muss das hier aber nicht weiter auskauen, habe sehr viel gutes Neues gelernt, danke euch dafür & habt noch ein schönes Wochenende.
Anzeige
AW: Verständnisprobleme Index mit Map - konkreter
21.02.2025 17:58:12
{Boris}
Immer diese unnötig langen Formeln (RECHTS(...;LÄNGE(...) -1 )
=LAMBDA(data;chars; WENN(chars=""; data; RemoveChars(WECHSELN(data; LINKS(chars; 1); ""); RECHTS(chars; LÄNGE(chars) -1))))

=LAMBDA(data;chars; WENN(chars=""; data; RemoveChars(WECHSELN(data; LINKS(chars; 1); ""); TEIL(chars;2;999))))

;-)

VG, Boris
Anzeige
AW: Verständnisprobleme Index mit Map - konkreter
21.02.2025 18:07:41
Onur
Hi Boris,

Ich dachte, als ich deinen Beitrag las, erst mal: "Hääääh? Was meint er?"
Dann habe ich erst entdeckt, dass ich die falsche Datei gepostet hatte (die stammt natürlich NICHT von mir), nämlich die, die ich ihm zuerst als Beispiel posten wollte.
Dachte aber, das wäre zu kompliziert für das Verständnis von Lambda.
Deswegen habe ICH Eine erstellt und wollte eigenlich DIESE posten:
https://www.herber.de/bbs/user/175922.xlsx

Gruß
Onur
Anzeige
AW: Verständnisprobleme Index mit Map - konkreter
21.02.2025 18:49:03
{Boris}
Jetzt wird auch ein Schuh draus. Hatte mich schon gewundert ;-)

VG, Boris
AW: Verständnisprobleme Index mit Map - konkreter
21.02.2025 17:08:15
Onur
"hast du ein aufrufbares Archiv mit den Besten files oder woher kriegst du immer so gute? " ? Nöö, warum? Habe ich gerade eben als Beispiel erstellt.
AW: Verständnisprobleme Index mit Map
21.02.2025 16:10:12
Peter B.
https://www.herber.de/bbs/user/175914.xlsx
Habe jetzt meine Zweite aussage nochmal ergänzt, ich glaube, dass dort meine Frage verständlicher ist.

Hoffe das hilft.
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18