Wie automatisiert viele Tabellen bearbeiten?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

freak1
**
Beiträge: 23
Registriert: Di, 27.09.2005 09:32

Wie automatisiert viele Tabellen bearbeiten?

Beitrag von freak1 »

Hallo!

Ich bin ziemlich neu bei Tabellenkalkulation und bin grad mit dem folgenden bescgäftigt:

Ich entwerfe ein Modell, aus dem der Anteil der einzelnen Himmelsbereiche an der Solarstrom-Produkion einer Photovoltaik-Anlage deutlich wird, sodass man sich ausrechnen kann, was die bestehende Horizont- aber auch Nah-Verschattung für einen Einfluss auf den Gesamtertrag hat.

Dazu muss ich eine ganze Menge mit Tabellen jonglieren und hab damit Probleme, weil ich das noch nie gemacht habe. Derzeit geht es um das Folgende:

1. Herstellen einer Tabelle mit den Sonnenstandsdaten (z.B. alle 5 Minuten), angegeben in Grad Höhe und Grad Abweichung von Süden.

2. Verarbeiten der excel-Tabellen, die ich von der Anlage habe, sodass die Ertragsdaten jeweils einem bestimmten Himmelsbereich zugeordnet werden können.

Das Problem sind v.a. die sehr großen Datenmengen: ich weiß theoretisch wie ich was rechnen will, habe aber schon Probleme, wenn ich in excel links eine Spalte mit der Uhrzeit im 5-min-Takt erstellen will.
Dann müssen hunderte von Sonnenstandstabellen mit den hunderten Photovoltaik-Tabellen irgendwie automatisiert verschmolzen werden!

Schon die Herstellung der Sonnenstandstabellen sieht so aus, dass ich erst eine Standard-Tabelle mache, in die ich dann für jeden Tag eine andere Datumsvariable einsetze, aber wie geht das automatisch?

Oder bin ich damit bei Calc komplett falsch und muss das irgendwie mit Datenbanken machen?

Danke für eure tipps!
Benutzeravatar
danube
****
Beiträge: 191
Registriert: Fr, 09.09.2005 12:27
Kontaktdaten:

Re: Wie automatisiert viele Tabellen bearbeiten?

Beitrag von danube »

Ich reduziere Deine Frage mal auf folgendes:
freak1 hat geschrieben:Herstellen einer Tabelle mit den Sonnenstandsdaten (z.B. alle 5 Minuten)
Dazu schreibst Du in eine Zelle den Text 0:0. Wenn Du die Zelle verlässt, wird automatisch 00:00:00 draus. Das sind Stunden, Minuten und Sekunden. Das Format kannst Du nach belieben ändern (Rechtsklick - Zellen formatieren - Zahlen - Format-Code).

Wenn Du dann noch eine Zeile weiter drunter 0:05 reinschreibst, wird daraus 00:05:00, also fünf Minuten später.

Dann markierst du die beiden Zellen, gehst mit der maus auf den kleinen Kasten rechts unten bei der Markierung und ziehst das so weit runter wie Du willst.

Calc erkennt dabei den Unterschied der beiden Werte und führt den logischen Unterschied auf den gewünschten Bereich aus.

Wenn Du noch konkrete Fragen hast dann tu dir keinen Zwang an. Aber wirklich konkrete Fragen stellen. :mrgreen:
freak1
**
Beiträge: 23
Registriert: Di, 27.09.2005 09:32

Beitrag von freak1 »

Vielen Dank!

Das hat mir sehr geholfen. Ich bin nun bereits ein paar Schritte weiter und habe nun folgende konkrete Frage:

Ich habe eine Tabelle, bei der in einer Spalte Datums- und Uhrzeit-werte in folgender Form stehen:
z.B.
4/18/2004 0:00
4/19/2004 0:00
oder auch
6/27/2004 21:42
6/27/2004 21:43
6/27/2004 21:44
6/27/2004 21:45
6/28/2004 5:20
6/28/2004 5:21
6/28/2004 5:22
6/28/2004 5:23
6/28/2004 5:25

Dabei sind die Werte immer mit verschieden großen Lücken.

Wie kann ich die fehlenden Zeilen "auffüllen" (so dass Minutentakt rauskommt) und dabei auch noch die restlichen Spaltenwerte aus der Zeile oberhalb übernehmen? (Hinweis: Die Tabelle ist durchgehend für einen ganzen Monat!)

Wie kann ich umgekehrt die Werte "ausdünnen", so dass z.B. hinterher nur noch 5-Minutentakt übrig bleibt?

Danke!
freak1
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

Hi
ich denke, da muss man einen Umweg über eine zweite Tabelle machen:
Du legst eine neue Tabelle an mit einer vollständigen Datum/Zeit-Spalte, holst Dir dann mit der Funktion SVERWEIS die Werte aus den Zusatzspalten zu den entsprechenden Zeilen, übernimmst anschliessend in der Spalte, die nun die SVERWEIS-Formel enthält, stattdessen die Werte und löschst anschliessend die alte Tabelle.
Im Detail:
  • Ich gehe jetzt mal davon aus, Deine bisherigen Daten stehen in 'Tabelle1', wobei Datum/Uhrzeit in Spalte A steht. Zusätzlich sind Spalten B, C und D mit Werten gefüllt, die zum jeweiligen Zeitpunkt in Spalte A gehören. Die Tabelle geht bis Zeile 159. Diese Vorgaben musst Du dann halt entsprechend anpassen
  • Nun legst Du eine zweite Tabelle an, in der in Spalte A wieder Datum/Uhrzeit steht, aber eben vollständig
  • In Zelle B1 der neuen Tabelle kommt jetzt folgende Formel:
    =SVERWEIS(A1;Tabelle1.A1:D159;2;0)
    In C1 kommt:
    =SVERWEIS(A1;Tabelle1.A1:D159;3;0)
    in D1 kommt:
    =SVERWEIS(A1;Tabelle1.A1:D159;4;0)
    (der letzte Parameter 0 in der Formel ist wichtig!)
  • B1 bis D1 markieren und nach unten ziehen.
  • Spalten B bis D markieren und kopieren
  • Bearbeiten/Inhalte einfügen:
    "alles" abwählen, ebenfalls "Formeln", aber "Zahlen" und "Zeichenketten" anhaken
  • Um nun noch #NV aus den Zellen zu löschen, in denen keine Werte gefunden wurden:
    Bearbeiten/Suchen/ersetzen, suchen nach: #NV, ersetzen durch: [leer lassen]
Schöne Grüsse
freak1
**
Beiträge: 23
Registriert: Di, 27.09.2005 09:32

Beitrag von freak1 »

Danke für die ausführliche Hilfe!
Ich habe nun mit SVERWEIs lange herumprobiert, aber bei mir funktioniert es nur, wenn ich die letzte Null weglasse oder stattdessen gleich die Zeilennummer, aus der ich den Wert haben will, angebe (die weiß ich ja leider nicht automatisch)! Sonst findet es gar keinen Wert.

Ich hab noch die $-Zeichen davor gemacht, damit die Ziel-Tabelle immer die gleiche bleibt:
=VLOOKUP(A114;Sheet2.$A$1:$B$4328;2)

Allerdings erhalte ich dann als Wert immer den, der in der Zeile oberhalb des gefundenen Wertes in Sheet2 steht. z.B.

Sheet2:
01.12.2004 15:04 ...5.504,73
01.12.2004 15:05 ...5.504,74
01.12.2004 15:06 ...5.504,75
01.12.2004 15:07 ...5.504,76
01.12.2004 15:08 ...5.504,78
01.12.2004 15:09 ...5.504,79
01.12.2004 15:10 ...5.504,79
01.12.2004 15:11 ...5.504,80
01.12.2004 15:12 ...5.504,81
01.12.2004 15:13 ...5.504,81
01.12.2004 15:14 ...5.504,81
01.12.2004 15:15 ...5.504,82
01.12.2004 15:16 ...5.504,82
01.12.2004 15:17 ...5.504,82
Werte, die ich erhalte:
01.12.2004 15:00 ...5504,66
01.12.2004 15:05 ...5504,73
01.12.2004 15:10 ...5504,79
01.12.2004 15:15 ...5504,81
01.12.2004 15:20 ...5504,82

Das stört mich zwar nicht, aber ist das normal?
Interessant ist auch, dass bei Uhrzeiten, die nicht existieren, überall der letzte vorhandene Wert genommen wird, für mich echt praktisch!
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

