21.02.2017, 18:10 (Dieser Beitrag wurde zuletzt bearbeitet: 21.02.2017, 18:10 von MuHA1981.)
Hallo zusammen,
ich bin neu hier und hoffe, dass mir jemand helfen kann. Folgendes Problem:
Ich habe hier eine Tabelle mit ca. 1200 Zeilen. Jede Zeile ist ein einzelner Vorgang bzw. eine Bestellung. Nun gibt es folgende Spalten: A - Artikelnummer (diese kommt häufig mehrfach vor, wenn der Artikel mehrfach bestellt wurde), B - Lieferant, C - Bestellmenge, D - Preis pro Stück
Nun will ich Excel dazu bringen, dass es aus dieser Masse an Zahlen eine Tabelle macht wo in Spalte A die Artikelnummer nur einmal steht und ab Spalte B sollen dann die unterschiedlichen Vorgänge stehen.
Ich hab da mal ein Beispiel gebaut. Ich denke, dass das nur mit VBA machbar ist. Hat da wer einen guten Ansatz?
das geht z.B. mit nur zwei Matrixfunktion(alität)sformeln die im Gegensatz zu echten Matrixformeln keines spez. Formelabschlusses bedürfen, aber wie solche "arbeiten" nur mE einfacher zu konstruieren und schneller auswertend
Bezogen auf Dein Beispieldaten so:
In A15: =WENNFEHLER(AGGREGAT(15;6;B$3:B$12/(ZÄHLENWENN(A$14:A14;B$3:B$12)=0)/(B$3:B$12>0);1);"")
und Formel nach unten ziehend kopieren.
in B15: =WENNFEHLER(INDEX($C:$E;AGGREGAT(15;6;ZEILE(C$3:C$12)/($B$3:$B$12=$A15);KÜRZEN(SPALTE(C1)/3;));1+REST(SPALTE(C1);3));"")
und Formel nach unten und rechts ziehend kopieren.
Bei 1200 Datensätzen könnten es natürlich über 6000 Formeln werden, die natürlich etwas Zeit brauchen werden.
Gruß Werner
.. , - ...
Folgende(r) 1 Nutzer sagt Danke an neopa für diesen Beitrag:1 Nutzer sagt Danke an neopa für diesen Beitrag 28 • MuHA1981
das geht z.B. mit nur zwei Matrixfunktion(alität)sformeln ...
Hallo Werner, das sehe ich nicht unbedingt so, wenn die Artikelnummern wirklich richtige Zahlen sind, braucht man für deren Auflistung kein AGGREGAT()...
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht
"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
natürlich könnte man die Auflistung der duplettenfreien Artikelnummern auch ohne AGGREGAT() mit nur einer Formel lösen (man könnte die Artikelnummern auch ganz ohne Formel mit PIVOT lösen, wäre aber hier mE ein "Stilbruch").
Für mich persönlich war/ist es aber so die einfachste Lösung (außerdem hatte ich erst vor, die ganze Tabelle anstelle mit zwei mit nur einer Formel zu lösen, was ich dann aber verworfen habe, weil so eine schnellere Auswertung möglich sein dürfte)
In Deiner Formel für Spalte C hast Du noch einen inkorrekten Bezug , so dass Du da Abweichungen von der Vorgabe hast.
(21.02.2017, 19:36)neopa schrieb: Hallo Jörg,
...
In Deiner Formel für Spalte C hast Du noch einen inkorrekten Bezug , so dass Du da Abweichungen von der Vorgabe hast.
Hi Werner, jupp habe ich später auch bemerkt, das war mit heißer Nadel gestrickt... ... nun habe ich aber keine Lust das Ganze nochmal zu ändern - das sollte {bei Interesse} der TE hinkriegen...
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht
"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
das geht z.B. mit nur zwei Matrixfunktion(alität)sformeln die im Gegensatz zu echten Matrixformeln keines spez. Formelabschlusses bedürfen, aber wie solche "arbeiten" nur mE einfacher zu konstruieren und schneller auswertend
Bezogen auf Dein Beispieldaten so:
In A15: =WENNFEHLER(AGGREGAT(15;6;B$3:B$12/(ZÄHLENWENN(A$14:A14;B$3:B$12)=0)/(B$3:B$12>0);1);"")
und Formel nach unten ziehend kopieren.
in B15: =WENNFEHLER(INDEX($C:$E;AGGREGAT(15;6;ZEILE(C$3:C$12)/($B$3:$B$12=$A15);KÜRZEN(SPALTE(C1)/3;));1+REST(SPALTE(C1);3));"")
und Formel nach unten und rechts ziehend kopieren.
Bei 1200 Datensätzen könnten es natürlich über 6000 Formeln werden, die natürlich etwas Zeit brauchen werden.
Hallo zusammen und vielen Dank für die Antworten. Im Beispiel klappt das auch ganz super. :18: Jetzt hab ich versucht, das Ganze einfach unter meine Liste, also in Zelle A1171 zu beginnen und die Formel umgebaut in:
Danke auch hierfür noch mal. Das hat super geklappt. Problem ist wohl, dass ich nicht ganz verstehe, was die Formel macht. Selbstverständlich habe ich auch gleich versucht, die zweite Formel dann in Zelle B1171 zu bauen. Leider komme ich auch hier nicht weiter. Hier mein Entwurf: