Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Top 10 Listen - Vergleich Funktion - Mehrere Spalten als Suchmatrix
#1
Hallo, 
ich würde gerne wissen, wie man bei der Vergleich Funktion mehrere Spalten als Suchmatrix auswählen kann oder ob es eine anderen Lösungsweg gibt.

Das ganze habe ich mal zu einem Fußballbeispiel gebaut. Und zwar möchte ich in einer Tabelle die Top 10 meisten Tore in einer einzelnen Saison darstellen (Mit Angabe des Vornamen, Names und die Anzahl der Tore). 

Ich benutze zuerst KGRÖSSTE, um die 10 höchsten Werte herauszufinden.
Über die Funktion INDEX und VERGLEICH suche ich mir den dazugehörigen Vor- und Nachnamen des Spielers heraus. 
Dabei kann man bei der Suchmatrix nur zusammengehörige Spalten angeben und nicht einzelne (wie es in meinem Beispiel ist). Um das zu lösen, muss ich manuell gucken, in welcher Spalte sich der X-höchste Wert befindet und diese dann da eintragen.
-> Jetzt die Frage, geht das auch anders, ohne das ich manuell die Spalte raussuchen muss und dort eintrage?

-> Zudem unterscheidet die Funktion nicht von doppelten Werten (in der Tabelle rot markiert) und gibt bei gleicher Anzahl Toren nur einen Spieler an, auch wenn zwei unterschiedliche Spieler die selbe Anzahl haben.

Vielleicht hat ja jemand eine elegante Lösung für das Problem :) 




Arbeitsblatt mit dem Namen 'Sheet1'
BCDEFGHIJKLMNO
1Die meisten Tore in einer einzelnen SaisonErste SaisonZweite SaisonDritte Saison
2PlatzVornameNameToreVornameNameSpieleToreSpieleToreSpieleTore
31MiroslavKlose25ThomasMüller25330173219
42MiroslavKlose21ManuelNeuer300410370
53LukasPodolski20ToniKroos284337369
64ThomasMüller19MatsHummels271230242
75ThomasMüller17JeromeBoateng270281291
86ThomasMüller17BastianSchweinsteiger222224205
97LukasPodolski12BenediktHöwedes705081
108AndreSchürrle11MiroslavKlose251731253421
119ToniKroos9LukasPodolski19824122620
1210LukasPodolski8JulianDraxler16293207
13AndreSchürrle131164134
14MesutÖzil16172153
15IlkayGündogan8050111

ZelleFormel
C3=INDEX(H3:H15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B3);M3:M15;0))
D3=INDEX(I3:I15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B3);M3:M15;0))
E3=KGRÖSSTE((K3:K15;M3:M15;O3:O15);B3)
C4=INDEX(H3:H15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B4);O3:O15;0))
D4=INDEX(I3:I15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B4);O3:O15;0))
E4=KGRÖSSTE((K3:K15;M3:M15;O3:O15);B4)
C5=INDEX(H3:H15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B5);O3:O15;0))
D5=INDEX(I3:I15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B5);O3:O15;0))
E5=KGRÖSSTE((K3:K15;M3:M15;O3:O15);B5)
C6=INDEX(H3:H15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B6);O3:O15;0))
D6=INDEX(I3:I15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B6);O3:O15;0))
E6=KGRÖSSTE((K3:K15;M3:M15;O3:O15);B6)
C7=INDEX(H3:H15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B7);M3:M15;0))
D7=INDEX(I3:I15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B7);M3:M15;0))
E7=KGRÖSSTE((K3:K15;M3:M15;O3:O15);B7)
C8=INDEX(H3:H15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B8);M3:M15;0))
D8=INDEX(I3:I15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B8);M3:M15;0))
E8=KGRÖSSTE((K3:K15;M3:M15;O3:O15);B8)
C9=INDEX(H3:H15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B9);M3:M15;0))
D9=INDEX(I3:I15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B9);M3:M15;0))
E9=KGRÖSSTE((K3:K15;M3:M15;O3:O15);B9)
C10=INDEX(H3:H15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B10);K3:K15;0))
D10=INDEX(I3:I15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B10);K3:K15;0))
E10=KGRÖSSTE((K3:K15;M3:M15;O3:O15);B10)
C11=INDEX(H3:H15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B11);O3:O15;0))
D11=INDEX(I3:I15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B11);O3:O15;0))
E11=KGRÖSSTE((K3:K15;M3:M15;O3:O15);B11)
C12=INDEX(H3:H15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B12);K3:K15;0))
D12=INDEX(I3:I15;VERGLEICH(KGRÖSSTE((K3:K15;M3:M15;O3:O15);B12);K3:K15;0))
E12=KGRÖSSTE((K3:K15;M3:M15;O3:O15);B12)
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg


Angehängte Dateien
.xlsx   Beispieltabelle.xlsx (Größe: 10,59 KB / Downloads: 3)
Antwortento top
#2
Moin

Eine bescheuerte funktionierende Lösung.


Angehängte Dateien
.xlsx   clever-excel-forum_26760.xlsx (Größe: 28,67 KB / Downloads: 10)
Wir sehen uns!
... shift-del
Hinweise zu meiner Hilfe in Foren
Excel Super-Funktionen: VERWEIS(), INDEX(), WAHL()
Antwortento top
#3
Hallo, ich würde das mit Power Query (ohne Formeln) lösen. Mein Ergebnis sieht so aus..: 

+++ überarbeitet... +++

Arbeitsblatt mit dem Namen 'PQ_Vorschlag'
ABCD
210Spieler (Saison)Tore
3Miroslav  Klose (2)25
4Miroslav  Klose (3)21
5Lukas Podolski (3)20
6Thomas  Müller (3)19
7Miroslav  Klose (1)17
8Thomas  Müller (2)17
9Lukas Podolski (2)12
10Andre Schürrle (1)11
11Toni Kroos (3)9
12Lukas Podolski (1)8
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Bei Interesse poste ich die Datei...
Gruß Jörg

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antwortento top
#4
Moin Jörg,

poste deine Lösung doch bitte gleich - es gibt immer ein paar Suchende via Tante Gugl.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm,
wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antwortento top
#5
Ich habe das nicht gespeichert, weil das auch eine Übung für mich war / ist das selber eine Übung. Und ist keine vergleichbare Aufgabe... Also evtl. heute Abend...
Gruß Jörg

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antwortento top
#6
Moin Jörg,

schicke gerne deine Lösung hierein, wenn du sie nochmal zusammengebastelt bekommst. Das sieht ganz vielversprechend aus.

Besten Dank!
Antwortento top
#7
Hallo, hier kommt was schnell zusammen Geklöppeltes. Der M-Code ist nicht geschrieben und könnte zusätzlich noch optimiert werden... Hier nur mal ein Ansatz. Ohne Formeln und ohne VBA...


.xlsx   20200614_cef_PQ_Lösung.xlsx (Größe: 22,92 KB / Downloads: 4)
Gruß Jörg

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste