Seite 1 von 1

(Fußball-)Ergebnis aus einer Zelle extrahieren - Meinungen?

Verfasst: Mo 26. Mär 2012, 14:00
von Th0mas
Hallo,

die Zelle A1 hat folgenden Inhalt:
24.03.2012 15:30 FC Bayern München : Hannover 96 3:1

Ich möchte nun das Ergebnis auswerten, sodass in B1 die Zahl 3 und in C1 die Zahl 1 steht. In einer einfachen Form könnte man das wohl mit einer kleinen Verschachtelung der Funktionen RECHTS und LINKS anstellen, allerdings kann ein Ergebnis auch zweistellig sein, was die Komplexität erhöht.
Nach langem Herumprobieren und Recherchieren habe ich mir bisher diese beiden, leider recht langen, Formeln zusammengestellt:
Zelle C1:

Code: Alles auswählen

=WENN(ISTZAHL(1*RECHTS(GLÄTTEN(A1);2));WENN(VORZEICHEN(1*RECHTS(GLÄTTEN(A1);2))>0;1*RECHTS(GLÄTTEN(A1);2);1*RECHTS(GLÄTTEN(A1);1));1*RECHTS(GLÄTTEN(A1);1))
Zelle B1:

Code: Alles auswählen

=WENN(LÄNGE(C1)=1;WENN(ISTZAHL(1*LINKS(RECHTS(GLÄTTEN(A1);4);2));1*LINKS(RECHTS(GLÄTTEN(A1);4);2);1*LINKS(RECHTS(GLÄTTEN(A1);3);1));WENN(ISTZAHL(1*LINKS(RECHTS(GLÄTTEN(A1);5);2));1*LINKS(RECHTS(GLÄTTEN(A1);5);2);1*LINKS(RECHTS(GLÄTTEN(A1);4);1)))
Da das Ergebnis inkl. Begegnung usw. aus einem Tipp-Forum einfach kopiert wird, habe ich versucht, diverse "Eingabefehler" auszugleichen - überflüssige Leerzeichen zwischen und nach dem Text, andere Trennzeichen (statt ":" vielleicht "-" oder ein Gedankenstrich). Die Formeln oben funktionieren soweit gut, die untere Formel stößt jedoch an ihre Grenze, sobald Leerzeichen zwischen Zahl und Trennzeichen auftauchen oder ein Leerzeichen vor dem Ergebnis fehlt und zugleich das Ende des Vereinsnamens eine Zahl ist (Hannover 96, Schalke 04), was aber im Tippspiel bisher nicht vorkam.

Was haltet ihr von diesen Formeln? Kann man sie bei gleicher Funktion kürzer schreiben?
Was würdet ihr daran verbessern oder würdet ihr gar einen ganz anderen Ansatz wählen?

Re: (Fußball-)Ergebnis aus einer Zelle extrahieren - Meinung

Verfasst: Mo 26. Mär 2012, 15:18
von karolus
Hallo
Ich würde die Zelle Zelle schlicht mit →Daten→Text in Spalten in geeineter Weise aufsplitten
oder
mir ein kleines Python-script schreiben das mir den Zellinhalt entsprechend aufteilt.

Karo

Re: (Fußball-)Ergebnis aus einer Zelle extrahieren - Meinung

Verfasst: Mi 28. Mär 2012, 10:15
von Th0mas
Gut, ich hätte vielleicht dazuschreiben sollen, dass i. d. R. alle Begegnungen mit Tipps als Block reinkopiert werden, z. B.:
23.03.2012 20:30 VfL Wolfsburg : Hamburger SV 2:1
24.03.2012 15:30 SV Werder Bremen : FC Augsburg 1:1
24.03.2012 15:30 1. FSV Mainz 05 : Hertha BSC 1:3
24.03.2012 15:30 FC Bayern München : Hannover 96 2:1
24.03.2012 15:30 Sport-Club Freiburg : 1. FC Kaiserslautern 2:0
24.03.2012 15:30 M'gladbach : 1899 Hoffenheim 1:2
24.03.2012 18:30 FC Schalke 04 : Bayer 04 Leverkusen 2:0
25.03.2012 15:30 VfB Stuttgart : 1. FC Nürnberg 1:0
25.03.2012 17:30 1. FC Köln : Borussia Dortmund 1:6
Mittels Textimport bzw. Text in Spalten wird das nicht gehen, da die Zeilen unterschiedlich lang sind? Zumindest habe ich damit ein wenig herumprobiert und bin zu keinem sinnvollen Ergebnis gekommen.

Mit Makros möchte ich ungern arbeiten, da damit die Kompatibilität leidet, z. B. hinsichtlich Excel - Formeln dagegen werden, soviel ich gelesen habe, von beiden Programmen verstanden.

Na ja, ich denke, ich werde die obigen Formeln so beibehalten, die meisten Fehlerfälle werden ja abgedeckt und andere Dinge wie kein Leerzeichen zwischen Ergebnis und Begegnung sind in Sonderfällen ("[...]Hannover 962:1") mit Programmen/Formeln wohl eh nur unter bestimmten Annahmen (z. B. zweistelliges Ergebnis <20) zu lösen.

Re: (Fußball-)Ergebnis aus einer Zelle extrahieren - Meinung

Verfasst: Mi 28. Mär 2012, 12:30
von karolus
Hallo

1. →Bearbeiten→Suchen und ersetzen:
  • Suche:
    ^(.{16}) (.+) ([0-9]*) ?: ?([0-9]*)$
    ersetzen durch:
    $1@$2@$3@$4
    mit den Optionen:
    [x]regulärer Ausdruck
    [x]nur in Selektion
2. →Daten→Text in Spalten:
  • →Trennzeichen→Andere: @
voila

edit:
Alternativ gehts auch mit zwei übersichtlichen Formeln:
Toranzahl der Heimmannschaft:

Code: Alles auswählen

=WERT(LINKS(TEIL(A1;SUCHEN("[0-9:]+$";A1);9);FINDEN(":";TEIL(A1;SUCHEN("[0-9:]+$";A1);9))-1))
Toranzahl der Gastmannschaft:

Code: Alles auswählen

=WERT(TEIL(A1;SUCHEN("[0-9]+$";A1);3))
Karo