Letztes Spieldatum und -stände aus Liste finden
#1
Liebe Forenuser,
 
für meinen Lieblingsverein führe ich regelmäßig "Statistik" und schreibe mir alle Ergebnisse (mit Datum, Gegner, Heim/Auswärts, Sieg oder Niederlage und die Tordifferenz in verschiedenen Spalten) mit -> siehe Anhang als Beispiel.
 
Da sich hier nun über die letzten Jahrzehnte viele Tausend Einträge akkumuliert haben, frage ich mich, wie ich mir aus der kompletten Liste in einer separaten Zelle den „letzten Sieg“ bzw. „die letzte Niederlage“ gegen ein bestimmtes Team als Datum ausgeben kann. Dazu müsste man wohl (i) die Liste nach dem entsprechenden Gegner durchsuchen (ii) schauen, ob es sich um Sieg oder Niederlage handelte und (iii) das letztmögliche Datum finden das (i) und (ii) vereint.
 
Zusätzlich würde mich interessieren, ob jemand eine Lösung kennt, wie man aus der gleichen Liste in einer separaten Zelle auch das Datum bzw. Ergebnis der höchsten Niederlage bzw. Sieges gegen ein bestimmtes Team ausgeben lassen kann.
 
Beachte, dass für beide Fälle diese Suche nicht einmalig erfolgen soll, sondern sich die Liste ja weiterhin permanent verlängert und die ausgegebenen Lösungen sich daher ändern / aktualisieren können muss.

Besten Dank und Grüße,
Christian


Angehängte Dateien
.xlsx   Example last win.xlsx (Größe: 11,88 KB / Downloads: 15)
Antworten Top
#2
Moin!
Formel aus H2 nach rechts und unten ziehen:
ABCDEFGHIJ
1DatumTeamH/AResultGoal diff.WinDrawLoose
201.01.2015DevilsHWin5Tigers05.10.2109.03.23
305.03.2017AngelsHDraw0Angels10.04.2405.03.17
406.08.2017TigersALoose-2Devils01.01.1502.10.2001.05.25
507.09.2018TigersHLoose-3
601.01.2020DevilsALoose-6
702.10.2020DevilsADraw0
805.10.2021TigersHDraw0
907.11.2022DevilsALoose-6
1005.03.2023AngelsHWin2
1109.03.2023TigersALoose-8
1210.04.2024AngelsAWin2
1301.05.2025DevilsHLoose-3

ZelleFormatWert
H2TT.MM.JJ;;00:00:00

ZelleFormel
H2=MAXWENNS($A$2:$A$100;$D$2:$D$100;H$1;$B$2:$B$100;$G2)

Kann man übrigens auch ohne Formeln per Pivot lösen

Gruß Ralf


Angehängte Dateien Thumbnail(s)
   
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Hi,

letzter "win" (wenn in H1 "win" steht):
=WENNFEHLER(MAX(FILTER($A$2:$A$13;($B$2:$B$13=$G2)*($D$2:$D$13=H$1)));"---")

Goal Diff highest win:
=WENNFEHLER(MAX(FILTER($E$2:$E$13;($B$2:$B$13=$G2)*($D$2:$D$13="Win")));"---")

Goal Diff highest lose:
=WENNFEHLER(MIN(FILTER($E$2:$E$13;($B$2:$B$13=$G2)*($D$2:$D$13="Loose")));"---") wobei es eigentlich "lose" heißen müsste!

Date highest win (in O2 steht die Formel von Goal Diff highest win, die -1 sorgt dafür, dass bei mehreren höchsten "win" der letzte Eintrag ausgegeben wird):
=WENNFEHLER(XVERWEIS(O2&$G2;$E$2:$E$13&$B$2:$B$13;$A$2:$A$13;;;-1);"---")

Und das Datum des letzten win/draw/lose kann man ganz easy auch mit einer Pivot ermitteln (ev. geht das auch mit diff / Datum diff)
"Team" in Zeilen, "Result" in Spalten und "Datum" in Werte. "Datum" in den Wertfeldeinstellungen auf "Max" umstellen.
Gruß,
Helmut

Win11 - Office365 / MacOS - Office365
Antworten Top
#4
Hi

ich mach dir mal einen Basis-Formel, mit der du mit wenigen Variationen die verschiedenen Ergebnisse ermitteln kannst.

PHP-Code:
=LET(
a;$A$2.:.$E$9999;
b;FILTER(a;(SPALTENWAHL(a;2)="Tigers")*(SPALTENWAHL(a;4)="Win");{"x";"x";"x";"x";"x"});
c;SORTIEREN(b;1;-1);
INDEX(c;1;1))

das Prinzip ist, dass die Liste (a) zunächst nach der Mannschaft und nach der Ergebnisart (Win, Loose, Draft) gefiltert wird (b)
dann wird die Liste sortiert, so dass der gewünschte Wert oben steht © und am Schluss gibt man das gewünschte Ergebnis aus.

die gezeigte Formel zeigt die Lösung für den letzten Sieg, dh es wird nach Win gefiltert und diese Liste nach Datum (Spalte 1) absteigend sortiert (-1), so dass der letzte Sieg in der Liste oben steht.

