Frage von fussbaall, 58

Excel Liste Formel?

Hallo zusamen ich habe eine Frage...Bei Excel habe ich eine Liste mit den torschützen unseres Vereines gemacht. In eine Spalte habe ich die Namen getan und in die Spalte rechts davon die Anzahl Tore der Person. Nun möchte ich eine liste machen welcher der Topscorer 2 Topscorer, etc ist. Was für eine Formel brauche ich dazu? Die Namen sind in den spalten A1-a2-a3-a4....a10. Und die Anzahl Tore in B1-b2-b3-b4....b10. Danke für eure Hilfe

Expertenantwort
von Ninombre, Community-Experte für Excel, 26

Um die Namen in einer eigenen Tabelle anzuzeigen, muss man ziemliche Klimmzüge unternehmen, v.a. wenn es gleiche Anzahlen von Toren gibt. Die einfache Variante ist tatsächlich der normale Autofilter, ggf. ergänzt mit der Formel von Oubyi (rang.gleich), damit man es direkt sieht.

Ansonsten haben sich kluge Köpfe schon Lösungen für Fußballtabellen überlegt (die funktioniert für Deinen Fall auch, aber Spalte C dann leer lassen)

http://www.excelformeln.de/formeln.html?welcher=283

Die Felder auf Zahl ohne Nachkommastellen stellen, damit die Anzeige sauber aussieht. Wichtig noch, weil der Hinweis da auf der Seite fehlt:

Die Formeln mit { }  ohne die geschwungenen Klammern eingeben und dann STRG+SHIFT+Enter drücken. Ansonsten funktioniert das nicht.

Kommentar von Oubyi ,

DH!
Wusste ich doch, dass die Formel, die ich mir zusammengestoppelt habe, auch einfacher zu gestalten ist.
Und auf die Idee, auf der "ultimativen EXCEL-Formelseite" nachzusehen, hätte ich auch kommen können.
Aber so konnte ich mal wieder etwas üben (:o).

Expertenantwort
von schmiddi1967, Community-Experte für Excel, 15

Mal eine keine Ergänzung zu dem ganzen, natürlich haben Ninombre und Oubyi dir ja schon Formeln gezeigt wie du das hin bekommst.

Ich bin jemand der auch gerne mit Makros arbeitet und möchte dir diese Möglichkeit nicht vorendhalten:

Hier das Makro, welches du mit ALT+F11 im VBA einbauen könntest. Hier wird überwacht ob etwas in Spalte B geändert wird, wenn das der Fall ist wird automatisch Spalte A und B neu sortiert.

Du kannst auch einfach in Spalte A einen neuen Namen eingeben, nur sobald du dann in Splate B die Tore einträgst wird die Tabelle neu sortiert.

Schritt 1: Mit ALT+F11 in das VBA Fenster von Tabelle1 (wenn sie so heißt) wechseln (Das musst du im Code natürlich anpassen).

Schritt 2: Folgenden Code dort eintragen

Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Intersect(Target, Range("b:b")) Is Nothing) Then
Columns("A:B").Select
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add Key:=Range("B:B" _
), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Tabelle1").Sort
.SetRange Range("A:B")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1").Select
End If

End Sub

Schritt 3: Datei als Exceldatei mit Makros (xlsm) speichern. Beim speichern musst die die folgende Frage mit NEIN beantworten und dann unten xlsm zum speichern aussuchen.

Jetzt hast du in deiner Liste die Topscorer immer oben :))

Wäre das was für dich? Falls Fragen sind immer raus damit :))

Kommentar von Oubyi ,

DH!
Kleine Ergänzung:
Mit:

Schritt 1: Mit ALT+F11 in das VBA Fenster von Tabelle1 (wenn sie so heißt) wechseln

kommst Du (meist/ immer?) in ein Allgemeines Modul und musst erst über den Projekt-Explorer in das Modul des Tabellenblattes wechseln.

Mit einem Rechtsklick auf den Tabellenreiter (unten, da wo z.B. Tabelle1 steht) und dann auf "Code anzeigen...".

kommst Du direkt ins Modul des Tabellenblattes, in das dieser Ereignis-Code unbedingt gehört, da er sonst nicht funktioniert.

Antwort
von misterstiegl, 36

Geht mit Sortieren einfacher.

https://support.office.com/de-de/article/Sortieren-von-Daten-in-einem-Bereich-od...

Antwort
von Petz1900, 36

Du brauchst doch nur die beiden Spalten markieren bis alle Spieler und Tore markiert sind.
Dann oben auf Daten klicken und dann Sortieren.

Expertenantwort
von Oubyi, Community-Experte für Excel, 34

Diese Formel in C1 und runterkopieren:

=RANG.GLEICH(B1;$B$1:$B$10;)

Klappt es?

Kommentar von Oubyi ,

Falls Du eine extra Liste haben willst, in der die Torschützen ihrem Rang nach sortiert sind, dann hätte ich da auch eine Formel für Dich. Die ist allerdings recht kompliziert geworden. Kann sein, dass man das auch einfacher hinbekommt, aber funktionieren sollte sie:

{=INDEX($A$1:$A$10;(KKLEINSTE(WENN(NICHT(ISTFEHL(SUCHEN($B$1:$B$10-ZEILE($B$1:$B$10)*0,001;KGRÖSSTE($B$1:$B$10-ZEILE($B$1:$B$10)*0,001;ZEILE(A1)))));ZEILE($B$1:$B$10));1)))}

und runterkopieren.
**ACHTUNG!**
Das ist eine Matrixformel.
Das bedeutet: Die geschweiften Klammern {} NICHT mit eingeben, sondern die Eingabe der Formel NICHT mit ENTER abschließen, sondern mit:
STRG & SHIFT & ENTER (alle drei gleichzeitig).
DAS erzeugt die { } und macht die Formel zu einer Matrixformel.

Angenommen diese Liste beginnt in der Zelle E1, dann kannst Du mit dieser Formel in F1 und runterkopieren noch die zugehörigen Tore daneben schreiben:

=INDEX($B$1:$B$10;VERGLEICH(E1;$A$1:$A$10;0))

Kommentar von Ninombre ,

Hut ab! 

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten