Riesentabellen umbauen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

hgeosand
Beiträge: 4
Registriert: Di, 15.06.2004 18:06
Wohnort: Bad Pyrmont
Kontaktdaten:

Riesentabellen umbauen

Beitrag von hgeosand »

Hallo,
ich hoffe, hier Hilfe zu bekommen, sonst sehe ich meine Masterarbeit platzen...
Zur Sache:
Ich habe hier wahlweise eine Riesentabelle mit ca. 100.000 Datensätzen oder den gleichen Inhalt in 36 einzelnen, unabhängigen Tabellen.
Die (kleinen) Tabellen haben folgenden Aufbau:

1. Spalte Datum, Format tt.mm.jj
2. Spalte Zeit, Format hh:mm:ss
3. Spalte Wert_1, Format Zahl standard
4. Spalte Wert_2, Format Zahl standard

Das Datum läuft immer über einen ganzen Monat, die Uhrzeit über 24h im 0,25-Stunden-Takt.

Was ich brauche:

Eine Datei, in der alle Montage (z.B. 0304Montag.sxc) respektive Dienstage usw. eines Monats enthalten sind. Das soll dann wie folgt aussehen:

1. Spalte Uhrzeit, Format tt.mm.jj
2. Spalte Wert_1 für 1. Montag des Monats, wobei das Tagesdatum in der ersten Zeile als Überschrift stehen sollte.
3. Spalte Wert_1 für 2. Montag des Monats
4. Spalte Wert_1 für 3. Montag des Monats
5. Spalte Wert_1 für 4. Montag des Monats
6. Spalte Wert_1 für 5. Montag des Monats (falls es den gibt), sonst

6. Spalte =MIN() der Zeile
7. Spalte =MAX() der Zeile
8. Spalte =MITTEL() der Zeile
9. Spalte =MEDIAN() der Zeile

In die zweite Tabelle der Datei soll dann noch eine Grafik, die den Bereich von B2 bis I98 (oder J98, wenn es fünf gleiche Wochentage in dem betreffenden Monat gibt) umfassen soll.

Ich habe inzwischen schon eine Menge ausprobiert; am einfachsten wäre es, mit berechneten Bezügen zu arbeiten. Das Problem dabei: wegen der Masse der Daten dauert eine Neuberechnung einer bezogenen Tabelle wie zuvor beschrieben ca. 3 Stunden, und das auf schneller Hardware (Athlon 2800+ mit 1 GByte Hauptspeicher im Rücken)

Von Hand behelfe ich mir jetzt damit, dass ich eine Tabelle für einen Monat öffne (z.B. 0303.sxc für März 2003), unter dem Namen 0303Montag.sxc speichere und dann alle Daten von Hand lösche, die nicht Montage sind. Anschließend mit Strg-X und Strg-V noch ein bisschen hin und her schieben, und schon passt's :-(

So werd ich damit nie fertig; aber jetzt die Macroprogrammierung lernen zu wollen passt zeitlich auch nicht. Ich bin für jeden Vorschlag dankbar, der mir das Leben vereinfacht...

Georg
hgeosand
Beiträge: 4
Registriert: Di, 15.06.2004 18:06
Wohnort: Bad Pyrmont
Kontaktdaten:

Beitrag von hgeosand »

Hallo Stefan,
wie ist denn das praktisch umgesetzt? (ich arbeite zugegeben nicht mit so großen Tabellen, allerdings erscheint mir die Rechenzeit extrem lang da ich mich glaube zu erinnern das ich mal ExcelTabellen hatte und dort Berechnungen durchführte, einige 10.000 Sätze mit PIII-500 256MB Windows 2000 und Rechenzeiten unter 15 min und eine Deiner Tabellen enthält doch weniger als 3000 Sätze)
Die große Tabelle enthält -rechnerisch- ca. 128.000 Datensätze zu je 8 Zellen, also knapp an eine Million gefüllte Zellen...
Wenn es helfen würde die Wochentage (halb-)automatisch zu separieren, wäre ein pragmatischer Vorschlag:
mache eine zusätzliche Spalte in die Tabelle und füge in alle Zellen der Spalte die Formel zur Wochentagsberechnung anhand des Datums ein
die zusätzliche Spalte enthält nun Werte von 1 bis 7
setze einen Autofilter und stelle ihn auf 1
markiere alle gefilterten Werte und kopiere sie in ein neues Blatt
wiederhole das mit Autofilter 2...7
Ja, das hab ich gerade probiert, geht schon mal deutlich schneller :-)
mal aus Interesse: Wie groß sind den Deine Tabellendokumente bezüglich der Dateigröße?
Die große Tabelle ca. 16 MB, die kleineren Monatstabellen (mit denen es dann auch flott geht) ca. 20 kB.
Gruß
Stephan
Georg
hgeosand
Beiträge: 4
Registriert: Di, 15.06.2004 18:06
Wohnort: Bad Pyrmont
Kontaktdaten:

Beitrag von hgeosand »

Na ja, das Problem ist nur, dass bei jeder Veränderung an einer Zelle ein Aktualisierungslauf erfolgt, der dann diese Zeit dauert.. Kannst Du Dir vorstellen, wie lange es dann braucht, ein paar Varianten bei der Auswertung durchzuspielen?

Deshalb: Ich brauche die vielen kleinen, schnellen Tabellen, um mittels Formeln in Zellen auf die Schnelle Varianten durchtesten zu können. Und das Umbauen der Tabellen muss ich irgendwie automatisieren.
Dein Tipp mit den Autofiltern hilft schon mal weiter; lästig ist die Sache aber immer noch ;-)
hgeosand
Beiträge: 4
Registriert: Di, 15.06.2004 18:06
Wohnort: Bad Pyrmont
Kontaktdaten:

Der Lösung ein Stück näher...

Beitrag von hgeosand »

Hallo Stephan,
zunächst vielen Dank für Deinen Vorschlag. Ich habe angefangen, danach zu arbeiten, ging auch ganz gut.
Nach einer Weile (3 Tabellen) wurde es mir dann aber doch wieder zu blöd:
Wofür bitteschön habe ich einen Rechner, wenn ich zigmal die gleiche Tastenfolge/Mausbewegung selbst machen soll? Alsobin ich auf die Suche gegangen...
Jetzt habe ich eine Lösung, die auf der Basis von berechneten Zellen aufsetzt:
Mit dem Befehl
=ADRESSE(Zeilen-Nr;Spalten-Nr.)
kann man jede Zelle als Textfunktion darstellen. So gibt z.B. der Befehl
=TABELLE(2;5) das Feld $E$2 aus Tabelle 1 aus; in der Ergebniszelle steht dann Tabelle1.$E$2.

Mit dem Befehl =INDIREKT(Zeile;Spalte;AbsolutJaNein;Tabellenname) kann man den Inhalt beliebiger Zellen auslesen. Schachtelt man das ineinander, ist man am Ziel :-))

Jetzt habe ich mir eine Vorlage gebastelt, mit der die Auswertung praktisch automatisch läuft.

Vielen Dank für die Denkanstöße, auch an die anderen Mithelfer.

Georg
Antworten