Forum: PC-Programmierung Excel Balkendiagram / Zeitabhängig


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Rob (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von René H. (mumpel)


Bewertung
0 lesenswert
nicht lesenswert
Versuch es mal mit PowerBI. https://powerbi.microsoft.com/de-de/

von Peter E. (Firma: S&P) (eosangel)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

von Peter E. (Firma: S&P) (eosangel)


Bewertung
0 lesenswert
nicht lesenswert
das heisst natürlich Schnellanalyse ;-) (Excel)

von Rob (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

: Bearbeitet durch User
von Hans-Georg L. (h-g-l)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Rob (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Alexander K. (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
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

von Hans-Georg L. (h-g-l)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Siehe Bild ..

von Alexander K. (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Hans-Georg L. schrieb:
> Siehe Bild ..

Genau so ;)

Gruß

  Pucki

von Hans-Georg L. (h-g-l)


Bewertung
0 lesenswert
nicht lesenswert
Datenreihe formatieren -> Reihenoptionen
 Abstandsbreite auf 0 (kein Abstand) setzen

Muss man nichts rechnen.

: Bearbeitet durch User
von Rob (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Karl (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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

von Karl (Gast)


Bewertung
0 lesenswert
nicht lesenswert
So meinte ich

13.05.2020 08:47:22 -  0
13.05.2020 18:04:48 -  0
13.05.2020 18:04:49 -  25
13.05.2020 18:07:48 -  25
13.05.2020 18:07:49 -  50
13.05.2020 18:10:49 -  50
13.05.2020 18:10:50 -  75

von Rob (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Alexander K. (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
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

von Rob (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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

von René H. (mumpel)


Bewertung
0 lesenswert
nicht lesenswert
Ist das für Dich privat? Hast Du PowerBI schon probiert?

von Sheeva P. (sheevaplug)


Bewertung
0 lesenswert
nicht lesenswert
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

von René H. (mumpel)


Bewertung
0 lesenswert
nicht lesenswert
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? 😉

von Rob (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Ich habe mal in LibreOfficeCalc meine ods-Datei als xlsx gespeichert, 
die Stufen-Darstellung scheint tatsächlich im Excel 2007 zu fehlen, 
Excel zeigt nur schräge Verbindungslinien. Hier der "Assistent" von 
Libre Office, da wird neben Linie auch Stufen angeboten. Hier die 
Originaldatei.

da schaffen es mehrere mit Tricks auch in Excel:
https://www.fasteasy.at/tippshop/index.php?mp=1&id=1&id2=18&id3=1847
http://www.office-loesung.de/ftopic590702_0_0_asc.php
https://www.gutefrage.net/frage/wie-kann-man-in-excel-eckige-liniendiagramme-erstellen

Der Trick ist anscheinend einfach aus jedem Kurvenpunkt zwei zu machen, 
die in der Y-Richtung versetzt sind.

: Bearbeitet durch User
von Excel-Fan (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

von Rob (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Rob (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Rob (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Selection.FormulaArray = "=MIN(IF(R[2]C:R" & endeDerTabelle & 
"C>0,R[2]C:R" & endeDerTabelle & "C))"

habs

von Sascha W. (sascha-w)


Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.