Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1188to1192
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

Ranking sortiert halten

Ranking sortiert halten
Michael
Hallo Leute,
ich würde gerne über ein Makro ein Ranking stets sortiert halten. Momentan wird mein Ranking automatisch nach Werten sortiert, wenn das entsprechende Tabellenblatt, auf dem sich das Ranking befindet, angeklickt wird. Dies geschieht über "ActiveWorkbook.Worksheets("Tabellenblatt").Sort.SortFields.Clear...". Nun möchte ich, dass mein Ranking nicht nur beim Anklicken des Tabellenblattes sortiert wird, sondern automatisch. Wie müsste der Code lauten, wenn beim Speichern die Sortierung erfolgen soll. Welche weiteren Möglichkeiten gäbe es noch, die Sortierung automatisch auszulösen?
Danke und Grüße
Michael
Am einfachsten mit Formeln, also algorithmisch...
12.12.2010 03:54:57
Luc:-?
…Michael,
jede Änderung eines Ausgangswert bewirkt dann auch eine neue Rangermittlung. Wenn du das geschickt aufbaust, kannst du auch nach beliebig vielen Kriterien bewerten und dann diese Bewertung bspw mit KKLEINSTE „sortieren“.
Gruß+schöDrAd, Luc :-?
AW: Am einfachsten mit Formeln, also algorithmisch...
12.12.2010 16:28:55
Michael
Hallo Luc,
danke für Deine Antwort. Das klingt nach einer sehr guten Lösung. Ein Problem hätte ich allerdings noch. Das Ranking ist etwa so aufgebaut:
Produkt A: 10
Produkt B: 9
...
Über KKleinste kann ich wunderbar die Zahlen sortieren, wie allerdings kriege ich die entsprechenden Produktnamen dazu, so dass auch diese in der richtigen Reihenfolge (entsprechend der jeweiligen Punktzahlen) aufgeführt sind?
Anzeige
Zusätzlich noch INDEX u.VERGLEICH bemühen,...
12.12.2010 23:17:55
Luc:-?
…Michael,
dann sollte auch das klappen…
Bsp: =INDEX(A$1:A$10;VERGLEICH(KKLEINSTE(B$1:B$10;ZEILE(1:1));B$1:B$10;0))
In A1:A10 stehen hier Produkte in willkürlicher Reihenfolge, in B1:B10 das zugehörige Ranking. Mit der Formel wdn die Produkte dann in der Reihenfolge ihres Rankings aufgelistet.
Ich nehme an, dass du das deinen Gegebenheiten entsprechend umsetzen kannst…
Gruß + schöWoche,
Luc :-?
AW: Zusätzlich noch INDEX u.VERGLEICH bemühen,...
13.12.2010 01:06:18
Michael
Klappt soweit super und auch vielen Dank dafür. Ein Problem existiert allerdings noch, wenn die Rankingpunktzahl gleich hoch ist. Dann wird durch obige Formel zwei mal der gleiche Produktname ausgeworfen. Das heißt ein Produkt steht dann doppelt im Ranking, während ein anderes überhaupt nicht auftaucht. Kann ich dieses Problem auch noch in den Griff kriegen?
Anzeige
Ja, ist auch ein alter Hut und hier in...
13.12.2010 12:34:49
Luc:-?
…Variationen schon oft behandelt, Michael…
Die Rankings müssen quasi alle unterschiedl sein. Bei nominal gleichem Ranking wird ja wohl die Reihenfolge gleich sein (oder soll's dann nach Alfabet gehen?). Deshalb dürfte es reichen, einfach die Zeilennr des Rankings als Dezimalen in der Fml dem Ranking intern hinzu zu addieren, also im Bsp B$1:B$10+B$1:B$10/10^MAX(LÄNGE(ZEILE(B$1:B$10)))
Gruß Luc :-?
AW: Ja, ist auch ein alter Hut und hier in...
13.12.2010 18:30:44
Michael
Sorry, Luc, ich komme nicht ganz mit. Die Formel für die Darstellung der Produktnamen im Ranking lautet derzeit:
=INDEX($B$5:$B$14;VERGLEICH(KGRÖSSTE($C$5:$C$14;1);$C$5:$C$14;0))
In B5:B14 stehen die Produktnamen unsortiert und in C5:C14 stehen die dazugehörigen Zahlen unsortiert, nach denen gerankt werden soll. Im obigen Bespiel geht es um die Formel für den Ranglistenersten (n=1). Wo genau müsste jetzt Deine Variation in die Formeln eingebaut werden?
Danke und sorry für die Rückfrage
Michael
Anzeige
Ich hatte mich auf mein Bsp bezogen,...
13.12.2010 18:57:08
Luc:-?
…Michael,
bei dir wäre das dann C, also…
=INDEX($B$5:$B$14;VERGLEICH(KGRÖSSTE($C$5:$C$14+ZEILE($C$5:$C$14)/100;1);
$C$5:$C$14+ZEILE($C$5:$C$14)/100;0))
In der Teilfml mit B hatte ich 1x ZEILE(…) vergessen. Außerdem war das allgemein gehalten. Jetzt habe ich es speziell für deine Umsetzung verkürzt.
Gruß Luc :-?
AW: Ich hatte mich auf mein Bsp bezogen,...
13.12.2010 20:26:24
Michael
Hallo Luc,
erhalten leider beim Verwenden obiger Formel den Fehler "#Wert!". Wenn ich mir die Berechnungsschritte anzeigen lasse, erhalte ich den Fehler "#Wert!" direkt bei der Interpretation von $C$5:$C$14 (siehe Anhang). In $C$5:$C$14 stehen die Punktzahlen zu den Produktnamen in $B$5:$B$14. Was mach ich falsch?
Userbild
Grüße
Anzeige
Hatte das nicht schon fktt? Naja, wird wohl...
13.12.2010 22:40:09
Luc:-?
…mein Fehler sein, Michael;
schreib in der 1.Fml einfach nur 2mal +ZEILE(C5)/100. Das andere ist eher was für 'ne MatrixFml…
Gruß Luc :-?
Kommando zurück! MatrixFml muss sein wg...
13.12.2010 23:13:55
Luc:-?
…+ZEILE(…), Michael,
also alles so lassen und erste Fml als MatrixFml abschließen ([Strg]+[Umsch]→[Enter]), dann diese nach unten ziehen.
Gruß Luc :-?
AW: Kommando zurück! MatrixFml muss sein wg...
14.12.2010 00:28:55
Michael
Herzlichen Dank, Luc!
Funktioniert einwandfrei!
Nochmals danke und Grüße
Michael
Bitte sehr! ;-) Gruß owT
14.12.2010 02:45:52
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige