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

MonatUmsatz (€)
Januar10200
Februar9800
März11050
April10600
Mai11320

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.

Tags:

No responses yet

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert