Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1512to1516
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mehrfach Werte sortiert aus Matrix auslesen

Mehrfach Werte sortiert aus Matrix auslesen
23.09.2016 02:59:54
Stefan
Ich habe eine Matrix (12 Spalten 2000 Zeilen) die aus vielen Artikelnummern in Textform besteht.
Ich möchte nun eine Liste automatisch erstellen, die alle in der Matrix vorkommenden Artikelnummern aufsteigend sortiert ausgibt. Die Krux besteht darin, dass die Artikelnummern in der Matrix mehrfach vorkommen können, aber in der Liste nur einmal erscheinen sollen. Mit den mir bekannten Lösungen mit kkleinste oder Zählenwenn/Vergleich/Index krieg ich das nicht hin.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wenn Formellösung, dann mit AGGREGAT() ...
23.09.2016 08:22:58
...
Hallo Stefan,
... wenn auch die VBAler hier wohl berechtigt sagen, dass dies mit VBA schneller gehen würde.
Für die Formellösung bedarf es zweier AGGREGAT()-Formeln (der besseren Übersichtlichkeit halber, sonst würde es eine Formel reichen), die dann den PC möglicherweise etwas ins Schwitzen bringen könnten.
Nachfolgend zeige ich Dir die erste Formel auf, auf die die Daten in einer Spalte "einsammelt".
Da ich annehme, dass es eher eine einmalige Angelegenheit ist, kannst Du die so ermittelte Datensammlung einfach durch ihre Werte ersetzen und danach diese mit den Standardfunktionen "Duplikate entfernen" und "Sortieren" schnell bearbeiten und so das Wunschergebnis ermitteln.
Die "Sammelformel" würde für die Daten (hier angenommen in Spalte A:L) so aussehen:
In einer Zelle außerhalb des Datenbereiches:
=WENNFEHLER(INDEX($A:$L;REST(AGGREGAT(15;6;(ZEILE(A$2:A$2000)+SPALTE(A2:L2)*10000)/(A$2:L$2000"");ZEILE(A1));10000);KÜRZEN(AGGREGAT(15;6;(ZEILE(A$2:A$2000)+SPALTE(A2:L2)*10000)/(A$2:L$2000"");ZEILE(A1))%%;));"")
Diese Formel weit genug nach unten ziehend kopieren (also max 32000 Zeilen)
Wenn es von Interesse sein sollte, kann ich auch die Datensortierung mit einer AGGREGAT()-Formel noch vornehmen. Dann allerdings erst später, weil ich gleich erst einmal offline gehen werde. Aber ich geh eh davon aus, dass Du eine VBA-Lösung bevorzugen wirst.
Gruß Werner
.. , - ...
Anzeige
AW: wenn Formellösung, dann mit AGGREGAT() ...
23.09.2016 10:28:03
Daniel
Die Frage ist, ob hier nicht sogar die rein manuelle Bearbeitung schneller gehen würde als die Formel:
1. in die nächste Freie Spalte (z.B. Spalte N) folgende Formel:
hier für den Fall, dass keine Überschrift vorhanden ist und die Daten ab Zeile 1 beginnen, Formel ist für Zeile 1 und muss bis Zeile 24000 eingefügt werden:
=Index(A:L;Ganzzahl((Zeile()-1)/12)+1;Rest(Zeile()-1;12)+1)
2. Spalte Kopieren und als Wert einfügen
3. Spalte sortieren
4. Funktion DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN auf die Spalte anwenden.
Gruß Daniel
AW: wenn Formellösung, dann mit AGGREGAT() ...
23.09.2016 12:20:38
Stefan
Danke für die Vorschläge
Die Ermittlung der vorkommenden Artikelnummern muss dynamisch sein. Die Matrix ist Anfangs Jahr leer. Mit jedem neuen Verkaufs-Auftrag füllt sich eine Zeile der Matrix mit 1-max 12 für diesen Auftrag verwendeten Artikelnummern (und deren Stückzahlen. Wenn ich die Liste der vorgekommenen Artikelnummern habe, kann ich dann die verkauften Stückzahlen dazu einsammeln und aufsummieren. Diese Formel habe ich schon kreiert)
Die gewünschte Artikelnummern Liste soll also aufsteigend sortiert, die verwendeten (verkauften) Artikelnummern liefern. VBA Lösung wäre auch möglich. Dann mach ich einen Makro Button zum auslösen der Aktualisierung.
Anzeige
AW: wenn Formellösung, dann mit AGGREGAT() ...
23.09.2016 12:49:40
Daniel
Hi
dann würde es sich aber empfehlen, eine einspaltige Liste (bezogen auf die Artkelnummern) zu generieren.
die könntest du dann mit Hilfe der Pivottabelle schnell und einfach auswerten.
das würde sich bei der Datenmenge eher anbieten.
Gruß Daniel
PS in diesem Forum sind wir etwas altmodisch und mögen Höflichkeitsformen wie Anrede und Gruß.
AW: eine einfache Lösung ohne Formel /ohne VBA ...
26.09.2016 19:50:52
...
Hallo Stefan,
... wäre mit dem von MS auch für Excel 2010 angebotenen Zusatztool PowerQuery möglich.
Mit diesem Tool sind nur wenige Mausklicks notwendig um genau das von Dir angestrebte zu erreichen.
Nur bei Datenänderung müsstest Du eine Aktualisierung der mit dem Tool erzeugten Auswertung vornehmen. Dazu ist auch nur ein Mausklick notwendig.
Gruß Werner
.. , - ...
Anzeige

323 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige