Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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.
Anzeige

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
Anzeige
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ß.
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige