Worum geht’s?
Du hast ein schönes Diagramm.
Aber keine Lust, die Beschriftung manuell zu schreiben.
Oder Du willst automatisch einen Text, der die Zahlen erklärt.
Zum Beispiel:
„Im März stiegen die Umsätze um 12 %, während sie im April leicht zurückgingen.“
Das können GPT & Co. für Dich übernehmen.
Direkt aus Excel. Per VBA.
Ich zeig Dir, wie.
Was brauchst Du?
- Excel 2024 mit Makros
- Zugriff auf GPT (OpenAI oder Azure)
- Ein Datenbereich mit klaren Zahlen
- Ein Diagramm, das auf diesen Zahlen basiert
Ziel
GPT bekommt die Zahlen.
Er schreibt Dir:
- einen verständlichen Analyse-Text
- eine aussagekräftige Diagramm-Beschriftung
- auf Wunsch: Zusammenfassung oder Trendbeschreibung
Du musst nichts mehr selber formulieren.
Nur noch prüfen – und übernehmen.
Beispiel: Monatsumsätze
Monat | Umsatz (€) |
---|---|
Januar | 10200 |
Februar | 9800 |
März | 11050 |
April | 10600 |
Mai | 11320 |
Du willst daraus:
„Nach einem Rückgang im Februar stiegen die Umsätze im März deutlich. Der Mai markiert den Höchstwert.“
Prompt-Beispiel
Analysiere folgende Umsatzdaten (pro Monat) und gib eine verständliche Zusammenfassung in natürlicher Sprache zurück.
[Liste der Monate + Werte]
GPT antwortet mit 3–5 Sätzen.
Kein Fachjargon. Klarer Stil.
GPT-Anbindung per VBA
Function GPTAnalyse(text As String) As String
Dim http As Object
Dim apiKey As String
Dim json As String
Dim result As String
apiKey = "sk-..." ' Dein GPT-API-Key
json = "{""model"":""gpt-4"",""messages"":[{""role"":""user"",""content"":""" & Replace(text, """", "\""") & """}],""temperature"":0.7}"
Set http = CreateObject("MSXML2.XMLHTTP")
With http
.Open "POST", "https://api.openai.com/v1/chat/completions", False
.setRequestHeader "Content-Type", "application/json"
.setRequestHeader "Authorization", "Bearer " & apiKey
.send json
result = .responseText
End With
Dim startPos As Long, endPos As Long
startPos = InStr(result, """content"":""") + 11
endPos = InStr(startPos, result, """}")
GPTAnalyse = Mid(result, startPos, endPos - startPos)
End Function
Daten aufbereiten und senden
Sub BeschrifteDiagrammAutomatisch()
Dim zeile As Long
Dim letzte As Long
Dim prompt As String
Dim analyse As String
letzte = Cells(Rows.Count, 1).End(xlUp).Row
prompt = "Analysiere folgende Umsatzdaten (pro Monat) und gib eine verständliche Zusammenfassung in natürlicher Sprache zurück:" & vbCrLf
For zeile = 2 To letzte
prompt = prompt & Cells(zeile, 1).Text & ": " & Cells(zeile, 2).Value & vbCrLf
Next zeile
analyse = GPTAnalyse(prompt)
Range("D2").Value = analyse
MsgBox "Analyse fertig: " & vbCrLf & vbCrLf & analyse
End Sub
Als Diagrammtitel übernehmen
Sub DiagrammTitelSetzen()
Dim analyseText As String
Dim chartObj As ChartObject
analyseText = Range("D2").Value
If analyseText = "" Then
MsgBox "Kein Text vorhanden."
Exit Sub
End If
Set chartObj = ActiveSheet.ChartObjects(1)
chartObj.Chart.HasTitle = True
chartObj.Chart.ChartTitle.Text = Left(analyseText, 100)
End Sub
Tipps aus der Praxis
- GPT ist kein Statistiker, aber schreibt flüssig
- Längere Reihen auf 12–15 Zeilen begrenzen
- Präfixe im Prompt helfen: „Schreibe im Stil eines Berichts…“
- Diagrammtitel besser kurz halten – max. 100 Zeichen
Erweiterungsideen
- Varianten für Bullet Points oder Headlines
- Mehrsprachige Analyse (Deutsch, Englisch, Polnisch)
- Automatisches Einfügen in PowerPoint
- Klassifikation von Datenmustern (z. B. „saisonaler Verlauf“)
Wenn Du Dir die Texte zu Deinen Zahlen sparen willst – dann lass GPT für Dich formulieren, direkt aus der Tabelle.
No responses yet