freak1 hat geschrieben:ch)! Sonst findet es gar keinen Wert.

Ich hab noch die $-Zeichen davor gemacht, damit die Ziel-Tabelle immer die gleiche bleibt:
=VLOOKUP(A114;Sheet2.$A$1:$B$4328;2)
O, ja, das hatte ich vergessen. Meist gebe ich einem Tabellenbereich, den ich dafür nutzen will, einen Namen, dann fällt das mit den Dollars weg.
Allerdings erhalte ich dann als Wert immer den, der in der Zeile oberhalb des gefundenen Wertes in Sheet2 steht. z.B.
Ohne die 0 hast Du ein Problem. Wenn Du die nicht hast und der abgefragte Wert wird in der Quelltabelle nicht gefunden, bekommst Du irgendeinen wertmässig in der Nähe liegenden Wert zurück. Nur die Null sorgt dafür, dass Du stattdessen einen Fehlerwert (#NV) bekommst.
Könntest Du die Tabelle ins Netz stellen oder als Email zusenden?
freak1
**
Beiträge: 23
Registriert: Di, 27.09.2005 09:32

Beitrag von freak1 »

Danke für das Angebot, hier die Tabelle:
erst auf
http://www.free-25.de/hansihansi/
gehen, dann noch in der Adressleiste "uhrzeit.zip" anfügen.
Es werden doch wirklich nur die nächsten Werte genommen, oder? Also, wenn die Werte alle aufsteigend sortiert sind, imer entweder der oberhalb oder der unterhalb? Das kann ich dann verschmerzen!

Ich hab aber ein Problem mit dem markieren und nach unten ziehen:
wenn man das bei zigtausendZeilen macht, dauert das eine ganz schöne Zeit!
Kann man das nicht anders machen, also schneller?


Danke!
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

freak1 hat geschrieben:Danke für das Angebot, hier die Tabelle:
erst auf
http://www.free-25.de/hansihansi/
gehen, dann noch in der Adressleiste "uhrzeit.zip" anfügen.
Es werden doch wirklich nur die nächsten Werte genommen, oder? Also, wenn die Werte alle aufsteigend sortiert sind, imer entweder der oberhalb oder der unterhalb? Das kann ich dann verschmerzen!
Das Problem ist, dass die Zeitangabe in der Ausgangszelle noch Sekunden enthält, während in der neuen Tabelle die Sekunden jeweils auf 0 stehen. Es kann also direkt keine exakte Übereinstimmung geben.
Ich habe das jetzt so gelöst, dass ich in der Ausgangstabelle eine Spalte eingefügt habe, welche Datum plus Stunden plus Minuten aus dem Originaldatum herausfiltert, dazu 0 Sekunden addiert und das ganze als Textformat speichert.
In der Zieltabelle habe ich ebenfalls das Datum/Zeitformat in ein Textformat umgewandelt. So habe ich nun identische Werte, die mit SVERWEIS zugeordnet werden können.
Das Ergebnis kannst Du hier herunterladen.
Ich hab aber ein Problem mit dem markieren und nach unten ziehen:
wenn man das bei zigtausendZeilen macht, dauert das eine ganz schöne Zeit!
Kann man das nicht anders machen, also schneller?
Ich mache das immer so:
- die Zelle mit CTRL+A kopieren
- Mit CTRL+End an das Ende der Tabelle springen
- den Cursor in der letzten Zeile in die richtige Spalte setzen
- Mit SHIFT+CTRL+HOME bis zum Tabellenanfang markieren
- SHIFT-Taste gedrückt halten und CTRL-Taste loslassen
- mit den Pfeiltasten nach rechts fahren, bis nur noch die Spalte markiert ist, in die kopiert werden soll
- Mit CTRL+V einfügen. Ab hier dauerts dann auch einen Moment, bis der Bildschirm wieder frei wird.
Schöne Grüsse
Zuletzt geändert von Lenu am Do, 13.10.2005 15:51, insgesamt 1-mal geändert.
freak1
**
Beiträge: 23
Registriert: Di, 27.09.2005 09:32

Beitrag von freak1 »

Vielen Dank!!! :D
Da muss ich noch einiges lernen, wie mir scheint.

Ich habe selten so ein hilfsbereites Forum erlebt, und dann wird auch immer so schnell geantwortet, wirklich super!

Danke
freak1
Antworten