Automatische Textanalyse von Zelleninhalten (Stichworte, Tonalität, Zusammenfassung) mit GPT

Worum geht’s?

Du hast viele Texte in Excel.
Kommentare, Bewertungen, Rückmeldungen.

Und Du willst wissen:
Worum geht’s?
Wie klingt das?
Wie lässt sich das kurz zusammenfassen?

Alles automatisch.
Direkt in Excel. Mit GPT.
Ich zeig Dir, wie’s geht.

Was brauchst Du?

  • Excel 2024 mit Makrozugriff
  • Einen OpenAI API-Key
  • Texte in Spalte A
  • Freie Spalten für Stichworte, Tonalität, Zusammenfassung

Beispielhafte Tabelle

OriginaltextStichworteTonalitätZusammenfassung
Der Support hat schnell reagiert, danke!Support, ReaktionszeitpositivSchnelle und freundliche Hilfe
Leider keine Antwort erhalten.Antwort, KritiknegativAntwort blieb aus
Lieferung wie beschrieben.Lieferung, ProduktneutralProdukt wie erwartet geliefert

Prompt-Vorlage

Analysiere den folgenden Text.
Gib zurück:

  1. Eine Liste mit 2–4 Stichworten
  2. Die Tonalität („positiv“, „neutral“, „negativ“)
  3. Eine kurze Zusammenfassung in einem Satz
    Text: [hier einsetzen]

VBA-Funktion zur GPT-Anfrage

Function GPTTextanalyse(prompt As String) As String
    Dim http As Object
    Dim apiKey As String
    Dim json As String
    Dim result As String

    apiKey = "sk-..." ' Deinen OpenAI API-Key hier einfügen

    json = "{""model"":""gpt-4"",""messages"":[{""role"":""user"",""content"":""" & Replace(prompt, """", "\""") & """}],""temperature"":0.3}"

    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, """}")
    GPTTextanalyse = Mid(result, startPos, endPos - startPos)
End Function

Analyse für eine Spalte durchführen

Sub ZellenAnalysieren()
    Dim zeile As Long
    Dim letzte As Long
    Dim text As String
    Dim prompt As String
    Dim antwort As String
    Dim teile() As String

    letzte = Cells(Rows.Count, 1).End(xlUp).Row

    For zeile = 2 To letzte
        text = Trim(Cells(zeile, 1).Value)
        If Len(text) > 0 Then
            prompt = "Analysiere den folgenden Text." & vbCrLf & _
                     "Gib zurück: 1. Stichworte (kommagetrennt), 2. Tonalität (positiv, neutral, negativ), 3. eine kurze Zusammenfassung." & vbCrLf & _
                     "Text: " & text
            antwort = GPTTextanalyse(prompt)

            teile = Split(antwort, vbLf)
            If UBound(teile) >= 2 Then
                Cells(zeile, 2).Value = Trim(Replace(teile(0), "Stichworte:", ""))
                Cells(zeile, 3).Value = Trim(Replace(teile(1), "Tonalität:", ""))
                Cells(zeile, 4).Value = Trim(Replace(teile(2), "Zusammenfassung:", ""))
            Else
                Cells(zeile, 2).Value = "Fehler"
            End If

            DoEvents
            Application.Wait Now + TimeValue("0:00:01")
        End If
    Next zeile

    MsgBox "Fertig mit Analyse."
End Sub

Tipps für die Praxis

  • GPT braucht klare Anweisungen – Prompt immer exakt halten
  • Eingabe kürzen, wenn mehr als 1000 Zeichen
  • Temperatur auf 0.3 setzen für konsistentere Ergebnisse
  • Ergebnisse regelmäßig prüfen und notfalls per Hand überarbeiten

Erweiterungsideen

  • Ergebnisse in eigene Datenbank schreiben
  • Analyse beim Speichern oder Öffnen auslösen
  • Farbige Markierung je nach Tonalität
  • Mehrsprachige Analyse mit Sprachvorgabe im Prompt

Wenn Du Texte in Excel verstehen willst, ohne sie alle selbst zu lesen – dann lass GPT die Arbeit machen und filtere gezielt nach Ton, Inhalt und Aussage.

Keine Antworten

Schreibe einen Kommentar

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