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.

Wert unter einer Zelle ausgeben
#1
Hallo zusammen, 

Ich habe zwar jetzt viele Themen durchsucht aber nichts passendes finden können. Als ich dann dieses Thema kurz beschreiben wollte, merkte welche Herausforderung es ist kurz und präzise zu formulieren was man meint.

Vielleicht kann mir jemand einen Tipp geben. 

Ich habe 3 Spalten, in der ersten sind unterschiedliche Artikel Nummern max 170 Zeilen die 2. Spalte ist leer, dort soll dann immer das Ergebnis neben der jeweiligen Artikelnummer, also die Formel rein. Die letzte Spalte hat 17500 Zeilen.
In der letzten Spalte steht in der ersten Zeile (keine Überschriften) wieder eine Artikelnummer, darunter die Menge des Lagerbestand, darunter eine Kategorienummer und die nächste Zeile ist entweder leer oder mit einem Datum befüllt. Danach beginnt die selbe Reihenfolge wieder von vorne. 
Ich benötige zu der linken Artikelnummer den passenden Lagerbestand von der letzten Spalte. 

Der Einfachheit halber schreibe ich hier nur von 3 Spalten, in Wirklichkeit sind es eigentlich 2 Tabellen aus denen ich mir zuvor die relevanten Daten kopiere und in einer Tabelle zusammenfassen. 
Das blöde ist eben dass die Daten aus der letzten Spalte aus einer XML stammen.
Ich habe jetzt schon mit SVERWEIS, XVERWEIS, WVERWEIS, INDEX, INDIRECT und weiß der kuckuck was noch herum experimentiert, leider ohne Erfolg.

Kann mir vielleicht jemand helfen? 

Vorab schon mal vielen Dank. 

Gruß Markus
Antworten Top
#2
Hi Markus,

alleine durch deine Problembeschreibung fürchte ich, dass du einen - sehr vorsichtig ausgedrückt - mehr als suboptimalen Dateiaufbau hast. Lad doch bitte mal eine Beispieldatei hoch, die vom Aufbau exakt dem entspricht, was du beschrieben hast und trage händisch dein angestrebtes Wunschergebnis ein.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Hallo Markus,

mach aus deiner Spalte mit den Blöcken von vier Zeilen eine Liste mit vier Spalten, dann kannst du darauf den XVERWEIS anwenden.

D1:  =INDEX($C:$C;4*(ZEILE()-1)+SPALTE()-3)


ps. oder (in nur zwei Zellen):

D1.:=INDEX($C:$C;SEQUENZ(17500/4;4;1;1))

dann geht in B1 anstelle des Xverweises:

B1: =WENNFEHLER(INDEX(D1#;VERGLEICH(A1:A170);INDEX(D1#;;1);0);2);"")

pps.
Da muss nichts gezogen werden

ppps.
ohne Hilfszellen ab D1:

B1: =LET(m;INDEX($C:$C;SEQUENZ(17500/4;4;1;1));WENNFEHLER(INDEX(m;VERGLEICH(B20:B23;INDEX(m;;1);0);2);""))
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#4
Die Zweite Formel von dir teilt mir die Blöcke tatsächlich auf in Spalten, wie cool ☺️ Danke Helmut. 

Günter, so wie das angehängte Bild will ich mir das später darstellen können. 
Aber ich glaub das sollte ich dann mit einer VERWEIS Funktion hinbekommen. 

Wenn ich irgendwann mal richtig in der Materie bin werde ich versuchen mir das ganze etwas einfacher zu bauen damit ich nicht immer die 17.500 Zeilen runter ziehen muss. Aber so bin ich schon mal deutlich weiter.

p.s.
Stimmt Helmut, hab ich eben erst gesehen, du hattest den gesamten Spalten Bereich ja in die Matrix aufgenommen, echt cool.
Mit WENNFEHLER muss ich noch etwas testen da fehlen noch irgendwelche Argumente.

Ich werde das morgen nochmal am PC probieren, irgendwas mach ich falsch. In jedem Fall melde ich mich wieder zurück bei dir Helmut.
Auf jeden Fall Danke ich dir für deine Unterstützung, ich finde es echt beeindruckend was du mal eben so raus haust.

Gruß Markus


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#5
Hallo Markus,

das sollte schneller sein:

=LET(m;SORTIEREN(INDEX($C:$C;SEQUENZ(17500/4;4;1;1));1);WENNFEHLER(INDEX(m;VERGLEICH(A1:A170;INDEX(m;;1));2);""))

sorry, ich habe in meiner Testdatei andere Zellen ausgewertet. Anstelle von "B20:B23" "A1:A170".
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#6
Guten Morgen Helmut, 

das funktioniert ja tatsächlich, sensationell!
Vielen Dank für deine Hilfe Helmut.
Von der LET Funktion habe ich ja zuvor noch nie etwas gehört. Ich finde das schon sehr beeindruckend, dass du mein Problem gleich verstanden hast und dann in Null komma Nix eine passende Formel parat hast.

Entschuldige wenn ich da jetzt so abschweife. 

DANKE

Gruß Markus
Antworten Top
#7
Zitat: in Wirklichkeit sind es eigentlich 2 Tabellen aus denen ich mir zuvor die relevanten Daten kopiere und in einer Tabelle zusammenfassen. 

Vermutlich könntest du die Daten auch per PowerQuery (Anleitungen auf Youtube) aus den Tabellen ziehen und aufbereiten und müsstest sie nicht erst kopieren.
Cadmus
Antworten Top
#8
Ja Cadmus,

das wäre sicherlich die schönste Lösung, aber da bin ich momentan, vom Können, noch weit entfernt.

Gruß Markus
Antworten Top


Gehe zu:


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