Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1192to1196
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

Sverweis & Co.

Sverweis & Co.
Ringlstetter
Huhu Excel-Profis,
ich habe ein Problem:
Ich habe für unsere Familie das Ergebnis-eintragen unserer Uno-Spieleabende mal zu einem Excel-Event verarbeitet. Nun ist der Vater, der natürlich wieder den worst case ausprobiert hat (*grml*) auf einen Fehler gestoßen und ich weiß nicht, wie ich das hinbekommen soll.
Info:
Die Ergebnisse werden anhand einer Makro-Abfrage in eine Tabelle eingetragen und summiert. In einem weiteren Tabellenblatt werden dann die einzelnen Ergebnisse mit entsprechendem Namen, momentaner Platzierung und Lücke bis man sich den nächsthöheren Platz schnappt angezeigt. Dabei nimmt Excel alle Werte aus der Summenspalte und sortiert sie mit KGrösste. SVerweis soll mir bei der sortierten Liste, die ich ja für die Platzierungen brauche dann ausgeben, wer diese Punktzahl hat. Soweit so gut - jetzt kommen 2 Probleme.
Problem a:
Wenn es bei 2 oder mehr Leuten vorkommt, dass sie identische Werte haben, gibt SVERWEIS natürlich nur den ersten Namen aus. Soll aber ja jeden Namen ausgeben, weil es ja nunmal unterschiedliche Leute sind, die diese Punktzahl haben.
Problem b:
Mein Hirn zermatert sich, wie ich es hinbekomme, dass er in diesem Fall die jeweiligen Leute mit gleichen Punktwerte auf den entsprechenden Rang zusammenrückt.
Beispiel mit 3 Mitspielern
a hat 50 Minuspunkte
b hat 70 Minuspunkte
c hat 100 Minuspunkte
Anzeige:
1. Platz: "A" 50 Punkte
2. Platz: "B" 70 Punkte (Noch 20 Punkte)
3. Platz: "C" 100 Punkte (Noch 30 Punkte)
Alles gut. Wenn aber der Fall X eintritt:
a hat 50 Minuspunkte
b hat 50 Minuspunkte
c hat 100 Minuspunkte
1. Platz: "A" 50 Punkte
2. Platz: "A" 50 Punkte (Noch 0 Punkte)
3. Platz: "C" 100 Punkte (Noch 50 Punkte)
Zack - alles fürn A...
Das heißt: Ich will, dass erstens der richtige Name ausgegeben wird und 2. in diesem Fall (und für ein Spiel mit 8 Spielern auch^^) natürlich A und B auf Platz eins stehen und die anderen N Spieler dementsprechend 2,3,4 etc.
Ich bekomme es nicht hin..
Ich hoffe, ihr versteht, was ich meine ;)
Gruß
Kai

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Sverweis & Co.
04.01.2011 12:15:44
Josef

Hallo Kai,
lade doch (d)eine Beispieltabelle hoch, hab keine Lust mir selber die Tabelle zu stricken;-))

Gruß Sepp

AW: Sverweis & Co.
04.01.2011 12:22:57
AndreasG
für Problem a) schau mal hier:
http://www.excelformeln.de/formeln.html?welcher=28
und wenn du das gelöst hast dürfte ich b) auch erledigt haben
Grüße
Andreas
Anzeige
AW: Sverweis & Co.
04.01.2011 13:03:24
Josef

Hallo Kai,
so?

Tabelle1

 ABCDEFGHI
1RangNamePunkteLücke  Ergebnisse:  
21 Platz:Heinz10   SummeName 
31 Platz:Rudi100  50Egon 
43 Platz:Angelika2010  54Walter 
54 Platz:Peter4020  54Susi 
65 Platz:Egon5010  78Simon 
76 Platz:Walter544  10Heinz 
86 Platz:Susi540  20Angelika 
98 Platz:Simon7824  10Rudi 
10      40Peter 
11         
12         
13         
14         
15         
16         

Formeln der Tabelle
ZelleFormel
A2{=WENN(C2="";"";RANG(GANZZAHL(C2); $G$3:$G$15;1)&" Platz:")}
B2{=WENN(C2="";"";INDEX($H$3:$H$15;VERGLEICH(C2;$G$3:$G$15+ZEILE($3:$15)*10^-6;0)))}
C2{=WENN(ZEILE(A1)>ANZAHL($G$3:$G$15); "";KKLEINSTE(WENN($G$3:$G$15<>"";$G$3:$G$15+ZEILE($3:$15)*10^-6); ZEILE(A1)))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Sepp

Anzeige
AW: Sverweis & Co.
04.01.2011 15:39:23
Ringlstetter
Ja, das trifft es in etwa..der 2. Platz fehlt allerdings. *grübel*
AW: Sverweis & Co.
04.01.2011 16:12:59
Josef

Hallo Kai,
wenn es zwei erste Plätze gibt, dann gibt's normalerweise keinen zweiten.
Sonst machts du es so. In A2 schreibst du 1, in A3 schreibst du =WENN(C3="";"";WENN(GANZZAHL(C3)=GANZZAHL(C2);A2;A2+1))
und kopierst die Formel nach unten. Die Zellen formatierst du mit dem Nummernformat # "Platz:".

Gruß Sepp

Anzeige
ohne Matrixformeln
04.01.2011 13:12:41
Klaus
Hi Ringsletter,
leider hat Josef schon eine excelente Lösung gepostet während ich noch gebastelt habe ...
trotzdem nochmal meine leicht umgestrickte Tabelle ohne Matrixformeln, sondern nur mit einer bescheidenen Hilfsspalten - SVERWEIS Lösung:
https://www.herber.de/bbs/user/72907.xlsx
Grüße und viel Spaß beim UNO!
Klaus M.vdT.
AW: ohne Matrixformeln
04.01.2011 15:41:19
Ringlstetter
Nice!! So geht´s..ihr seid meine gefeierten Helden. Tausend Dank!
Danke f.d.R, aber mit weiterem Text
05.01.2011 10:43:02
Klaus
Hey Ringsletter,
erstmal danke für die Rückmeldung und freut mich, geholfen zu haben ... Aber:
Ich habe mir, genau wie Josef, die Mühe gemacht bei Gleichstand eine faire Platzverteilung (zwei zweite, kein dritter zB) zu erzeugen.
Bei Josef moniertest du eben dies als für deine Zwecke nicht funktional ... bei mir ist es "nice" :o)
Lösche die Formeln in B3:B9 und überschreibe sie mit "2.Platz, 3.Platz" usw ... um die Verdoppelung zu eleminieren. Gerade wenn Kinder mitspielen kann eben dies aber zu Unmut führen (ich will aber auch zweiter sein!).
Grüße,
Klaus M.vdT.
P.S.: @Sepp: Deine hilfsspaltenfreie Lösung ist elegant und schöner als meine, davor ziehe ich meinen virtuellen Hut! Aber vielleicht ist es ein bisschen viel, gleich mit der großen Matrix-Kanone auf einen kleinen Ranglisten-Spatzen zu schiessen ...
Anzeige
Lösung per PIVOT-Tabelle
04.01.2011 12:41:23
NoNet
Hallo Kai,
das lässt sich recht einfach per PIVOT-Tabelle lösen.
Hier im Screenshot habe ich in Spalte B die Platzierungen mit der Funktion =RANG(C2;$C$2:$C$10) ermittelt, auf deren Grundlage die PIVOT-Tabelle dann die Reihenfolge erstellt.
Hier das Layout der PIVOT-Tabelle in Schritt 3 :
Userbild
In der resultierenden PIVOT-Tabelle (Spalten E:G) habe ich noch die Zwischenergebnis und die Gesamtergebnis-Zeile ausgeblendet.
Einziges Manko : Wenn sich die Werte in der Liste (Spalte B) ändern, wird die PIVOT-Tabelle nicht automatisch aktualisiert !
Die Aktualisierung kann man jedoch per Rechtsklick auf die Pivot-Tabelle "Daten aktualisieren" erreichen oder per Ereignis-Makro im Klassenmodul des Tabellenblattes :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
ActiveSheet.PivotTables(1).PivotCache.Refresh
Application.EnableEvents = True
End Sub
Gruß, NoNet
Anzeige
AW: Lösung per PIVOT-Tabelle
04.01.2011 12:49:47
Ringlstetter
Das ist ja schonmal eine klasse Idee!!! Das werd ich gleich mal testen. Vielen Dank schonmal, ich gebe Feedback ;)
Excel2010 : Klassisches PIVOT-Layout
04.01.2011 13:01:28
NoNet
Hallo Kai,
habe gerade gesehen, dass Du mit Excel 2010 arbeitest - hier sieht die PIVOT-Tabelle etwas anders aus !
Damit Du das wie im Screenshot darstellen kannst, solltest Du per Rechtsklick auf die PIVOT-Tabelle "PivotTable-Optionen - Anzeige - Klassisches PivotTable-Layout" aktivieren !
Gruß, NoNet
AW: Excel2010 : Klassisches PIVOT-Layout
04.01.2011 15:37:17
Ringlstetter
Das ist es leider noch nicht. Zum einen bei folgendem Fall: 5 Spieler haben die gleiche Punktzahl und 3 nicht - vergibt Rang den 1. Platz 5 mal und dann den 6. 7. und 8. statt 2. 3. und 4.
Zum anderen habe ich, da auch Kinder mitspielen natürlich alles son bisserl mit Symbolen, Smileys etc. ausgeschmückt, die auf einem Siegertreppchen stehen. Mit einer Pivot Tabelle geht leider ein Stück Seele verloren. Mit anderen Worten: Funktioniert teilweise gut, jedoch nicht für alle Szenarien und paßt nicht ins Layout ;) Es muß anders gehen..ich seh schon, ich werd heute nacht schlecht träumen *g*
gruß
Kai
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige