Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1940to1944
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

hab es mit ChatGPT probiert

hab es mit ChatGPT probiert
21.08.2023 10:39:11
reeneex
Moinsen die Damen und Herren,

in unserer Firma werden wir nach Stückzahl bezahlt. Nun habe ich beim letzten Meeting nach einer Ausertung unserer Zahlen gefragt. Der Chef meint das kann er mir nur als Rohdaten geben und ich soll es selber auswerten. Das sind aber über 90K Zeilen.
Mit meinen haushaltsexcel kenntnissen komme ich da nicht weiter. Habe deswegen ChatGPT gefragt, aber der kommt aiuch nicht weiter.

Wenn es ok ist poste ich hier mal die Aufgabenstellung die ich ihm gegeben habe, inkl der links zu den von mir erstellten beispieldatein, und dann den code den er generiert hat.

Also, meine Aufgabenstellung:
Ausgangslage:

ich habe Tabelle1 mit 5 Angaben.

In Spalte A steht ein Datum
In Spalte B steht die Zahl 1, 2 oder 3 wobei jede Zahl für eine Schicht steht.
1 = Frühschicht
2 = Spätschicht
3 = Nachtschicht
In Spalte C steht ein numerischer Code der für ein bestimmtes Material steht
In Spalte D steht der Name des Materials
In Spalte E steht ein numerischer Wert der für eine Stückzahl steht

Die Daten hängen wie folgt zusammen:
an einem gegebenen Datum wurden von einer gegebenen Schicht x Stück eines Materials hergestellt

Bsp:

14.08.2023 2 254332 Abschalter AP3 280

am 14.08.2023 hat die Spätschicht 280 Stück des Materials mit der Nummer 254332 und dem Namen Abschalter AP3 produziert

ein Beispiel für die Tabelle findest du in der Datei "Stückzahlen DH für online"

Aufgabenstellung:

die Daten sollen so ausgewertet werden das sie in einer neuen Tabelle nach Datum sortiert sind.
für jeden erkannten Monat soll eine neue Datei angelegt werden und mit dem Monat benannt werden
für jedes erkannte Datum soll in der Datei ein separates Blatt angelegt werden
für jedes erkannte Material soll in dem jeweiligen Blatt des Tages eine Zeile angelegt werden
in der Materialzeile soll die erkannte Menge des Materials eingetragen werden
pro schicht ist neben der Stückzahl eine leere Zelle zu lassen für eine Stundenangabe
nach den Schichten soll eine Formel den jeweiligen Prozentwert der Leistung jeder Schicht einzeln berechnen
nach den einzelnen Prozentwerten soll der Durchschnittswert angezeigt werden.
die Stückzahlvorgabe befindet sich in Tabelle2

ein Beispiel für die Auswertung findest du in der Datei "Stückzahlen Auswertung Beispiel online"


gibt es eine möglichkeit die gesamte auswertung in eine datei zu bekommen, beispielsweise für jeden monat ein blatt generieren
und mit einer weiteren überspalte die einzelnen tage des Monats darstellen?



Sieh die folgenden Links


https://drive.google.com/file/d/1nKR1S5w5yYQfbWOkNlzQ8mIZNsfyGMPE/view?usp=drive_link,
https://drive.google.com/file/d/1HEgimZKlU0sjoSIZMLYMCVJPHY5mGnJu/view?usp=drive_link,
https://drive.google.com/file/d/1yyEKOApaRSKd7Zrgqjfy9_jiyO8lWaaX/view?usp=drive_link,
https://drive.google.com/file/d/1SgCSneQOGlD-MPpK_0s_vvqx4wzkfx1V/view?usp=drive_link

https://1drv.ms/x/c/ffecf06b27c6b140/EQ0EEQMstNZNrvXR1DGuDBMBfZtaRIWk53cR3yIXSNtjjA?e=cRRCYJ
https://1drv.ms/x/c/ffecf06b27c6b140/Ee6CBKZNgxhJhy1Fqw9tp9AB4c2BrEXeyY_otKMt6Dhxww?e=XdoxVV
https://1drv.ms/x/c/ffecf06b27c6b140/EQyB-ab9kEBCuaaU4J-5A_oBvKrFXZ7WAzONG7OMjNoi2w?e=FYx7y8
https://1drv.ms/x/c/ffecf06b27c6b140/EebMgJYwK4lLkSZIKaJsx6oB80RUNEHy7XYdLCVRi6NaXQ?e=3rvBxa

und hier sein leider nicht funktionierender code:

Sub GenerateReports()

Dim dataSheet As Worksheet
Dim dataRange As Range
Dim reportWorkbook As Workbook
Dim reportSheet As Worksheet
Dim lastRow As Long
Dim rngCell As Range

' Annahme: Ihre Daten befinden sich in "Tabelle1" des aktuellen Arbeitsblatts
Set dataSheet = ThisWorkbook.Sheets("Tabelle1")
lastRow = dataSheet.Cells(dataSheet.Rows.Count, "A").End(xlUp).Row
Set dataRange = dataSheet.Range("A3:E" & lastRow)

' Erstelle ein neues Arbeitsbuch für die Berichte
Set reportWorkbook = Workbooks.Add
Application.DisplayAlerts = False ' Deaktiviere Warnmeldungen für das Löschen von Standardblättern
reportWorkbook.Sheets("Tabelle2").Delete
reportWorkbook.Sheets("Tabelle3").Delete
reportWorkbook.Sheets("Tabelle4").Delete
reportWorkbook.Sheets("Tabelle5").Delete
reportWorkbook.Sheets("Tabelle6").Delete
reportWorkbook.Sheets("Tabelle7").Delete
reportWorkbook.Sheets("Tabelle8").Delete
Application.DisplayAlerts = True

' Sortiere nach Datum
dataRange.Sort Key1:=dataSheet.Range("A3"), Order1:=xlAscending, Header:=xlYes

' Schleife über die Daten
For Each rngCell In dataRange.Cells
If IsDate(rngCell.Value) Then
Dim reportMonth As String
reportMonth = Format(rngCell.Value, "MM")

' Überprüfe, ob das Blatt für den Monat bereits existiert
On Error Resume Next
Set reportSheet = reportWorkbook.Sheets(reportMonth)
On Error GoTo 0

' Wenn nicht, erstelle ein neues Blatt für den Monat
If reportSheet Is Nothing Then
Set reportSheet = reportWorkbook.Sheets.Add(, reportWorkbook.Sheets(reportWorkbook.Sheets.Count))
reportSheet.Name = reportMonth
' Füge die Überspalte mit Tagesdatum hinzu
reportSheet.Cells(1, 2).Value = "Tagesdatum"
reportSheet.Cells(1, 3).Value = "Material"
reportSheet.Cells(1, 4).Value = "Stückzahl"
reportSheet.Cells(1, 5).Value = "Frühschicht"
reportSheet.Cells(1, 6).Value = "Spätschicht"
reportSheet.Cells(1, 7).Value = "Nachtschicht"
End If

' Finde die nächste freie Zeile im Berichtsblatt
Dim newRow As Long
newRow = reportSheet.Cells(reportSheet.Rows.Count, "A").End(xlUp).Row + 1

' Trage die Daten in die Zeile ein
reportSheet.Cells(newRow, "A").Value = Format(rngCell.Value, "dd.mm.yyyy")
reportSheet.Cells(newRow, "B").Value = rngCell.Offset(0, 3).Value ' Material
reportSheet.Cells(newRow, "C").Value = rngCell.Offset(0, 4).Value ' Stückzahl

' Je nach Schichtnummer fülle die korrekte Spalte für Prozentwerte
Select Case rngCell.Offset(0, 1).Value
Case 1
reportSheet.Cells(newRow, "E").Value = rngCell.Offset(0, 4).Value ' Frühschicht
Case 2
reportSheet.Cells(newRow, "F").Value = rngCell.Offset(0, 4).Value ' Spätschicht
Case 3
reportSheet.Cells(newRow, "G").Value = rngCell.Offset(0, 4).Value ' Nachtschicht
End Select
End If
Next rngCell

' Füge die Formeln für Prozentwerte und Durchschnitt ein
Dim lastRowReport As Long
For Each reportSheet In reportWorkbook.Sheets
lastRowReport = reportSheet.Cells(reportSheet.Rows.Count, "A").End(xlUp).Row
If lastRowReport > 1 Then
reportSheet.Cells(lastRowReport + 1, "A").Value = "Durchschnitt"
reportSheet.Cells(lastRowReport + 1, "C").Formula = "=AVERAGE(C2:C" & lastRowReport & ")"
reportSheet.Cells(lastRowReport + 1, "D").Formula = "=SUM(D2:D" & lastRowReport & ")"
reportSheet.Cells(lastRowReport + 1, "E").Formula = "=SUM(E2:E" & lastRowReport & ")/D" & (lastRowReport + 1)
reportSheet.Cells(lastRowReport + 1, "F").Formula = "=SUM(F2:F" & lastRowReport & ")/D" & (lastRowReport + 1)
reportSheet.Cells(lastRowReport + 1, "G").Formula = "=SUM(G2:G" & lastRowReport & ")/D" & (lastRowReport + 1)
End If
Next reportSheet
End Sub


hier noch mal die beispieldatei wie ich es mir wünschen würde das es aussehen könnte https://www.herber.de/bbs/user/162398.xlsm

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: hab es mit ChatGPT probiert
21.08.2023 11:18:26
reeneex
hab die freigabe rechte angepasst auf "jeder der den Link hat"
Habs mit Datenabfrage + Pivot probiert
21.08.2023 11:21:27
MCO
Hallo reeneex!

Links sind alles allem nicht so beliebt, weil sie sich a) ändern können und in einem halben jahr nicht mehr nachzuvollziehen sind und b) die Quelle auch nicht verifiziert ist. Wer weiß worauf da verlinkt ist?!
Beispielsweise kann ich auf die DRIVE-Links nicht zugreifen.

Denn hab ich die Rohdaten gefunden und 2 Abfrage in die Datei gebaut, die deine Zuordnung macht und eine PIVOT aufbereitet.
Das mit der Formel bekommst du dann sicher selbst hin.

Schau mal rein.
https://www.herber.de/bbs/user/162402.xls
Gruß, MCO
Anzeige
AW: hab es mit ChatGPT probiert
21.08.2023 16:35:09
Reeneex
Hab vergessen das Häkchen bei Problem noch offen zu setzen ☺️😱
AW: Habs mit Datenabfrage + Pivot probiert
21.08.2023 12:01:38
reeneex
@MCO

vielen Dank für Deinen Beitrag. Leider kann ich die orginaldatei hier nicht hochladen, sie ist zu groß.

Deinen Vorschlag hab ich mir angesehen. Was allerdings eine PIVOT ist weiß ich nicht. Ich habe gesehen das Du im großen und ganzen die Anordnung der Daten geändert hast.
Ein Makro finde ich allerdings nicht. In dieser Variante müsste ich immer noch sämtliche Tage manuell aufbereiten und dort eintargen. Das sind wie gesagt über 90.000 zeilen. Auch verstehe ich nict warum du den Wert "Sollstückzahl Pro Std" 3x eingefügt hast, also für jede Schicht extra. Der Wert ist doch immer derselbe. Ist es da nicht sinnvoller ihn nur einmal als bezug zu Haben?

Formeln oder sonstiges finde ich auch keine. Aber mir gefällt die Idee in Spalte A mit dem Datum und den Materialnummern darunter. Das macht es übersichtlich.

Bitte sag mir wenn ich etwas falsch verstanden habe.
Anzeige
AW: Habs mit Datenabfrage + Pivot probiert
21.08.2023 12:37:29
MCO
Hi!

Erstmal musst du dich mit Abfragen vertraut machen. Unter "DATEN" findest du die eingebaute Abfrage. Da hab ich die originale Tabelle eingebunden u. mit der anderen verknüpft.

Was allerdings eine PIVOT ist weiß ich nicht
Da werden große Datenmengen schnell aufbereitet. Sehr gutes Werkzeug. Siehe youtube!
Ich habe gesehen das Du im großen und ganzen die Anordnung der Daten geändert hast.
Eigentlich nicht. Aber das gute ist, dass es auch gar nciht abhängig bzw. leicht zu ändern ist. Denn die Abfrage und Pivot ziehen ihre Daten immer noch aus den Rohdaten.

Ein Makro finde ich allerdings nicht. Das wunder mitch nicht: Es ist keins drin.
In dieser Variante müsste ich immer noch sämtliche Tage manuell aufbereiten und dort eintargen.
Ich hab auch nciht verstanden, wo die herkommen sollen.
Auch verstehe ich nict warum du den Wert "Sollstückzahl Pro Std" 3x eingefügt hast, also für jede Schicht extra. Der Wert ist doch immer derselbe. Ist es da nicht sinnvoller ihn nur einmal als Bezug zu Haben?
Ja, man könnte den auch weglassen und direkt mit einem Sverweis die Werte ranholen.

Formeln oder sonstiges finde ich auch keine Die solltst du selbst einfügen. Den Sverweis hab ich eingebaut.
https://www.herber.de/bbs/user/162408.xls

Gruß, MCO

Anzeige
AW: Habs mit Datenabfrage + Pivot probiert
21.08.2023 16:33:48
Reeneex
Vielen Dank für die Erklärung. Allerdings geht deine Antwort etwas an meiner Frage bzw Intention vorbei. Ich habe auf die Daten nur auf Arbeit Zugriff, kann mich da aber nicht 3 Std hinsetzen und alles von Hand eingeben. Meine Hoffnung war den Code für ein Makro zu bekommen das ich dann auf Arbeit in 5min eintippen kann und das Ding sortiert bzw organisiert die Daten. In dem bisherigen Datensatz fehlt ja noch die Arbeitszeit die ich dann vor Ort noch eintragen muss.

Mit Beispielen ist mir leider wenig geholfen. Eine Verbesserung bzw Anpassung des Codes den mir chatgpt erstellt hat, der aber nicht 💯% funktioniert, ist es was ich eigentlich suche.

Bitte lass mich wissen wenn ich dafür hier falsch bin.

Danke für deine Zeit und Mühe
Matt
Anzeige
AW: Habs mit Datenabfrage + Pivot probiert
21.08.2023 18:21:49
Yal
Hallo Matt,

Daten in Excel auswerten, heisst Pivottabelle herstellen.

Bevor Du 3 Stunden für Makros oder was auch immer verlierst: google mal nach "Excel Pivottabelle" und schaue dir eine 5 Minuten Video, zum Beispiel die von Microsoft selbst:
https://support.microsoft.com/de-de/office/video-manuelles-erstellen-einer-pivottable-9b49f876-8abb-4e9a-bb2e-ac4e781df657

Sonst können wir lang aneinander vorbei reden.

VG
Yal
Anzeige
Ergänzung
21.08.2023 18:45:15
Yal
so einfach ist eben doch nicht: Du musst davor Daten aus verschiedene Tabellen zusammenbringen, wie MCO es gemacht hat.
Er verwendet dafür den Power Query. Eigentlich keine sehr komplizierte Sache, wenn man die Grundlage der Datenhandlung bereit intus hat.
Abhilfe gibt es im sehr beliebten Tutorial https://excelhero.de/power-query/power-query-ganz-einfach-erklaert

Daten müssen aus verschiedene Tabellen zusammengeführt (Punkt 3 in dem Tutorial).
Dann bräuchtest nur eine dritte Tabelle, wo pro Tag und Schicht (je eine Spalte) die Arbeitszeit pro schicht (dritte Spalte) eingetragen werden.
Dann zusammenbringen und auswerten.

Aber wenn Du Excel zum ersten Mal verwendest, brauchst Du hier Hilfe.
Makro ist trotzdem -in deinem Kontext- der schlechteste Wahl, weil unnötige Komplexität, die Du nicht beherrschst (ChatGPT hin oder her).

VG
Yal
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige