Frage von MrJxL,

MS Excel: Rang mit Namen statt Zahlen ??

Hallo, ich möchte es hinbekommen, dass Excel mir den Rang von Punktezahlen erstellt. Jedoch möchte ich, dass Excel statt 1,2,3... mir die Namen der Personen anzeigt, die diese Punktezahl erreicht haben ? Wie geht das ? Danke

Antwort von Iamiam,

Wahrscheinlich musst Du für derartige Operationen den Text in Zahlenwerte umwandeln. Das gibt Bandwürmer, -was xl aber nicht stört- und differenziert auch nur bis zum 6.Buchstaben (weil xl "nur" auf 15 Stellen genau rechnet). kopiere nach zB J1 die Formel
=CODE(LINKS(A1))
+WENNFEHLER(CODE(TEIL(A1;2;1)) * 10^-3;0)
+WENNFEHLER(CODE(TEIL(A1;3;1)) * 10^-6;0)
+WENNFEHLER(CODE(TEIL(A1;4;1)) * 10^-9;0)
+WENNFEHLER(CODE(TEIL(A1;5;1)) * 10^-12;0)
+WENNFEHLER(CODE(TEIL(A1;6;1)) 10^-15;0)

oder - fürs alte xls:

=CODE(LINKS(A1))
+WENN(ISTFEHLER(CODE(TEIL(A1;2;1)));0;CODE(TEIL(A1;2;1)) * 10^-3)
+WENN(ISTFEHLER(CODE(TEIL(A1;3;1)));0;CODE(TEIL(A1;2;1)) * 10^-6)
+WENN(ISTFEHLER(CODE(TEIL(A1;4;1)));0;CODE(TEIL(A1;2;1)) * 10^-9)
+WENN(ISTFEHLER(CODE(TEIL(A1;5;1)));0;CODE(TEIL(A1;2;1)) * 10^-12)
+WENN(ISTFEHLER(CODE(TEIL(A1;6;1)));0;CODE(TEIL(A1;2;1)) * 10^-15)

daneben, nach K1 setzt Du die Formel:
=RANG(J1;J:J;1)

Mit vermutlich etwas Unsicherheit ließe sich vllt noch eine 7. Stelle auswerten (intern soll xl auf 18 Stellen genau rechnen, hab das aber nicht ausprobiert.
Jedenfalls kannst Du Schubert von Schuberer nicht unterscheiden, ebensowenig Schmidt-Schulze von Schmidt-Schnauze. Mit dem Faktor 2^8 = 256 anstelle 10^3 ließen sich evtl noch 2 Stellen dazugewinnen. Für noch mehr müsste man über Ersetzungstabellen gehen. Der benötigte Codebereich lässt sich nicht verringern, da das
Leerzeichen 32 und das
ß 223 hat, aber eine Ersetzungstabelle müsste mit 32 Zeichen (26 fürs Alphabet incl. j und 3 Umlaute, dazu Leerzeichen und ß =31). Damit müsste das dann bis 11 Zeichen erweiterbar sein.

Kommentar von Iamiam,

treten mehrere gleiche Rangzahlen auf, muss manuell nachgebessert werden, indem man dann =Rang(...)+1 bzw -bei 3 gleichen- Rang(...)+2 setzt (die folgenden Ränge sind ja dann nicht besetzt).
Feststellen kann man das, indem man einfach in einer Zusatzspalte gleiche Ergebnisse zählt::
=Zählenwenn(K:K;K1)-1 (und runterziehen) ergibt 0 bei nur einem Eintrag und 1 mehr für jede Wiederholung der Rangzahl.

Kommentar von Iamiam,

Da kommt mir gerade: warum sortierst du die Namen nicht alphabetisch steigend und nimmst die Zeilennummer-x? Das wäre doch das einfachste (fällt mir auch erst jetzt ein!)

Kommentar von Iamiam,

jetzt hab ich deine Frage nur oberflächlich gelesen und deshalb gründlich missverstanden. Sorry, ich werde jetzt erst mal einkaufen und mich dann um eine neue Lösung kümmern, die wird gar nicht so schwer, soweit ich das jetzt absehe!

Kommentar von Iamiam,

Da Du Deine Blatt-Anlage nicht beschrieben hast, musst Du eben die meinige nachvollziehen. Ich habe in einem kleinen Demo-Feld 6 Namen mit zugehörigen Punkten. Daneben der Rang, wie Du vermutlich auch. Bei Punktgleichheit vergibt Rang aber hier 3 zweite, dafür keinen 3. und 4. Platz, sowie wieder 2 fünfte und keinen 6.
Es ergibt sich also das Problem, dass Rang 2 mehrdeutig ist, womit xl nichts anfangen kann (nur ein Ergebnis liefert.)
Deshalb habe ich eine erweiterte Rang+-Definition zusätzlich eingeführt. Dadurch werden die Ränge in eine eindeutige Reihenfolge gebracht und es können jetzt Namen zugeordnet werden.

0▁▁A ▁▁▁|▁▁B ▁▁▁▁|▁▁C ▁▁|▁▁D ▁▁▁|▁▁E▁▁▁▁|▁▁F▁▁▁▁|
1 Name ▁|▁Punkte ▁|▁Rang▁|▁Rang+▁|▁Rang ↓ ▁|▁Name▁▁|
2 Anton ▁|▁ ▁333▁▁▁|▁5 ▁▁▁|▁5,00▁▁|▁▁1,00▁▁▁|▁Berta▁▁|
3 Berta ▁|▁ ▁666▁▁▁ |▁1 ▁▁▁|▁1,00▁▁|▁▁2,00▁▁▁|▁Cäsar▁▁|
4 Cäsar ▁|▁ ▁555▁▁▁|▁2 ▁▁▁|▁2,00▁▁|▁▁2,01▁▁▁|▁Einar▁▁|
5 Daisy ▁|▁ ▁333▁▁▁|▁5 ▁▁▁|▁5,01▁▁|▁▁2,02▁▁▁|▁Franz▁▁|
6 Einar ▁|▁ ▁555▁▁▁|▁2 ▁▁▁|▁2,01▁▁|▁▁5,00▁▁▁|▁Anton▁▁|
7 Franz ▁|▁ ▁555▁▁▁|▁2 ▁▁▁|▁2,02▁▁|▁▁5,01▁▁▁|▁Daisy▁▁|

Formel in C2: =RANG(B2;$B$2:$B$7;0)
Formel in D2: =RANG(B2;$B$2:$B$7;0)+(ZÄHLENWENN($C$2:$C2;C2)-1)*0,01
Formel in E2: =KKLEINSTE($D$2:$D$7;ZEILE(D2)-ZEILE($E$1))
Formel in F2: =INDEX($A$2:$A$7;VERGLEICH(E2;$D$2:$D$7;0);1)
alle runterkopieren bis zum letzten Namen.
Achtung: $E$1 gehört zur Formelanlage und muss beim Verschieben des Blocks mitverschoben werden!
Anstelle des Ausdrucks ZEILE(D2)-ZEILE($E$1) kann auch ein Bezug auf eine Liste von 1...6 stehen, welche KKleinste(..;1..6) definiert.

Antwort von peterklaus57,

http://www.online-excel.de/excel/singsel.php?f=95 in der Richtung läuft die Lösung Deines Problems.

Keine passende Antwort gefunden?

Fragen Sie die Community