Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1476to1480
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

Sortieren nach Rang und separat darstellen

Sortieren nach Rang und separat darstellen
28.02.2016 20:21:56
Irish12
Ich habe eine Tabelle erstellt und auch den Rang ausgerechnet. Aber ich möchte im unteren Bereich Teile der Tabelle nach Rang sortiert darstellen, aber es gelingt mir leider nicht.
Bei Änderungen der Zahlen im oberen Bereich soll sich untern die Tabelle immer anpassen.
Meine Problemliste:
https://www.herber.de/bbs/user/103961.xlsx

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
entsprechend Rangliste per Formel sortieren
28.02.2016 21:37:06
WF
Hi,
in A24 steht:
=KKLEINSTE(K$4:K$19;ZEILE(X1))
in C24 steht die Arrayformel:
{=INDEX(B$1:B$99;KKLEINSTE(WENN((K$4:K$19=A24);ZEILE($4:$19));ZÄHLENWENN(A$24:A24;A24)))}
beide runterkopieren
Die anderen Spalten dann mit INDEX/VERGLEICH bezogen auf C24 ff
WF

AW: entsprechend Rangliste per Formel sortieren
28.02.2016 23:24:31
Irish12
Hallo WF
Erstmal vielen Dank für die prompte Antwort.
In der Spalte A 24:37 funktioniert es mit prima mit der kkleinste Formel aber in der Spalte C schreibt EXCEl #Wert. Was stimmt hier nicht?
Wie geht das mit Index/vergleich bezogen auf c 24 bitte?

Arrayfml ohne {} mit Strg-Shift-Enter eingeben
29.02.2016 06:36:22
lupo1
!

Anzeige
AW: Arrayfml ohne {} mit Strg-Shift-Enter eingeben
29.02.2016 06:42:57
Luschi
Hallo Irish12,
hier noch eine Formel die mit normaler Enter-Taste abgeschlossen werden kann für B24:
=INDEX($B$4:$B$17;AGGREGAT(15;6;ZEILE($1:$14)/($K$4:$K$17=$A24);ZÄHLENWENN(A$24:A24;A24));)
Gruß von Luschi
aus klein-Paris
PS: Die Aggregat()-Funktion steht ab Excel 2010 zur Verfügung.

AW: Arrayfml ohne {} mit Strg-Shift-Enter eingeben
29.02.2016 08:04:46
Irish12
Super - herzlichen Dank!!!

AW: Arrayfml ohne {} mit Strg-Shift-Enter eingeben
29.02.2016 10:35:03
Luschi
Hallo Irish12,
mit einem 'Super - herzlichen Dank!!!' hast Du jetzt zwar eine funktionierende Lösung,
aber Du solltest ein bischen mehr Zeit investieren, um sie auch zu verstehen.
Denn besonders diese Teilformel 'ZÄHLENWENN(A$24:A24;A24)' hat es in sich.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Arrayfml ohne {} mit Strg-Shift-Enter eingeben
29.02.2016 13:26:05
Irish12
Hallo Luschi,
ich weiß es zu würdigen und werde den Rat beherzigen!
Ich habe aber noch ein Problemchen.
Ich habe die Puntezahl nun noch von bis abgefragt und erhalte so bei geringer Punktzahl den Rang 0, was ja in Ordnung ist, wenn es nicht realisiert werden soll.
Aber in der unteren Tabelle wirft excel dann nur Fehlermeldungen raus, in der Zeile mit Rang 0.
Ich möchte aber entweder die Zeile dann ganz weglassen oder ein Leerfeld anzeigen.
Probiert habe ich im Feld A 23 die Eingabe:
Wenn=(KKLeinste(K$3:K§1&;ZEIlE(X1))=0,"";(KKLeinste(K$3:K§1&;ZEIlE(X1))
Das bringt aber auch wieder ein Fehlermedung.
Wie kann man es beser machen?

Anzeige
AW: RANG bzw. RANG.GLEICH() ermittelt keine 0 ...
29.02.2016 13:56:09
...
Hallo Irish12,
... Du musst doch lediglich z.B. in K4: =WENN(H4="";"";RANG.GLEICH(H4;$H$4:$H$17;0)) schreiben.
Und dann in A24: =WENNFEHLER(KKLEINSTE(K$4:K$17;ZEILE(A1));"") und diese Formeln nach unten kopieren.
Gruß Werner
.. , - ...

AW: RANG bzw. RANG.GLEICH() ermittelt keine 0 ...
29.02.2016 17:54:54
Irish12
Hallo Werner,
prima, die Formel in K4 hatte ich ganz genauso!
Die Formel für A24 war sehr hilfreich!
Der Rest war dann kein Problem mehr.
Merci vielmals!

AW: und die von Dir als als bekennender VBAler ...
29.02.2016 09:19:24
Dir
Hallo Luschi,
... das freut mich besonders.
Übrigens nenne ich diese spez. Formelart (nach einer längeren Diskussionsrunde u.a. auch hier im Forum) seit einigen Monaten Matrixfunktion(alität)sformel. Dazu zähle ich alle Formeln (also nicht nur spez. AGGREGAT()-Formeln), die auf Funktionen basieren, wo diese in ihrer jeweiligen Matrixversion in Kombination mit anderen Excelfunktionen eingesetzt werden und dadurch eine Matrixauswertung ermöglichen. Und dies eben auch ohne den zusätzliche spez. klassischen Formelabschluss, der Formeln durch eine {} -Klammerung als Array-Formeln kennzeichnet.
Dieser Dein hier eingebrachter Formelvorschlag lässt sich bzgl. der Auswertungsgeschwindigkeit noch etwas optimieren (auch wenn dies natürlich bei diesem im konkreten Fall noch relative kleinen Datenbereich losgelöst betrachtet, nicht wirklich spürbar bemerkbar ist):
=INDEX(B:B;AGGREGAT(15;6;ZEILE(A$4:A$17)/(K$4:K$17=A24);ZÄHLENWENN(A$24:A24;A24));)
Entscheidend hierbei ist die Eingrenzung auf einen konkreten Spaltenbereich (hier Spalte A anstelle über den gesamten Spaltenbereich) in der ZEILE()-Funktion-Formelteil.
oT: Hast Du meinen meinen Beitrag vom Samstag auf Deine Fragestellung im anderen thread schon gelesen?
Gruß Werner
.. , - ...

Anzeige
AW: und die von Dir als als bekennender VBAler ...
29.02.2016 10:29:24
Dir
Hallo Werner,
wenn man alt & hoffentlich auch ein bischen Weise wird, dann muß man auch mal über den
Vba-Schatten springen; und ich nutze Excel-Formeln immer mehr in Namensdefinitionen, um spezielle
Informationen aus dem Wertebereich zu erhalten.
Eigentlich habe ich nur WF's Matrixformel umgemünzt auf die Aggregat()-Funktion und festgestellt, daß die besondere Herausforderung dabei die Teilformel 'ZÄHLENWENN(A$24:A24;A24)' ist.
Erst wer das verstanden hat, kann Ranglisten richtig interpretieren.
Ja, ich habe mir Deine Antwort zum anderen Problem durchgelesen und leider fast nix verstanden.
Melde mich heute Nachmittag dazu nochmal - muß erst mal ein bischen Vba-Duft in die weite Welt verbreiten!
Gruß von Luschi
aus klein-Paris
PS: Auch in Vba gibt es mit 'WorksheetFunction.Aggregate' das Gegenstück, aber leider wird hier
als 3. Parameter ein Zellbereich erwartet, der keine Vergleiche in Form von Arrays zuläßt.

Anzeige
Aha (zu deinem PS), dass muss ich gleich ...
29.02.2016 10:58:26
Luc:-?
…mal ausprobieren, Luschi,
denn das würde bedeuten, dass der von euch (speziell Werner) genutzte Effekt einfach nur ein (unbeabsichtigter?) „Xl-Unfall“ ist resp allein einer Ausnahme durch die Xl-Steuerung, die bei einer WorksheetFunction natürlich nicht zV steht, geschuldet ist. Das wäre dann allerdings mit reinem VBA in Form der UDF AggregateXk kein Problem, da diese auch Datenfelder verarbeiten kann, was aber einige Arg2-Typen ausschließt.
Aber evtl muss das Datenfeld auch bereits fertig vorliegen, damit das auch per WorksheetFunction fktioniert, weil Ausdrücke (expressions) in WorksheetFunction-Fmln zu Komplikationen führen können, wenn nicht alles richtig eingebaut wird.
Was alles andere Angesprochene betrifft, halte ich mich jetzt mal zurück… ;-)
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Aha (zu deinem PS), dass muss ich gleich ...
29.02.2016 11:25:17
Luschi
Hallo Luc,
'WorksheetFunction.Aggregate' erwartet an 3. Position kein Datenfeld (Array), sondern einen Zellbereich.
Aber vielleicht findest Du etwas, wo ich drüber gestolpert bin.
viel Glück von Luschi
aus klein-Paris

Ja, du liegst völlig richtig, ...
29.02.2016 14:29:01
Luc:-?
…Luschi,
der VBE-Intellisense zeigt zwar ebenfalls Bez1 As Range (Arg3), ab Arg4 (Bez2…Bez30) nur noch die Optional-[] und in der VBE-Hilfe steht dann für Bez1 Range, ab Bez2 aber Variant und die Einschränkungs­Hinweise geben dann genau die Wirkungsweise in Xl wieder, das ist aber alles für die WorksheetFunction schlicht nicht zutreffend, mit anderen Worten gelogen. :-[
Die FehlerMeldung Objekt erforderlich ist genauso unzutreffend, denn es fktioniert auch nicht mit einem Array-Objekt wie einem Dictionary und dann wahrscheinlich auch nicht mit einer Collection. Überhaupt ist die VBE-Hilfe ziemlich schlampig erweitert worden und enthält auch noch weitere Fehler (zB beim Dictionary-Objekt). Kein Ruhmesblatt für MS!
Es ist also genau das eingetreten, was zu befürchten war — die WorksheetFunction-Interface-Pgmmierer haben genau nur das vorgesehen, was wohl der ursprüngliche Konsens war. Das war schon bei anderen XlFktt der Fall, lag hier aber stets in Bereichen, die erst durch die XL-Steuerung erweitert wurden (eigentlich skalare Argumente lassen in ZellFmln auch Datenfelder und ZellBereiche zu, als WorksheetFunction nicht). Das wäre hier dann auch zu vermuten, ist aber offensichtlich wesentlich irrwitziger. Es ist schlussendlich zumeist enttäuschend, wie auf diesem (eher stiefkind­lichem) Gebiet seit Jahren von MS pgmmiert wird…
Luc :-?

Anzeige
INDEX/VERGLEICH + Arrayformel
29.02.2016 07:32:15
WF
Hi,
dringende Empfehlung vorab: benutze NIE verbundene Zellen (A+B G+H J+K)
Formeln in D24 und E24:
=INDEX(D$4:D$19;VERGLEICH($C24;$B$4:$B$19;0))
=INDEX(E$4:E$19;VERGLEICH($C24;$B$4:$B$19;0))
formatiere beide Zellen benutzerdefiniert mit Standard;; sonst gibt's Nullen statt leer.
Formeln in G24:
=INDEX(L$4:L$19;VERGLEICH($C24;$B$4:$B$19;0))
alle runterkopieren
Eingabe Arrayformel:
Du kopierst Dir die Formel.
Dann gehst Du in die Bearbeitungszeile, löschst die {geschweiften Klammern} am Anfang und Ende und schließt ab mit GLEICHZEITIG: Strg Shift Enter (statt Enter allein). Dadurch werden diese Klammern erzeugt.
WF

Anzeige
AW: INDEX/VERGLEICH + Arrayformel
29.02.2016 08:04:03
Irish12
Hallo
herzlichen Dank für diese Lösung, es hilft mir sehr weiter!!!
Eine Kleinigkeit noch: ich habe beide Zellen benutzerdefiniert mit Standart formatiert, dennoch kommt die Null. Wie kann ich das noch vermeiden?
Die Lösung mit den verbunden Zellen benutze ich nur wegen der Optik bzw. weil die kummulierten Zahlen evtl. größer werden und mehr Platz benötigen als in der Tabelle oben. Bisher hat das beim rechnen nichts ausgemacht, da excel ja eigentlich nur auf die erste, linke Zelle zugreift. Oder ist da doch ein Unterschied?

ein himmelweiter Unterschied
29.02.2016 08:31:28
WF
Hi,
verbundene Zellen killen (fast) jede Berechnung.
Den gleichen Effekt erreicht man: Eingabe in A1 - dann A1 und B1 markieren und über Auswahl zentrieren.
Nicht Standard formatieren sondern Standard;; (Du hast die 2 Semikolons vergessen)
WF

Anzeige
Das ist NICHT der gleiche Effekt! VerbundZellen...
29.02.2016 11:06:45
Luc:-?
…lassen sich auch rechts- bzw linksbündig formatieren!
Luc :-?

der gleiche Effekt betr. Größe
29.02.2016 12:54:45
WF
.

Deine besondere Empfehlung mag hier ...
29.02.2016 11:04:03
Luc:-?
…und oftmals zutreffen, Walter,
ist in ihrer Ausschließlichkeit aber falsch, weil mit VerbundZellen auch spezielle (Berechnungs-)Probleme gelöst bzw kaschiert wdn können (im Besonderen das Problem dualer MatrixFmln, die nur quasi-1-zellig sind).
Gruß, Luc :-?
Besser informiert mit …

AW: Sortieren nach Rang und separat darstellen
28.02.2016 22:18:58
Reinhard
Danke

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige