Calc: Auswertung über mehrere Tabellen

Hallo,
ich sitze immer noch über einer Vorlage für Wettkampfauswertung.
Für die Übersicht und saubere Trennung habe ich für jeden von zehn
Läufen eine Tabelle angelegt, in der die Ergebnisse des jeweiligen Laufs
etwa so abgelegt werden:

StartNr Vorname Name Zeit Platz Punkte
111 Bianca Brilon 1:44,98 2 20
3 Diana Deutz 1:55,41 3 16
848 Carola Celle 1:40,18 1 25
000 Anke Amrum 2:05,85 4 13

Erschwernis: die Startnummern wechseln gelegentlich, so dass die
Auswertung wohl über die Kombination von Vor- und Nachnamen erfolgen
muss (jedenfalls sehe ich keine andere Möglichkeit). Auch ist nicht
jeder Teilnehmer jedes mal dabei, bekommt also auch keine Punkte. Und
sortiert ist sowieso nichts.

Hauptziel ist eine Liste, die über die Teilnehmer die Summe aller seiner
Punkte enthält, auch wenn ein Teilnehmer über alle zehn Läufe keinen
einzigen Punkt erreicht haben sollte.

Zweites Ziel ist eine Darstellung, etwa in Kurvenform, über den Verlauf
der erzielten Zeiten, wofür man auch erst einmal die Daten aller Läufe
zusammensammeln müsste.

Ich habe schon mit SUMMEWENN() und SUMMENPRODUKT() herumgespielt, bin
aber auf keinen grünen Zweig gekommen.

Irgendwelche Ideen für beide Ziele?

Mit freundlichem Gruß Best regards
                           Boris Kirkorowicz

Hallo!

Lass mich überlegen... klar geht das- aber wie es mit Calc geht...
Am einfachsten lässt sich so etwas über objekt-orientierte Pointer- Programmierung lösen; oder Header- Sätze im ASCII- Format.

1. Datenerfassung
Erfassung/ Eingabe sämtlicher Teilnehmer nach Disziplin

2. Datenprüfung
Übernahme der Datensätze mit Kontrolle der Listen auf Eingabefehler
Auswertung der Namen zB über Summe der Buchstabenwerte im ASCII- Mode
Bianca Brilon wäre demnach
(66+73+65+78+67+65)+(66+82+73+76+79+78) = 414 + 454 = 868
Daraus folgt: der mathematische Wert für den Namen Bianca Brilon- wird einmalig vergeben und muss bei Teilname einer Disziplin in der Liste auftauchen. Tippfehler werden so eleminiert.

Diesem Wert werden nun Name, Startnummer und Werte verknüpft.
Die Liste wird daher entsprechend erweitert:
868 1 Brilon Bianca 1:44,98 2 20

der Headersatz lautet demnach:
Kennung Disziplin Name Vorname Zeit Rang Punkte
Wobei die Kennung nur einmalig vergeben werden darf! Dies ist zwar keine reine objekt-orientierte Umsetzung allerdings erheblich übersichtlicher als eine Suche nach reinen Ausgestaltungs-Objekten.

erstelle also Listen mit:
Teilnehmer
Kennung
Sport- Disziplinen
und erweitere den Headersatz nach Anforderung. Je nach deinen programmier-technischen Möglichkeiten wirst du ganz allgemeine Lösungen im unendlichen System erhalten, mit der du alle Teilnehmer und Jahrgänge hinweg analysieren kannst.

3. Datenaufbereitung
Sortierung der Daten in eine Datei/Tabelle nach Teilnehmer wo bei alle Roh-Daten prinzipiell den Wert "0" enthalten und erst durch Daten aus 2. gefüllt werden. Immer dabei an eine geeignete Datenprüfung denken. zB machen 10 Datensätze bei 9 Teilnehmern keinen Sinn.

4. Datenausgabe
Analyse der Daten

Deine Überlegungen betreffen nur 1. und 4. Ohne die Zwischenpunkte bekommst du keine sinnvolle Umsetzung hin.
Noch Fragen?

Grüsse Guido

Hallo Boris,

löst für Dich jetzt nicht das Problem, erinnert mich aber direkt an
eine typische Auswertung zu einem Sportwettkampf über eine Datenbank.
Habe ich früher auch mit Calc gemacht, bis ich es leid war, immer
wieder die Meldungen einzulesen, rumzuschieben usw. Dann habe ich mir
'ne Datenbank dazu erstellt, in der eben die Personen,
Wettkampfklassen usw. drin waren. Mit der konnte ich auch die Urkunden
anschließend ausdrucken.

Gruß

Robert

Hallo,
ich sitze immer noch über einer Vorlage für Wettkampfauswertung.
Für die Übersicht und saubere Trennung habe ich für jeden von zehn
Läufen eine Tabelle angelegt, in der die Ergebnisse des jeweiligen Laufs
etwa so abgelegt werden:

StartNr Vorname Name Zeit Platz Punkte
111 Bianca Brilon 1:44,98 2 20
3 Diana Deutz 1:55,41 3 16
848 Carola Celle 1:40,18 1 25
000 Anke Amrum 2:05,85 4 13

Eigentlich ist das ein klassischer Fall für eine Datenbank, nicht für
eine Tabellenkalkulation.

Erschwernis: die Startnummern wechseln gelegentlich, so dass die
Auswertung wohl über die Kombination von Vor- und Nachnamen erfolgen
muss (jedenfalls sehe ich keine andere Möglichkeit). Auch ist nicht
jeder Teilnehmer jedes mal dabei, bekommt also auch keine Punkte. Und
sortiert ist sowieso nichts.

Für die Kombination des Namens brauchst Du erst mal eine Hilfsspalte,
die sich auf folgender Formel ergibt:

=C2&" "&B2

Hauptziel ist eine Liste, die über die Teilnehmer die Summe aller seiner
Punkte enthält, auch wenn ein Teilnehmer über alle zehn Läufe keinen
einzigen Punkt erreicht haben sollte.

Hauptziel ist erst mal eine Liste, in der *alle* Teilnehmer *einmal*
aufgeführt sind. die Spalten dahinter dann mit den einzelnen Laufdaten
zu füllen ist das geringste Problem.

Dazu gibt es - rein in Calc - mehrere Ansätze. Am prgamtischsten ist die
reine Handarbeit:
1) kopiere die oben erwähnte Hilfsspalte aller Tabellen einfach stupide
hintereinander in eine neue Tabelle (Achtung, nur Text einfügen, keine
Formeln!), Spaltenüberschrift "Teilnehmer" (wichtig; sonst stößt man auf
einen Bug in Calc)
2) sortiere sie (Spalte Markieren => Daten => Sortieren)
3) lösche alle doppelten Einträge
3A) Erzeuge temporär eine Hilfsspalte, welche die doppelten Einträge
markiert: =WENN(A2=A1;"X";"")
3B) lösche alle Spalten mit "X"; stör Dich nicht daran, dass dadurch in
den restlichen Zeilen Fehler angezeigt werden (schließlich hast Du
gerade deren Verweisziele gelöscht)
3C) lösche die Hilfsspalte wieder

Die Spalten hinter dem Namen aka Schlüssel füllst Du dann nach dem
Prinzip (z. B. für die Startnummer von Lauf 1):

=WENN(ISTFEHLER(SVERWEIS(A2;Tabelle1.$A$2:$G$5;2;0));"";SVERWEIS(A2;Tabelle1.$A$2:$G$5;2;0))

Der vorletzte Parameter (hier "2") bezeichnet die betreffende Spaltennummer.

BTW kannst Du auch statt "$G$5" problemlos höhere Werte für Endspalte
und/oder -zeile nehmen (z. B. "$G$1000", wenn Du die Tabellenblätter
später wieder verwenden möchtest, und jetzt noch nicht weißt, wie viele
Teilnehmer das nächste mal möglicherweise kommen werden; in dem Fall
wäre es evtl. sinnvoll, ein Makro zu schreiben, welches Dir das oben
beschriebene manuelle Merging ab nimmt).

Anschließend kannst Du innerhalb dieser Gesamttabelle die Punkte
zusammen zählen, auswerten, grafisch darstellen usw., wie es Dir beliebt.

Wolfgang