Hey ihr Lieben,
Ich möchte bei Excel ein Diagramm erstellen bei den ich mir ansehen kann
wie lange mein Ventilator in einen Bestimmten Betriebsmodi war. er hat 4
Modis:
0% (aus) 25%, 50% 100%. Wann er in welchen Modi geschaltet ist habe ich
in einer Excel Tabelle. die Wertepaare Sehen in Etwa so aus:
13.05.2020 08:47:22 - 0
13.05.2020 18:04:49 - 25
13.05.2020 18:07:49 - 50
13.05.2020 18:10:50 - 75
13.05.2020 18:15:20 - 100
13.05.2020 18:20:20 - 75
13.05.2020 18:21:20 - 50
13.05.2020 18:23:20 - 25
13.05.2020 18:28:50 - 50
13.05.2020 18:35:20 - 75
13.05.2020 18:44:50 - 50
13.05.2020 18:56:50 - 25
13.05.2020 18:57:00 - 0
Nun Möchte ich eine Art Balkendiagramm haben bei den ich auf der X-Achse
die Dauer des Betriebes habe und auf der Y-Achse den Zustand als Balken
zu erkennen.
Nochmal anders Formuliert: die X Achse ist Zeitabhängig und auf der
Y-Achse sollen die Werte So lange Gehalten werden bis auf der Zeitachse
ein neuer Wert kommt und dann ein Sprunghaften an - oder Abstieg zeigen.
Liniendiagramme konnte ich nicht dazu Motivieren ein Sprunghaften
Anstieg darzustellen und Balkendiagramme konnte ich dahingehend nicht
verändern, dass sie die Breite Zeitabhängig darstellen.
Ich sollte noch erwähnen, dass es sich um über 800 Daten paare handelt.
Eine Händische Modifikation der Daten will ich Vermeiden.
Also ich sehe da 5 Stufen.
Quick and Dirty:
Errechne die Zeiten der Stufe durch die Differenzen (in Minuten) und
dann mit Schallanalyse einmal als Balken und einmal in Farbe.
Ich habe die Prozente mal als 1-5 beschrieben und die Zeiten auf Minuten
gerundet.
Danke für die schnelle Antwort. Leider ist das noch nicht das, was ich
gerne hätte. Um mich klarer auszudrücken habe ich die gewünschte Grafik
mal Skizziert
in LibreOfficeCalc kann ich ein XY-Diagramm mit "Stufen" darstellen
lassen. Datum und Uhrzeit habe ich noch nicht ausgewertet, eventuell
müsste ich das erst in einer weiteren Spalte in dezimale Zahlen umformen
lassen
So das geht mit Spalte dezimal = Spalte Uhrzeit * 24
wird aber etwas gedrängt, wenn die Messintervalle so unterschiedlich
sind.
Rob schrieb:> Balkendiagramme konnte ich dahingehend nicht> verändern, dass sie die Breite Zeitabhängig darstellen.
Stell den Abstand der Balken auf 0 dann hast du das gewünschte.
Hans-Georg L. schrieb:> Stell den Abstand der Balken auf 0 dann hast du das gewünschte.
Leider nicht denn die Dauer des anhaltenden Zustandes will ich grafisch
darstellen und ich habe kein weg gefunden die Balken dicke mit werten zu
verändern.
Leider bin ich auch darauf angewiesen Excel zu verwenden. Die zweite
Tabelle von Christoph zeigt die werte so, wie ich sie mir vorstelle.
Wenn ich das gleiche noch in Excel hinbekommen könnte, wäre ich
Glücklich.
Rechne die Minuten aus, gibt sie an die Zeitachse, und die Leistung an
die Powerachse. FERTIG.
Mit den Eigenschaften der Achse kannst du das ganze verfeinern.
Gruß
Pucki
Guten Tag,
ich habe das Gefühl nicht verstanden zu werden.
Das Hier: https://www.mikrocontroller.net/attachment/461005/Tabelle.png
ist eine Darstellung der Werte wie ich sie mir vorstelle. daraus ist zu
erkennen, dass die meiste zeit der Ventilator ausgeschaltet war.
Diese Grafik:
https://www.mikrocontroller.net/attachment/461009/Unbenannt.PNG lässt
vermuten, das die Zustände alle gleich lang dauerten. Das ist für mich
unbrauchbar.
Die Minuten Auszurechnen ist nicht mein Problem. die Minuten und die
Sprunghaften an und Abstiege in Excel darzustellen ist mein Problem.
Exel kann halt nicht besonders viel in Sachen Diagramme. Du suchst ein
Treppen-/Stufendiagramm
Du musst es als Liniendiagramm nachbauen
13.05.2020 08:47:22 - 0
13.05.2020 18:04:48 - 25
13.05.2020 18:04:49 - 25
13.05.2020 18:07:48 - 50
13.05.2020 18:07:49 - 50
13.05.2020 18:10:49 - 75
13.05.2020 18:10:50 - 75
Ich danke für eure Hilfe. Das Stichwort "Stufendiagramm" hat mir sehr
geholfen und fehlte in meiner Problembeschreibung.
Ich erkenne das es keinen einfachen Weg gibt, dieses Diagramm in Excel
zu erstellen.
Rob schrieb:> Ich erkenne das es keinen einfachen Weg gibt, dieses Diagramm in Excel> zu erstellen.
Doch gibt es. Nennt sich Diagrammassistent. Dort einfach richtig
markieren und zuweisen. FERTIG.
Gruß
Pucki
Anscheinend bin ich dafür zu schwerfällig um den einfachen Weg zu sehen,
denn du meinst Pucki.
Bitte beschreibe mir wie ich in Excel mit den Aktuellen Daten ein Stufen
oder Treppendiagramm erstellen kann damit es aussieht wie das zweite von
Christoph db1uq K:
https://www.mikrocontroller.net/attachment/461005/Tabelle.png
René H. schrieb:> Ist das für Dich privat? Hast Du PowerBI schon probiert?
Verrätst Du mir bitte, welcher Teil von
"Leider bin ich auch darauf angewiesen Excel zu verwenden."
Dir entgangen ist?
Danke,
Sheevaplug
Die Daten bleiben ja in Excel, nur das Diagramm würde dann in PowerBI
erstellt.
Aber weshalb bist Du zwingend auf Excel angewiesen? Vielleicht weiss
Dein "Auftraggeber" nicht wie man es besser machen kann? ?
Ich danke für das bemühen mir weiterhin zu helfen.
Ich wollte ein bestehendes Diagramm in meiner Beschäftigung lesbarer
gestallten und damit beim Vorgesetzten Punkten.
In Betrieb wird ausschließlich Excel verwendet und wenn ich eine Lösung
Präsentiere die nicht mit diesen Programm erstellt werden kann, dann
erhoffe ich mir dafür keine 'Pluspunkte'.
Ich werde mich bald da ran setzen und für den Fall ein Makro schreiben,
dass die Daten so Darstellt, dass Excel es mit einen Liniendiagramm
Darstellen kann.
Hallo,
in Excel geht das tatsächlich nur mit etwas Bastelei.
Die lässt sich aber in ein Makro verpacken.
Die Dataen erst in eine Tabelle kopieren, dann zusätzliche Spalte
ergänzen und mit 1 füllen. Den ganzen Block noch mal unten dran
kopieren, in diesem Teil der Tabelle die 1 in der ergänzten Spalte durch
2 ersetzen.
Im oberen Teil der Tabelle die Datenspalte um eine Zeile nach unten
kopieren.
Den gesamten Block markieren und zweistufig sortieren.
1.Ebene Zeitstempel
2.Ebene Datenspalte
Diese beiden Spalten markieren und Grafik einfügen
Punkt(XY)- Punkte mit geraden Linien
Diese Darstellung war wohl gewünscht?
Im Excel-File ist das Makro für die in der Tabelle eingefügten Daten
enthalten (Strg-D), allerdings auf die Schnelle nur mit festen
Zellreferenzen.
Das kann man sicher noch komfortabler an variable Datenmengen anpassen.
Hi,
Ich bin von den Aufwand den du, Excel-Fan, betreibst um mir zu Helfen
beeindruckt.
Ja die Darstellung ist gewünscht.
Das Makro schaue ich mir bald an.
Danke, nicht nur an dich sondern an jeden, der sich bei der
Lösungsfindung beeidigt hat.
Nochmal ich,
ich weiß ich sollte dafür eigentlich ein neuen Thread auf machen doch
glaube ich, dass es die Frage nicht Wert ist und ich wollte die
Situation ausnutzten, hier schon interessierte Experten für Excel
erreichen zu können:
in einem Mako an dem ich gerade schreibe habe ich Folgende Zwei Zeilen:
Range("E2").Select
Selection.FormulaArray =
"=MIN(IF(R[2]C:R[11961]C>0,R[2]C:R[11961]C))"
Range("E3").Select
ActiveCell.FormulaR1C1 = "=MAX(R[1]C:R[11960]C)"
Die Zeile 11961 ist das Ende meiner genutzten Tabelle. Das Ende dieser
Tabelle ist mit jeder Anwendung eine andere und um das Dynamisch zu
gestallten habe ich mir beim Ende der Tabelle ein:
endeDerTabelle = Selection.Row
Will ich die erstelle Variable in den oben Definierten Code benutzen
indem ich die Zahl 11961 durch "endeDerTabelle" ersetze bekomme ich den
"Laufzeitfehler 1004 --> Anwendung - oder objektorientierter Fehler".
Für die die sich Fragen was ich mit:
"=MIN(IF(R[2]C:R[11961]C>0,R[2]C:R[11961]C))" bezwecken will: ich suche
den kleinsten Wert in der Spalte E der nicht gleich Null ist.
Es mag sein, dass ich hier Anfängerfehler mache. Dies sind meine ersten
Schritte auf den Gebiet der Makroprogramierung in Excel. Ich bitte
darauf Rücksicht zu nehmen.
Und nein, die beiden Fragen haben nur sehr Entfernt miteinander zu tun.
Die Beziehung zwischen ihnen besteht lediglich darin, dass sie sich auf
den gleichen, nur zum Teil gezeigten, Datensatz beziehen.
Rob schrieb:> Nochmal ich,> endeDerTabelle = Selection.Row
das scheint erst mal kein eindeutiger Wert zu sein, musst du ja in dem
Moment die Selektion an der richtigen Stelle haben.
Besser sowas wie worksheet.usedrange.rows.count um das Ende auf dem
Blatt zu ermitteln.
Sascha
Hey
nun endlich bin ich dabei das Makro dafür zu schreiben. Ich weiß, hier
wurde ein anderer weg vorgeschlagen doch ich würde gerne meinen gehen.
ich kopiere jede zeile und gebe der Kopie den Zeitstempel von dem
Vorgehenden Datum - 1 Sekunde. und dieses '-1 Secunde bereitet mir große
Schwierigkeiten.
Der hierfür relevante Code:
Dim eineSekunde As Date
eineSekunde = 1
ActiveCell.FormulaR1C1 = "=R[1]C - " & eineSekunde & ""
Die Fehlermeldung ist:
Laufzeitfehler ' 1004':
Anweisungs- oder Objektdefinierter Fehler
Was möglich ist, ist, den wert von "einer Sekunde" in einer Zelle zu
definieren und die Formel so umzugestalten, dass die Formel sich auf die
Zelle bezieht. Das empfinde ich aber als äußerst unsauber und will das
gerne in einer Variablen gelöst haben.
die Variable wird mir im Fenster ''Lokal'' auch richtig als Datum
angezeigt: '31.12.1899'.
Mach das nicht über "FormulaR1C1", sondern über "Formula", dann kannst
Du auch besser mit Variablen und direkter Zellenangabe arbeiten. Ich mag
dieses "R1C1" überhaupt nicht. Wichtig ist das richtige Setzen der
Anführungszeichen.
Hier mal ein Beispiel von mir.