Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1488to1492
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten auswerten

Daten auswerten
17.04.2016 14:26:35
Thomas
Hallo liebe Wissenden
ich benötige Hilfe bei der Auswertung einer Excel Tabelle.
Es wäre toll wenn mir jemand Tipps oder Lösungsansätze aufzeigen könnte.
Beine VBA Kenntnisse sind sehr bescheiden.
Ich habe eine Excel Liste in der sich Daten in 5 Spalten befinden.
Die Daten gelangen automatisch per VBA Import aus einer txt-Datei formatiert in ein Excel Tabellenblatt. In der txt Datei befinden sich Daten über eine unbestimmte Anzahl von Tagen.
Nach dem Datenimport befinden sich in der Excel Tabelle ab Zeile 6 Daten in 5 Spalten.
A = Datum (JJJJ/MM/DD)
B = Zeit (hh:mm:ss)
C = Kostenstelle (Text 2 Zeichen)z.B "F1", "F2" bis "F9"
D = Kostenart (Text 5 Zeichen) "M0001", "M0002" usw.
E = Menge (Zahl 3-5 Stellen) 500, 2500, 5000, 250 usw.
Mein Wunsch ist das ich per Makro die Excel Tabelle auswerten lasse und die Ergebnisse in ein neu einzufügendes Tabellenblatt speichern lasse.
Die Auswertung soll die Tagessummen der Menge (E) einzeln gruppiert nach Kostenarte (C) darstellen. Toll wäre wenn es die Möglichkeit gäbe die Zeitstempel der ersten und letzten Tagesbuchung mit einzufügen.
Spalte A = Kostenart
Spalte B = Datum der ersten Buchung am Tag
Spalte C = Zeitstempel der ersten Buchung am Tag
Spalte D = Zeitstempel der letzten Buchung am Tag
Spalte E = Ergebnist des täglichen Zeitaufwandes aus C-B in hh:mm:ss
Spalte F = Summe der Tages Gesamtmenge aus E
z.B.
Spalte A Spalte B Spalte C Spalte D Spalte E Spalt F
Kostenart Datum Start Stop Zeit Ges Summe
M0001 2016/04/16 14:17:19 16:01:13 01:43:54 25000
M0001 2016/04/17 06:00:00 10:00:00 04:00:00 125000
....
M0002
...
M0003 usw.
ich würde gerne mein Makro um die Funktionalität der Auswertung erweitern, da ich praktisch täglich nachdem die Daten importiert und gefiltert sind dies Aufgabe per Hand erledigen muss.

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten auswerten
17.04.2016 14:33:51
Werner
Hallo Thomas,
so wie sich das anhört, ließe sich das sicher per Pivot erledigen, das ist aber nicht meine Baustelle.
Ansonsten ginge das sicher auch mit dem Filter. Hierzu solltest du aber eine Beispieltabelle mit Spieldaten hochladen.
Gruß Werner

AW: Daten auswerten
17.04.2016 14:50:59
Thomas
Hallo Werner, danke für die Hinweise...
habe 2 Bidschirmausdrucke zur besseren Anschauung hoch geladen....
Userbild
Userbild
hoffe das ich das richtig gemacht habe....

Anzeige
AW: Daten auswerten
17.04.2016 15:01:54
Thomas
Danke für die Mühe...
Ja mit einer Pivot tabelle habe ich es geschafft die Tagesgesamtmenge zu bekommen.
Allerdings bekomme ich es nicht hin aus den Zeitstempeln die Tagesgesamtzeit zu errechen...

Du erwartest aber nicht,
17.04.2016 16:37:40
Michael
daß wir das abschreiben, Thomas,
lade doch bitte eine Datei hoch...
Schöne Grüße,
Michael

Sort, Teilergebnisse, leere Zellen
17.04.2016 19:03:56
Michael
Hi Thomas,
sie befindet sich, wobei mir völlig schleierhaft ist, weshalb das Ding sooo groß ist.
Ich habe erst mal die reinen Daten in eine neue, leere Datei kopiert, dann sind's mit Makro auch nur 40KB.
Versuch's mal damit: https://www.herber.de/bbs/user/105033.xls
Bitte beachten: http://www.rondebruin.nl/win/s4/win003.htm
FALLS das Makro auf Excel-Versionen VOR 2010 benutzt werden soll.
Schöne Grüße,
Michael
P.S.: Die Spalten A:I der Ausgabe kannst Du ja noch löschen...
P.P.S.: Deine beiden Teilergebnis-Formeln habe ich durch Anzahl bzw. Summe ersetzt.

Anzeige
AW: Sort, Teilergebnisse, leere Zellen
18.04.2016 12:38:06
Thomas
Hallo Michael,
Dein Code funktioniert supergut:-)
vielen vielen Dank... das möchte ich auch können:-(
...das die Datei so aufgebläht ist, liegt glaube ich daran, nachdem ich die Daten aus der Txt datei per Makro in die Excel Tabelle einfügen, muß ich die sich als Text in Spalte "E" befindlichen Werte in Zahl umwandeln(egentlich brächte ich hier den Bereich ab E6 bis zur letzten beschriebenen Zelle in der Spalte "E").
Das umwandeln funtioniert zwar aber ist wohl falsch.... jedenfalls ist die Excel Datei danach plötzlich sehr groß.
habe mal den Code angefügt... vl hat ja jemand ne Idee
Sub Textzahlen_in_Zahlen_wandeln() With Range("E6:E65000") .NumberFormat = "General" .Value = .Value End With Range("A1").Select End Sub
nochmals vielen vielen Dank für die Hilfe

Anzeige
AW: Sort, Teilergebnisse, leere Zellen
18.04.2016 16:41:15
Michael
Hi zusammen,
das geht so:
Sub Textzahlen_in_Zahlen_wandeln()
Dim maxZeile&
maxZeile = Range("E" & Rows.Count).End(xlUp).Row
With Range("E6:E" & maxZeile)
.NumberFormat = "General"
.Value = .Value
End With
Range("A1").Select
End Sub

Der Lernerfolg liegt wahrscheinlich weniger in der Ermittlung der untersten Zeile (maxZeile = ...), sondern darin, daß Range schlicht eine Zeichenfolge (String) erwartet, d.h. wenn maxZeile z.B. 20 ist, wird die ZAHL 20 wegen des STRING-Operators "&" in den String "20" umgewandelt, so daß im Prinzip dann "E6:E20" an den Range übergeben wird.
@Werner: an der VBA-Lösung habe ich denn noch ne Stunde geknabbert, da war Deine Formellösung sicher schneller erstellt - von DIR zumindest...
Schöne Grüße,
Michael

Anzeige
AW: zu Deiner Feststellung: teils, teils ...
18.04.2016 19:32:41
...
Hallo Michael,
... von den maßgeblichen 6 Spaltenformeln hatte ich 5 in zusammen weniger als 10 Minuten aufgestellt.
Jedoch die Formel für Datumsspalte (die ich zuerst sogar für überflüssig glaubte) hat mich dann wohl gestern alles in allem wohl auch eine reichliche halbe Stunde (schließe ich rückwirkend aus der Zeitangabe, wo ich dann meinen Beitrag eingestellt habe) "in Atem gehalten".
Gruß Werner
.. , - ...

AW: vielleicht noch ergänzend dazu ...
18.04.2016 19:39:03
...
für evtl. Mitleser,
... die endgültige "Datumsformel" (in B3) funktioniert natürlich nur durch die dafür zusätzlich notwendig gewordenen Hilfsspaltenformeln in H3:I3
Gruß Werner
.. , - ...

Anzeige
AW: zu Deiner Feststellung: teils, teils ...
19.04.2016 19:12:57
Michael
Hi Werner,
das ist ja (zumindest in diesem Fall) kein großer Unterschied.
Aber das parallele Ding mit der Regression habe ich mir "mal schnell" angeschaut und dann doch mit ohne VBA die Finger davon gelassen. Es geht natürlich formelmäßig, offensichtlich, aber mir nicht von der Hand...
Paßt schon so: man ergänzt sich eben.
Schöne Grüße,
Michael

AW: wäre auch nur mit Formeln (ohne {}) lösbar ...
17.04.2016 20:47:26
...
Hallo Thomas,
... ich geh davon aus, dass Du Michaels VBA_Lösung nutzt. Doch interessehalber habe ich nachfolgend mal eine reine Formellösung aufgestellt in der AGGREGAT() eine Hauptrolle spielt. In meiner Lösung hab ich zur Reduzierung der Formellängen zwei (ausblendbare) Hilfsspalten (H:I) und eine ebenfalls ausblendbare Hilfszeile (Zeile2, Leerzeile; in der aber in I2 zwingend eine 0 stehen muss) eingeführt.
Den Ergebnisspalten müssen noch die richtigen Formate zugewiesen werden. In Spalte A nutzte ich dazu das benutzerdefiniertes Zahlenformat: "M"0000
In alle Formeln müsste evtl. der Auswertungsbereich noch angepasst werden, denn momentan hab ich den nur auf die Zeile bis 99 in Tabelle1 beschränkt. Die Formeln sind weit genug nach unten zu kopieren. Die Spalte C dann zusätzlich noch nach Spalte D.
Damit auch ersichtlich wird, dass nicht nur Datensätze eines Tages ausgewertet werden können hab ich eine paar zusätzliche erfundene Datensätze in Tabelle1 angefügt.
 ABCDEFGHI
1KostenartDatum1. Buchungletzte DifSumme Hilfsspalten
2        0
3M000116.04.201614:17:1916:01:1301:43:5435000 16.04.201615
4M000216.04.201614:17:1917:30:3203:13:1328500 18.04.201620
5M000316.04.201617:16:5817:17:2400:00:263000 22.04.201623
6M000416.04.201615:49:3316:01:1300:11:405000   
7M000616.04.201614:17:1917:16:5802:59:3920500   
8M000716.04.201615:30:5817:16:5801:46:002000   
9M000816.04.201615:30:5815:40:3400:09:363000   
10M000916.04.201615:40:3416:40:0200:59:287500   
11M001016.04.201617:17:2417:17:2400:00:002500   
12M001116.04.201614:17:1917:16:5802:59:3920000   
13M001216.04.201614:17:1917:30:3203:13:1311000   
14M001316.04.201615:30:5816:01:1300:30:153000   
15M000218.04.201615:30:5815:30:5800:00:005500   
16M000718.04.201615:30:5815:30:5800:00:00500   
17M000818.04.201615:30:5815:30:5800:00:002500   
18M001218.04.201615:30:5815:30:5800:00:005000   
19M001318.04.201615:30:5815:30:5800:00:002500   
20M000622.04.201617:16:5817:16:5800:00:00500   
21M000722.04.201617:16:5817:17:0000:00:022000   
22M001122.04.201617:16:5817:16:5800:00:005000   
23         

Formeln der Tabelle
ZelleFormel
A3=WENN(B3="";"";AGGREGAT(15;6;WECHSELN(Tabelle1!D$6:D$98;"M";"")/(Tabelle1!A$6:A$98*1=B3)/(WECHSELN(Tabelle1!D$6:D$98;"M";"")*1>A2*(B3=B2)); 1))
B3=WENN(ZEILE(A1)>MAX(I:I)+2;"";INDEX(H:H;VERGLEICH(ZEILE(); I:I)+1))
C3=WENN(B3="";"";AGGREGAT(14+(SPALTE()=3); 6;Tabelle1!$B$6:$B$98/(Tabelle1!$A$6:$A$98*1=$B3)/(WECHSELN(Tabelle1!$D$6:$D$98;"M";"")*1=$A3); 1))
E3=WENN(D3="";"";D3-C3)
F3=WENN(E3="";"";SUMMEWENNS(Tabelle1!E$6:E$98;Tabelle1!D$6:D$98;"=M"&TEXT(A3;"0000"); Tabelle1!A$6:A$98;"="&TEXT(B3;"JJJJ/MM/TT")))
H3=WENNFEHLER(AGGREGAT(15;6;Tabelle1!A$6:A$99/(Tabelle1!A$6:A$99*1>H2); ZEILE(A1)); "")
I3=SUMMENPRODUKT((VERGLEICH(Tabelle1!D$6:D$99&Tabelle1!A$6:A$99;Tabelle1!D$6:D$99&Tabelle1!A$6:A$99;)=ZEILE(D$1:D$94))*(Tabelle1!A$6:A$99*1=H3))+I2+1


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
AW: wäre auch nur mit Formeln (ohne {}) lösbar ...
18.04.2016 13:00:22
Thomas
Hallo Werner,
puh ich muss noch viel lernen:-) ...ich habe mir das lange angesehen und finde das sehr interessant.
Sobald ich etwas Luft habe, werde mich weiter damit befassen und versuchen es zu verstehen.
vielen Dank für Deine Hilfe....
Gruß
Thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige