Hallo, habe mit einem Datenlogger Daten erfasst und die Daten nach dem Auslesen für Excel konvertiert. Nun meckert Excel wegen zu vielen Daten ... :-( Für eine Grafik würde es reichen, nur jede 6te Zeile zu nutzen, also immer 5 Zeilen raus zu werfen. Gibt es eine Möglichkeit, dies in Excel einzurichten? Hans
Hans K. schrieb: > Nun meckert Excel wegen zu vielen Daten ... :-( Welche Excel-Version hast du. Das ist wichtig weil Excel je nach Version die maximal-Zeilen geändert hat. z.b. Excel 2003 = ca. 32.000 Zeilen. Höhere Versionen haben mehr. Was das einlesen angeht. Jein. Du müsstest sie über ein VBA-Script einlesen. Excel zu sagen, lies nur jede 6 Zeile mit klicki-Bunti geht nicht. In keiner Version. Die Alternative wäre dir LIBRE-Office zu installieren. Zitat Google : What is the maximum number of cells, rows, columns and sheets in a LibreOffice spreadsheet? The maximum number of columns is 1,024 (from column A to column AMJ); the maximum number of rows is 1,048,576 (220); the maximum number of cells in one sheet is 1,073,741,824 (230 which is more than 1 billion cells);13.04.2020 Das sollte selbst für deine Daten reichen ;)
Schlaumaier schrieb: > Das sollte selbst für deine Daten reichen ;) Anscheined nicht, Excel kann seit 2007 mindestens genausoviel: https://support.microsoft.com/en-us/office/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3#ID0EBABAAA=Newer_versions Also würde ich mal annehmen es geht um mehr als eine Mio. Zeilen. Direkt beim einlesen ist mir so jetzt auch nichts bekannt wo man sagen könnte nehme nur jede x'te Zeile. Ich würde mir einfach eine kleines Progrämmschen schreiben was mir das macht und dann nur doch die von dieser erzeugten Datei importieren. Eine andere Möglichkeit wäre auch noch die Datei einfach passend zu splitten und diese dann in verschieden Blätter zu importieren (Die Limits gelten bei Excel pro Blatt und nicht in Summe über alles). Zur Not könnte man sich vermutlich auch was ähnliches als Makro in VBA schreiben, erfahrungsgemäß läuft sowas dann aber zig Stunden vor sich hin so schnarch lahm wie das ist.
Hallo Schlaumaier, es ist immer unterhaltsam, Dein fiktionales Erzählgut zu konsumieren. Schlaumaier schrieb: > die maximal-Zeilen geändert hat. z.b. Excel 2003 = ca. 32.000 Zeilen. Schon Office 2000 unterstützte 65536 Zeilen. Irgend W. schrieb: > Zur Not könnte man > sich vermutlich auch was ähnliches als Makro in VBA schreiben, > erfahrungsgemäß läuft sowas dann aber zig Stunden vor sich hin so > schnarch lahm wie das ist. Die Laufzeit dieses Makros sollte proportional zur Anzahl der gelieferten Zeilen sein. Und wenn die Logdatei wirklich groß genug ist, dann kriegt man die Laufzeit auch auf Stunden hochgeschraubt. Aber der Fadenstarter hat nun einmal keine verwertbaren Details geliefert.
Schlaumaier schrieb: > the maximum number of rows is 1,048,576 (220); the maximum number of > cells in one sheet is 1,073,741,824 (230 which is more than 1 billion > cells); Da steht eventuell 2^20 bzw. 2^30, kann das sein?
Hans K. schrieb: > habe mit einem Datenlogger Daten erfasst und die Daten nach dem Auslesen > für Excel konvertiert. Nun meckert Excel wegen zu vielen Daten ... :-( Um hier die Spekulationen etwas einzugrenzen, wäre es nicht schlecht, wenn du verraten könntest, in welchem Bereich sich deine Datenmenge bewegt. Falls du über Programmierkenntnisse in inrgendeiner Hochsprache für einen PC verfügst, wäre es evtl. auch eine Option, selber den sprichwörtlichen Dreizeiler zu schreiben.
Schlaumaier schrieb: > ... weil Excel je nach Version die maximal-Zeilen geändert hat. > z.b. Excel 2003 = ca. 32.000 Zeilen. > Höhere Versionen haben mehr. In der Fehlermeldung steht tatsächlich was von max. 32.000 Zeilen. Ist offensichtlich keine höhere Version ... Habe vorerst die Zeilen über 32.000 gelöscht. Das klappt also. Neues Problem: Möchte die Messwerte in einer Grafik darstellen. Y-Achse die Zeit, X-Achse die Messwerte. Die Spalte Zeit hat das Format h:min (00:00). Beim Datenloggen wurde alle 10s eine Messung gemacht, also habe ich 6 Zeilen mit der gleichen Zeit, woran sich Excel offensichtlich nicht stört. Excel zeigt nun in der Grafik die Zeit ungünstig an, nämlich: 00:00 - 03:18 - 06:36 - 09:54 usw. Wünschenswert wären ganze Stunden oder besser immer 3 ganze Stunden. Scheint aber im Programm nicht vorgesehen.
In welchem Format liegen die Daten denn vor? Beim Import aus txt kann man das Format für jede Spalte festlegen. Im Diagramm lässt sich das Hauptintervall einstellen, nützt aber nur was wenn die Daten dann zu einer vollen Stunde beginnen. Von wievielen Datenzeilen reden wir denn? Mit mehreren 10-tausend Zeilen ist die Verwendung von Excel zum erzeugen eines Diagramms ziemlich sinnlos weil einfach die Möglichkeit fehlt in den Daten zu zoomen um auch noch was erkennen zu können. Sascha
Beitrag #6468620 wurde von einem Moderator gelöscht.
Ich habe sowas ähnliches auch erst gemacht.. Der Office Weg.. Daten in Access importieren und passend über eine Query optimiert in Office einfügen, so kann man auch immer wieder neue Daten in Access nachträglich einfügen. Ich habe weil vorhanden das ganze in mysl eingelesen und dort auf ganze Stunden gruppiert.
Irgend W. schrieb: > Anscheined nicht, Excel kann seit 2007 mindestens genausoviel: Deshalb hab ich ja nach der Version gefragt ;) IchMeinJaNurMalSo schrieb: > Da steht eventuell 2^20 bzw. 2^30, kann das sein? JA. Aber das rafft die forums-Software beim kopieren nicht. Hier der Original-Text. Google : libreoffice calc max rows Peter M. schrieb: > Schon Office 2000 unterstützte 65536 Zeilen. Jo. Ich habs falsch im Kopf gehabt. Liegt vermutlich daran das mein Excel 2003 schon bei 30.000 Zeilen die Krise bekommt. @to Für das Diagramm würde ich eine Puffertabelle erstellen. Die berechnet den Mittelwert aus einer Anzahl von Zeilen = über ein gewissen Zeitraum. Daraus machst du dann ein Linendiagramm. Für ein bisschen Grafik reicht das völlig. Und belastet Excel nicht so. Und viel speichern. Excel ist bei so großen Datenmengen zickig.
Nachtrag : Man kann die Position der Zelle auch berechnet. Wenn du also in der Puffertabelle ein Feld machst mit "Faktor Für Mittelwert" und dann in der Formel den Bereich für den Mittelwert mit diesen Faktor berechnest, kannst du bei neuen Daten einfach automatisch den Schrittwert für die Meßpunkte berechnen. Anzahl der Zeilen pro Mittelwerte) = Anzahl der Zellen / Anzahl der Messpunkte. Und in der Formel : = mittelwert von Bereich X + 1 : Bereich X+ anzahl der Zeilen pro Mittelwert Dann berechnet sich das Diagramm jederzeit neu, wenn du die Datentabelle änderst. Auf die Weise habe ich mal die Umsatzzahlen mit Diagramm berechnet via automatisches Dateiimport in Text-Format. ALLES ohne Script.
Sascha W. schrieb: > Von wievielen Datenzeilen reden wir denn? Habe den Datensatz auf 32.000 Zeilen reduziert (vorne und hinten was abgeschnitten) und mein altes Excel kommt jetzt klar damit. Ursprünglich waren es 57.153 Zeilen. > Mit mehreren 10-tausend Zeilen > ist die Verwendung von Excel zum erzeugen eines Diagramms ziemlich > sinnlos weil einfach die Möglichkeit fehlt in den Daten zu zoomen um > auch noch was erkennen zu können. Ist in meinem Fall nicht wirklich relevant, denn ich habe nur mal die Einschaltperioden und die Einschaltdauer meines Kühlschranks erfasst. Dazu befand sich ein Sensor im Tiefkühlfach. Der Log lief knapp eine Woche (6 Messungen/min.), deshalb die große Datenmenge. Deshalb auch der Wunsch, nur jeden 6. Messwert zu verwenden. EXCEL hat sich aber jetzt erledigt, ich sehe im Diagramm, was ich sehen wollte. Siehe auch: Beitrag "Kühlschrank noch in Ordnung?"
Für den Fall, dass ich nochmal irgendwas logge und solch ein Diagramm in EXCEL nochmals erstellen möchte: 1. Bei der Zeitachse ist es mir zwar gelungen, mit dem Wert 1080 alle 3 Stunden eine senkrechte Linie zu erzeugen. Es gelang mir allerdings nicht, an die Linien auch die ganzen Stunden schreiben zu lassen (3-6-9-12 usw.). 2. Dass die Zeit innerhalb des Quadranten dargestellt wird, sieht auch etwas ungut aus. Auch hier fand ich keine Einstellung. Gibt es für beides keine Lösung oder finde ich die nur nicht? Denn eigentlich ist ja immer alles einstellbar.
Wie schon geschrieben. Eine neue Tabelle erstellen lassen die den Mittelwert eines Zeitraum erstellt. Dann die Reihe von Hand beschriften, und eine Achsenbeschriftung erstellen. Diese ins Diagramm übernehmen. Dazu solltest du dich über die Formel-Befehl INDIREKT + VERKETTEN schlau machen. Stell dir eine Reihe B vor mit zahlen. In D1 willst du den Wert aus B3 haben, in den du in D2 eine 3 eingibst. Das in D1 schreiben =INDIREKT(VERKETTEN("b"&D2)) Wenn du das so machst das deine Puffertabelle Werte hat, kannst du das sogar automatisch Berechnen. Ist nicht so einfach aber geht.
Um ehrlich zu sein ist die Funktionalität von Excel um Diagramme zu erstellen nur Rudimentär. Alles was über ein BWLer Kuchendiagramm hinaus geht ist Gefrickel. Das gleichmäßige skalieren der x-Achse und y-Achse mit der grafischen Oberfläche unmöglich. Vom einem Contour Plot kann man nur träumen. Mit Python (Matplotlib), Qtiplot, Grapher oder OriginLab kommt man besser ans Ziel.
Karl schrieb: > Alles was über ein BWLer Kuchendiagramm hinaus > geht ist Gefrickel. Das gleichmäßige skalieren der x-Achse und y-Achse > mit der grafischen Oberfläche unmöglich. Stimmt. Für die guten Diagramme brauch man was anständiges. Und diese "Anständigen" Programme kommen auch mit einer Kleinigkeit von 100.000 Datensätzen nicht ins Schwitzen. Bei Excel bin ich halt immer über eine Puffertabelle gegangen die dann Mittelwerte errechnet, um die Anzahl der Datenpunkte auf ein Minimum (max. 20) zu beschränken. Und dann muss es ein Liniendiagramm sein. Balken und Kuchen kannst du knicken ab 12 Punkten.
Karl schrieb: > Das gleichmäßige skalieren der x-Achse und y-Achse > mit der grafischen Oberfläche unmöglich. Nicht wirklich, man muss nur mal mit allen Einstellmöglichkeiten spielen und versuchen, die dahinter liegenden Funktionen zu verstehen. Dann klappt das auch mit dem "unanständigen" EXCEL. Dann man spart sich dubiose Umwege über indirekt verkettete Hilfsspalten. Die richtigen Buttons drücken und die richtigen Werte in die richtigen Felder eingeben, dann passt das, siehe Beitrag "Re: Kühlschrank noch in Ordnung?" Schlaumaier schrieb: > Welche Excel-Version hast du. EXCEL 97
hättest du jetzt noch die hauptstriche auf innen gesetzt, wärs perfekt geworden.
Hans K. schrieb: > Schlaumaier schrieb: >> Welche Excel-Version hast du. 2003. Aber du machst einen Fehler. Teste deine Einstellungen mal. Dann wirst du erkennen das der für JEDEN Teilstrich eine Beschriftung machst. Und da mein Drucker keine Mikroschrift kann, überlagert der dann alles. Einfach gesagt, und hast ein dicken fetten Balken als Teilbeschriftungen bestehend aus 1080 Texten. Wenn man über ein Puffertabelle geht und genau deine Werte richtig einstellt, geht es. Die alternative Lösung ist, man macht ein Liniendiagramm OHNE Datenpunktbeschriftung und gibt den Bereich manuell in den Diagrammeigenschaften an. Ich habe 20 Jahre so Diagramme gemacht. Sehr oft sogar wurden diese durch selbst erstellte VB-Programm automatisch aus einer leeren Tabelle erstellt. Glaub mir, ich kenne mit Excel und Diagrammen JEDEN Trick. Jedenfalls bis zu besagten Version 2003. Und ich werde nie auf eine andere Version wechseln. Mit Jeder Version nach 2003 dauert die Bearbeitung min. 10 x Länger. Der Grund sind die Schei** Menüs. Ich habe eine Menüreihe nur mit Makros. Da klick ich eins an und der macht das was sonst zwischen 5-40 Klicks sind.
1. Wer misst, misst Mist. Hier 6 Messungen pro Minute mit gleichem Zeitstempel "h:min" nicht voneinander auseinanderzuhalten. Naja, immerhin lassen sich diese 6 Messungen zu einem Mittelwert verrechnen. 2. EDV=Ende Der Vernunft. Hier reicht ein xxxMB Grosses Excel nicht um wenige MB Daten zu verarbeiten. Zeilenzahl begrenzt, Skalenbeschriftung nur durch tagelange "Ostereiersuche" knapp unbefriedigend zu beherrschen (Teilstriche, Schriftgrösse, Zoombarkeit). Verarbeitungszeit lassen wir jetzt mal weg f. diese Eintagsfliegenübung. Lächerlicher Verhältnisblödsinn^3 typisch der BWL-Kategorie, schliesslich kommt da noch einer mit Access obendrauf angerannt... Zum Glück gibt es seit 1-2J WSL: das entbindet W10 Benutzer der Ausrede sich nicht mit seit über 20J bewährten POSIX & GNU Programmen der Kategorie "Schweizer Taschenmesser" zu befassen. Datenreduktion u. ggf. Teilselektion geht mit sed Einzeilern, so denn überhaupt nötig. Alternativ Mittelwertrechnung per awk . Ein knappes Dutzend Zeilen Konfigurationshinweise an GNUplot bringen die Darstellung in Deckung mit den eigenen Wünsche, interaktive GUI f. Zoom inkl. Kann man das bereits (SoHo-)BigData nennen? ;-)
Schlaumaier schrieb: > Teste deine Einstellungen mal. Dann wirst > du erkennen das der für JEDEN Teilstrich eine Beschriftung machst. Stimmt. Dann darf man eben nicht jeden mm einen Teilstrich setzen. Wollte in meinen Diagramm ursprünglich auch jede Stunde einen Teilstrich setzen, dann hätte aber die Schrift nicht mehr gepasst. Also sind es kurzerhand 3 Stunden pro Teilstrich geworden. Problem gelöst. > Und ich werde nie auf eine > andere Version wechseln. Mit Jeder Version nach 2003 dauert die > Bearbeitung min. 10 x Länger. Stimmt wieder. Am Ende hat man auch nur ein Diagramm, das mit einer alten Version ebenso erstellt werden konnte. Im Gegensatz zu dir habe ich in Urzeiten nur einen Crashkurs in EXCEL abbekommen. Habe mir jetzt aber paar Zeilen zu der Vorgehensweise notiert, beim nächsten Mal steht so ein Diagramm in 5 Minuten. Ärgerlich ist eher, dass ich die Daten nicht reduzieren kann, da mir dazu die Kenntnisse fehlen. Beim nächsten Mal frage ich einfach mal, ob das jemand im Netz für mich erledigen könnte. Man muss auch nicht alles können.
Mach mal eine Grafik mit Excel und dann mit Gnuplot, gerade wenn Du viele Daten hat, ist Gnuplot 100x schneller
Gnu schrieb: > Mach mal eine Grafik mit Excel und dann mit Gnuplot, gerade wenn Du > viele Daten hat, ist Gnuplot 100x schneller Langsamer ist auch kaum möglich :) Excel + viele Daten = elend. Deshalb kann man um überhaupt zu Arbeiten die Berechnungen in Excel ja abschaltet.
Schlaumaier schrieb: > Gnu schrieb: >> Mach mal eine Grafik mit Excel und dann mit Gnuplot, gerade wenn Du >> viele Daten hat, ist Gnuplot 100x schneller > > Langsamer ist auch kaum möglich :) > > Excel + viele Daten = elend. Deshalb kann man um überhaupt zu Arbeiten > die Berechnungen in Excel ja abschaltet. Q.e.d. Excel skaliert exzellennt: je mehr Daten desto langsamer.
karl-heinz schrieb: > hättest du jetzt noch die hauptstriche auf innen gesetzt, wärs perfekt > geworden. Der Unterschied ist mir erst gar nicht aufgefallen, der Strich wird ja auch nur einen mm länger. Hab es gleich notiert. Die nächste Grafik wird gleich perfekt. Die Jungs von MS haben irgendwie schon an alles gedacht.
Hans K. schrieb: > Karl schrieb: >> Das gleichmäßige skalieren der x-Achse und y-Achse >> mit der grafischen Oberfläche unmöglich. > > Nicht wirklich, man muss nur mal mit allen Einstellmöglichkeiten spielen > und versuchen, die dahinter liegenden Funktionen zu verstehen. Dann > klappt das auch mit dem "unanständigen" EXCEL. Mit gleichmäßig skalliert meinte ich, dass das im Bild/Druck 100 Einheiten auf der x-Achse gleich 100 Einheiten auf der y-Achse gleich z.B. 1 cm (oder 100 Pixel) sind. Nur so wird aus dem Mohrschen Spannungskreis ein Kreis und kein Oval. Mit der Einstellung die du gezeigt hast geht das sicher nicht, Weil du die Länge der Achse nicht eingeben kannst.
Es gibt einen Unterschied ob man mit XLS oder XLSX Format arbeitet - XLS gibt, egal bei welcher Office-Version, ein festes Limit vor. Excel-Versionen die nur mit XLS arbeiten können (also 2003 und älter) haben dieses Limit fest eingebaut. Es gibt auch 64 Bit Versionen von "modernen" Excels (spätestens ab 2010), diese können bei wirklich großen Datenmengen von Vorteil sein. Achtung, diese werden NIE von sich aus installiert (da die Kompatibilität mit Drittanbieter-Software welche Excel-Plugins stellt oder Excel per OLE einbindet begrenzt ist), man muss das immer explizit als Option im Installer angeben, auch bei 64 Bit Betriebssystemen.
Andy D. schrieb: > an muss das immer explizit > als Option im Installer angeben, auch bei 64 Bit Betriebssystemen. Seit 2019 ist es umgekehrt.
Hans K. schrieb: > Ärgerlich ist eher, dass ich die Daten nicht reduzieren kann, da mir > dazu die Kenntnisse fehlen. Beim nächsten Mal frage ich einfach mal, ob > das jemand im Netz für mich erledigen könnte. Man muss auch nicht alles > können. Egal ob Excel, OO-Calc oder sonst etwas, die Zeilenreduktion ist an sich ganz simpel, hier als Beispiel für Calc, wenn nur jede 10te Spalte genutzt werden soll: - Neue Spalte einfügen, z.B. "A". - in das erste betroffene (hier A1) Feld eine 1 eingeben. - in das darunter (A2) befindliche Feld =WENN(A1<10;A1+1;1) eingeben. - Ab A2 Spalte A bis zum unteren Tabellenende erweitern und "nach unten Füllen". - Spalte A Kopieren und nur als Zahlen-Werte wieder einfügen. - Gesamte Tabelle nach Spalte A sortieren lassen, ggf. als zweite (nachrangige) Sortierfunktion z.B. die Zeit nehmen. Anschliessend alle Zeilen mit der 1 in der A-Spalte nehmen und damit weiter arbeiten. Wichtig ist aber, dass man auch weiss, ob die einfache Löschung von 9 von 10 Werten keine unzulässige Verfälschung der Ergebnisse bringt. Bei Deiner Temperaturaufzeichnung wäre das aber überhaüpt kein Problem.
:
Bearbeitet durch User
Ralf X. schrieb: > Wichtig ist aber, dass man auch weiss, ob die einfache Löschung von 9 > von 10 Werten keine unzulässige Verfälschung der Ergebnisse bringt. > Bei Deiner Temperaturaufzeichnung wäre das aber überhaüpt kein Problem. Deshalb ja die Puffertabelle. Die berechnet (je nach Einstellungen) den Mittelwert aus einer Gruppe von Zahlen. Das ist dann relevanter. Immerhin ist die Analyse einer Messung immer nur ein Mittelwert. Die Anzahl der Messungen verhindert nur große Abweichungen.
Schlaumaier schrieb: > Ralf X. schrieb: >> Wichtig ist aber, dass man auch weiss, ob die einfache Löschung von 9 >> von 10 Werten keine unzulässige Verfälschung der Ergebnisse bringt. >> Bei Deiner Temperaturaufzeichnung wäre das aber überhaüpt kein Problem. > > Deshalb ja die Puffertabelle. Die berechnet (je nach Einstellungen) den > Mittelwert aus einer Gruppe von Zahlen. > > Das ist dann relevanter. Immerhin ist die Analyse einer Messung immer > nur ein Mittelwert. Die Anzahl der Messungen verhindert nur große > Abweichungen. Du bist einfach nur ein angeblicher Schlaufux und Schaumschläger, der die meisten Kommentare gar nicht wirklich begreift, glaubst aber immer, irgendwelche dahergeschwurbelten Empfehlungen geben zu müssen, die für den Fall ohne Sinn sind und auch so, wie Du sie darstellst, auch in 99% anderer Fälle den grössten Unsinn ergeben. Wenn Du Deine "Puffertabelle" um eine Mittelwerttabelle einer Umgebung erweiterst und dann einfach z.B. jeden 10ten Datensatz (Teile) nimmst, steht immer noch Deine FORMEL in der Mittelwertspalte und errechnet dort ganz andere Werte, als in der Ursprungstabelle standen. Je nach Kurvenform und Art, was die Kurve in einem Diagramm aussagen soll, ist eine einfache Darstellung der Mittelwerte das dämlichste, was man machen kann. Der TO hingegen hätte sogar einfach 29 von 30 Datensätzen einfach eliminieren können, ohne dass sich eine wichtige Information aus dem Diagramm verabschiedet hätte. Oder auch 59 von 60.. Aber dafür fehlt Dir wie immer der Überblick.
Ralf X. schrieb: > Wenn Du Deine "Puffertabelle" um eine Mittelwerttabelle einer Umgebung > erweiterst Und du liest nicht was ich schreibe. Weil DAS hatte ich nie vor. Die Puffertabelle macht nur eins. Sie verkürzt die Anzahl der Daten. z.b. Zeile 1 spalte 1 : Akt. Stunde Zeile 1 Spalte 2 : Temperatur Zeile 2 Spalte 1 : 1 Zeile 2 Spalte 2 : Mittelwert aus Zeile 1-100 der Original-Tabelle. Zeile 3 Spalte 1 : 2 Zeile 3 Spalte 2 : Mittelwert aus Zeile 101-200 der Original-Tabelle. u.s.w. Am Ende habe ich (bei 24 Std. Daten) 24 Datenpunkte mit realistischen Werten = Spalte 2, eine Ordentliche Beschriftung der Datenpunkte = Spalte 1. Und der Diagramm-Assistent macht da mit 2 Klicks ein Vernünftiges Diagramm ohne das es zu Problemen kommt. Und wenn man die Kopierfunktion und die Formeln von Excel versteht ist das ganze keine 10 Min. Arbeit. Wenn ich Vorgabewerte angebe die ich einstellen kann, ca. 15 Minuten. Und der Witz an der Sache ist, das ganze Ergebnis entspricht sogar der Üblichen Darstellung von Daten. Weil das Diagramm ja aussagt : Die Temperatur um 3:00 Uhr betrug xx °C . Und weil es keine Fixe Zahl ist, sonder ein Mittelwert nimmt man einfach ein Liniendiagramm. So einfach ist das alles. Aber Hauptsache mal über Leute lästern die so Sachen 20 Jahre lange 2 x im Jahr gemacht haben.
Der einzige Unterschied ist, da ich bis zu 10 Mio Datensätze verarbeiten musst für ein Diagramm. Und da würde selbst heutzutage, jedes Excel zusammenbrechen. Also habe ich die Daten aus den IBM-Rechner der Faktura (die Rechnungsdatenbank) in eine SQL-Datenbank auf mein PC geschafft, und dort in einen VB-Prg die selben Mittelwerte mit SQL-Befehlen ermittelt und dann via VB-Zugriff die Excel-Tabelle vom Programm erstellen lassen, mit samt den plöden Diagramm. Das war nämlich einfacher. Mein Chef hat sich jedes Jahr andere Nebenanalysen einfallen lassen. So musste ich nur die SQL-Abfragen anpassen und die Beschriftungen. Sollte der TO also weiter mit so einer Menge an Daten arbeiten, würde ich ihm genau den selben Weg empfehlen. Nämlich den Umweg über eine SQL-Datenbank.
Schlaumaier schrieb: > Ralf X. schrieb: >> Wenn Du Deine "Puffertabelle" um eine Mittelwerttabelle einer Umgebung >> erweiterst > > Und du liest nicht was ich schreibe. > > Weil DAS hatte ich nie vor. > > Die Puffertabelle macht nur eins. Sie verkürzt die Anzahl der Daten. > > z.b. > > Zeile 1 spalte 1 : Akt. Stunde > Zeile 1 Spalte 2 : Temperatur > > Zeile 2 Spalte 1 : 1 > Zeile 2 Spalte 2 : Mittelwert aus Zeile 1-100 der Original-Tabelle. > > Zeile 3 Spalte 1 : 2 > Zeile 3 Spalte 2 : Mittelwert aus Zeile 101-200 der Original-Tabelle. > > u.s.w. > > Am Ende habe ich (bei 24 Std. Daten) 24 Datenpunkte mit realistischen > Werten = Spalte 2, eine Ordentliche Beschriftung der Datenpunkte = > Spalte 1. Der TO hatte nach eigenen Angaben 360 Datensätze/h, schon da hätte Dein "Beispielansatz" versagt. Wie kommst Du auf die Idee, da Stunden(Mittel-)werte auswerten zu wollen? Und auch wenn auf die Angaben des TO eingegangen wärest und DAFÜR die möglichen möglichst wenig verfälschenden Eigenschaften akzeptiert/erklärt hättest, wäre das eine absolute Einzellösung, die Du aber gerne gleich als universell erklärst, was der absolute Bullshit ist. Ich arbeite alle naslang mit Datentabellen mit ggf. über 100 Spalten, ein Teil als True-Daten in unterschiedlichen Zeitintervallen, woraus sich auch wieder neue rechnerische Daten in der Auswertung ergeben. Und immer muss man (auch neu) überlegen, wie man eine verkürzte Tabelle oder daraus erzeugten Graphik erstellt, die das wichtige Geschehen abbildet. Wer 100 Messpunkte gerecht verteilt auf eine Sinusschwingung auf einen Mittelwert reduziert, bekommt eine Nulllinie angezeigt. Nimmt man jeden 95sten Mittelwert, sieht es völlig anders aus. > Und der Diagramm-Assistent macht da mit 2 Klicks ein Vernünftiges > Diagramm ohne das es zu Problemen kommt. Der macht nur, was Du ihm sagst. Ob das vernünftig ist, ist Sache der Datenaufbereitung. > Und wenn man die Kopierfunktion und die Formeln von Excel versteht ist > das ganze keine 10 Min. Arbeit. Wenn ich Vorgabewerte angebe die ich > einstellen kann, ca. 15 Minuten. Ich habe oft mit Tabellen/Datensätze diversen Erfassungsdaten im 15min-Rhythmus zu tun, andere kommen nur stündlich. Da muss man bedeutend mehr machen, als Mittelwerte zu erstellen, um ein Stundenergebnis darzustellen. Oft ist es dabei auch erforderlich, Min und Max der Stunde darzustellen. Aber wie immer kommt es auf die Sinnhaftigkeit an. DEINE Methode mag bei Dir für Abermillionen Daten sinnvoll sein. Kein Grund anzunehmen, dass "Deine" Idee oder Makro auf eine andere Problematik übertragbar wäre. > Und der Witz an der Sache ist, das ganze Ergebnis entspricht sogar der > Üblichen Darstellung von Daten. Weil das Diagramm ja aussagt : Die > Temperatur um 3:00 Uhr betrug xx °C . Und weil es keine Fixe Zahl ist, > sonder ein Mittelwert nimmt man einfach ein Liniendiagramm. > > So einfach ist das alles. Aber Hauptsache mal über Leute lästern die so > Sachen 20 Jahre lange 2 x im Jahr gemacht haben. Es wäre toll, wenn der TO mal seinen Datensatz z.B. als csv zur Verfügung stellen würde. Dann wären Deine Stundenmittelwerte im Vergleich zur Originalgraphik wohl ein Brüller. Du hast irgendwann das Denken weitgegend reduziert und die Leistung aufs Mundwerk/Griffel verlagert.
Schlaumaier schrieb: > Sollte der TO also weiter mit so einer Menge an Daten arbeiten, würde > ich ihm genau den selben Weg empfehlen. Nämlich den Umweg über eine > SQL-Datenbank. Von SQL kenne ich nur die 3 Buchstaben, das wird eher nichts werden. Wenn man in Excel die beiden Werte-Spalten nebeneinander setzt, kann man beide Spalten kopieren und in eine *.txt Datei einfügen. Da man gerne das macht, was man kann, habe ich meinen alten ATARI aus dem Keller geholt und mit dem genialen GFA-Basic von Frank Ostrowski paar Zeilen getippt. Das Programm schreibt eine Zeile und verwirft die nächsten fünf Zeilen. Die neue *.txt Datei wieder nach Excel zurück kopiert und fertig ist die Laube.
Einer der sich mit der Linux Shell auskennt würde das wahrscheinlich dort in einem Einzeiler hinbekommen. Aber auch die Powershell unter WIN dürfte das hinbekommen. Aber man nimmt halt was man kennt. Sascha
Hans K. schrieb: > Da man gerne das macht, was man kann, habe ich meinen alten ATARI aus > dem Keller geholt und mit dem genialen GFA-Basic von Frank Ostrowski > paar Zeilen getippt. Das Programm schreibt eine Zeile und verwirft die > nächsten fünf Zeilen. Die neue *.txt Datei wieder nach Excel zurück > kopiert und fertig ist die Laube. Prima Programm. Geht in VB-A von EXCEL auch. Wenn du die MID Funktion lernst, schreibt dein Script dir die Tabelle automatisch richtig. Wert = val(MID (Zeile,Start,anzahl_der_zeichen)) Hänge mal hier 10 Zeilen deiner Datei rein, dann zeige ich dir wie der Code sein muss.
Schlaumaier schrieb: > Hänge mal hier 10 Zeilen deiner Datei rein, dann zeige ich dir wie der > Code sein muss. Hier 100 Zeilen
Hier dein Code für das Makro. Kleiner Tipp. Klicke auf AUFZEICHEN, dann tippe irgendwas in irgend eine Zelle. Dann Stop die Aufzeichnung. Nun auf Makros - > bearbeiten. Such das Makro was du aufgezeichnet hast, entferne allen Code und fülle den hier rein. ---------------------------------------------------------------- Dim tx As String Dim anz, akt_zeile, m_bereich, m_bereich_zahl As Integer Dim ges_wert As Double akt_zeile = 2 ' startzeile m_bereich = 5 ' anz der Werte aus der der Mittelwert gebildet wird m_bereich_zahl = 0 Open "c:\2\100_Zeilen.txt" For Input As #1 ' <- hier Pfad eintragen Do Until EOF(1) Line Input #1, tx zeit = Mid(tx, 1, 6) wert = Trim(Mid(tx, 8, 5)) ges_wert = ges_wert + wert m_bereich_zahl = m_bereich_zahl + 1 If m_bereich_zahl = 5 Then m_bereich_zahl = 0 ActiveSheet.Cells(akt_zeile, 1) = zeit ActiveSheet.Cells(akt_zeile, 2) = ges_wert / m_bereich ges_wert = 0 akt_zeile = akt_zeile + 1 End If Loop ---------------------------------------------------------------------- Das ist alles. Sollte funktionieren. Bei mir geht das auch. Ach ja, Die Zellen sind nicht formatiert, und es werden keine alten Zellen gelöscht. Entweder du lässt es über eine neue Tabelle laufen, oder du löscht einfach vor den Start die alten Werte. Kannst du auch mit Makro machen. Aber du sollst ja selbst was lernen. ;)
Ach mir ist gerade aufgefallen das die letzte Mittelwertberechnung nicht geschrieben wird. Also unter das LOOP folgende Zeile ActiveSheet.Cells(akt_zeile, 1) = zeit ActiveSheet.Cells(akt_zeile, 2) = ges_wert / m_bereich_zahl
Schlaumaier schrieb: > Hier dein Code für das Makro. Mit Macros habe ich noch nie was zu tun gehabt. Wenn ich die beiden Spalten eh schon aus Excel kopiert habe, kann ich den Mittelwert auch unter GFA-Basic bilden. Das ist aber nicht notwendig. Um beim Datenloggen eine Messung pro Minute zu erreichen, reicht es völlig, die 5 Messungen zu viel (Messung alle 10 sec.) einfach auszulassen.
Du brauchst das Makro nur nach Anleitung einbauen in deine Tabelle. Beim nächsten mal einfach - Makros -> "anklicken das Makro" und ausführen. Wenn der Name und Ort der Quelle-(text-Datei) sich nicht ändert wird automatisch alles neu eingelesen nach deinen Wünschen. Das muss man nicht können sondern nur "durchklicken".
ActiveSheet.Cells(akt_zeile, 2) = wert anstelle von ActiveSheet.Cells(akt_zeile, 2) = ges_wert / m_bereich_zahl Dann nimmt er nur jede 5 Zeile OHNE Durchschnittswert.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.