wenn du das Datum mit dem höchsten Sieg haben willst, musst du nach der Spalte mit dem Ergebnis (E/5) absteigend sortieren und das Datum als Ergebnis ausgeben, das wäre dann: ... c;Sortieren(b;5;-1);...
ausgeben tust du dann trotzdem das Datum: ...Index(c;1;1)...
wenn du den Wert des höchsten Sieges sehen willst, dann gibst du bei gleicher Sortierung eben den Wert aus: ...Index(c;1;5)...

für die höchste Niederlage musst du dann die Sortierrichung umdrehen: ...c;Sortieren(b;5;1)...

Gruß Daniel
Antworten Top
#5
Hallo Daniel,

wenn O2021 beim TO stimmt dann kennt das die Funktion SPALTENWAHL() noch nicht. Das geht erst ab O2024.

Gruß Uwe
Antworten Top
#6
dann ersetze SPALTENWAHL durch INDEX
funktioniert, solange man nur eine Spalte benötigt, genauso
oder definiere dir die einzelnen Spalten ebenfalls als Variable.
Antworten Top
#7
Es gibt noch das Problem mit dem .:. Da ist O2021schon recht eingeschränkt unterwegs. Was aber klappt ist dies einzeln in Variablen packen und via WAHL(SEQUENZ)) dies zusammenschrauben.

Mal ein Schnellschuss für die 1. 6 Spalten: 
Code:
=LET(
    xA;$A$2:$E$13;
    xB;WENNFEHLER(MAX(FILTER(INDEX(xA;;1);(G2=INDEX(xA;;2))*(INDEX(xA;;4)="Win")));"-");
    xC;WENNFEHLER(MAX(FILTER(INDEX(xA;;1);(G2=INDEX(xA;;2))*(INDEX(xA;;4)="Draw")));"-");
    xD;WENNFEHLER(MAX(FILTER(INDEX(xA;;1);(G2=INDEX(xA;;2))*(INDEX(xA;;4)="Loose")));"-");
    xEm; FILTER(xA; INDEX(xA;;2)=G2);
    xE;MAX(FILTER(INDEX(xEm;;1); INDEX(xEm;;5)=MAX(INDEX(xEm;;5))));
    xFm; FILTER(xA; INDEX(xA;;2)=G2);
    xF;MAX(FILTER(INDEX(xEm;;1); INDEX(xEm;;5)=MAX(INDEX(xEm;;5))));
    WAHL(SEQUENZ(1;6);xB;xC;xD;"";xE;xF)
)
Das als Matrix 2-dimensional auszugeben ist in O2021 LTSC problematisch. Deshalb mit runterziehen.

Gruß Uwe
Antworten Top
#8
Vielen Dank an alle, das hat wirklich sehr gut geklappt. Ich habe die Lösungen von Ralf und Helmut eingebaut und die funktionieren Einwandfrei.
 
Wenn ich hier gleich noch einen Zusatz nachschieben kann, würde mich interessieren, ob es auch möglich ist nach „Serien“ zu suchen / filtern. Also zB. #meiste Siege in Folge. Nicht alle Serien müssten dann aber in der Tabelle direkt untereinanderstehen, denn wenn ich nach #meiste Heimniederlagen in Folge gegen Team XY suche, können ja dazwischen auch viele weitere Einträge vorhanden sein. Als Ausgabe wäre die Anzahl der Ereignisse einerseits und der Beginn und das Ende der Serie als Datum andererseits wünschenswert.
 
Nochmals besten Dank!
 
PS. Das Thema Pivot ist mir neu (und interessant) würde ich aber erstmal versuchen auszuklammern (Nicht zuletzt da meine Megamatrix einige Leerzeilen hat etc).
Antworten Top
#9
Komplette Formel in H2:
Code:
=LET(
    xA;$A$2:$E$13;
    xB;WENNFEHLER(MAX(FILTER(INDEX(xA;;1);(G2=INDEX(xA;;2))*(INDEX(xA;;4)="Win")));"-");
    xC;WENNFEHLER(MAX(FILTER(INDEX(xA;;1);(G2=INDEX(xA;;2))*(INDEX(xA;;4)="Draw")));"-");
    xD;WENNFEHLER(MAX(FILTER(INDEX(xA;;1);(G2=INDEX(xA;;2))*(INDEX(xA;;4)="Loose")));"-");
    xEm; FILTER(xA; INDEX(xA;;2)=G2);
    xE;MAX(FILTER(INDEX(xEm;;1); INDEX(xEm;;5)=MAX(INDEX(xEm;;5))));
    xFm; FILTER(xA; INDEX(xA;;2)=G2);
    xF;MAX(FILTER(INDEX(xEm;;1); INDEX(xEm;;5)=MAX(INDEX(xEm;;5))));
    xG;MAX(FILTER(INDEX(xA;;5);INDEX(xA;;2)=G2));
    xH;MIN(FILTER(INDEX(xA;;5);INDEX(xA;;2)=G2));
    WAHL(SEQUENZ(1;9);xB;xC;xD;"";xE;xF;"";xG;xH)
)
Dies sollte in O2021 funktionieren.

.xlsx   Example last win.xlsx (Größe: 13,42 KB / Downloads: 6)

Gruß Uwe
Antworten Top
#10
Eine Möglichkeit mit Power Query.


Angehängte Dateien
.xlsx   PQWINLOSEDRAW.xlsx (Größe: 19,25 KB / Downloads: 9)
[-] Folgende(r) 1 Nutzer sagt Danke an Chappy für diesen Beitrag:
  • Jockel
Antworten Top


Gehe zu:


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