Worum geht’s?

Du hast Excel-Listen mit Umsätzen, Messwerten oder Verbrauchszahlen.
Irgendwas ist immer faul: Zahlendreher, Eingabefehler, Ausreißer.
Und Du willst nicht jedes Mal per Hand prüfen.

Also bauen wir eine einfache KI-Logik in Excel.
Nicht als Statistik-Modell. Sondern als pragmatischer Helfer.
Mit OpenAI. Und ein bisschen VBA.

Was brauchst Du?

  • Excel 2024 mit Makrozugriff
  • Einen OpenAI API-Key
  • Grundkenntnisse in VBA
  • Zahlen, die plausibel sein sollen

Ziel

GPT prüft eine Liste von Zahlen und meldet:

  • „Sieht normal aus“
  • „Fällt auf“
  • „Ist ein Ausreißer“

GPT bekommt keine Formeln. Nur rohe Zahlenwerte.
Du entscheidest, wie empfindlich er reagieren soll.

Beispielhafte Datentabelle

MonatUmsatz (€)
Januar12000
Februar11800
März12250
April35000
Mai11950

Die GPT-Anfrage soll erkennen: Der April sieht komisch aus.

GPT-Prompt für die Prüfung

Prüfe folgende Liste von Zahlen auf Ausreißer oder ungewöhnliche Werte: [12000, 11800, 12250, 35000, 11950]. Beurteile jeden Wert. Gibt es Werte, die nicht zur Reihe passen?

GPT antwortet dann mit Einschätzungen pro Wert.
Die Antwort schreiben wir per VBA in die Tabelle zurück.

VBA-Funktion für die Anfrage

Function PruefeZahlenMitGPT(zahlenListe As String) As String
    Dim http As Object
    Dim json As String
    Dim result As String
    Dim apiKey As String

    apiKey = "sk-..." ' Dein OpenAI API-Key

    Set http = CreateObject("MSXML2.XMLHTTP")

    json = "{""model"":""gpt-4"",""messages"":[{""role"":""user"",""content"":""Prüfe folgende Liste von Zahlen auf Ausreißer oder ungewöhnliche Werte: " & zahlenListe & _
           ". Beurteile jeden Wert. Gibt es Werte, die nicht zur Reihe passen?" & """}],""temperature"":0.5}"

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

Makro zur Prüfung einer Spalte

Sub WertePruefen()
    Dim letzte As Long
    Dim i As Long
    Dim zahlen() As String
    Dim antwort As String

    letzte = Cells(Rows.Count, 2).End(xlUp).Row
    ReDim zahlen(1 To letzte - 1)

    For i = 2 To letzte
        zahlen(i - 1) = CStr(Cells(i, 2).Value)
    Next i

    Dim liste As String
    liste = "[" & Join(zahlen, ", ") & "]"

    antwort = PruefeZahlenMitGPT(liste)
    Cells(1, 3).Value = "GPT-Einschätzung"

    Cells(2, 3).Resize(letzte - 1, 1).ClearContents
    Cells(2, 3).Value = antwort
End Sub

GPT gibt eine zusammenhängende Einschätzung zurück.
Du kannst diese manuell oder mit NLP weiter aufspalten.

Tipps für die Praxis

  • GPT kann kleine Listen besser beurteilen als riesige
  • Für lange Reihen aufteilen in Blöcke à 20–30 Werte
  • Frage nach „Begründung pro Wert“, wenn Du’s genauer willst
  • Verwende GPT nur als Hinweisgeber, nicht als alleinige Prüfung

Erweiterungsideen

  • Einzelwertprüfung bei Neueingabe (Worksheet_Change)
  • Ampelfarben per VBA aus GPT-Urteil ableiten
  • Fehlerhistorie je Zelle mit Timestamp führen
  • Kombination mit IQR oder Z-Score für hybride Plausibilität

Wenn Du wissen willst, ob ein Wert aus der Reihe tanzt – lass GPT draufschauen und sag Dir ehrlich, was Sache ist.

Tags:

No responses yet

Schreibe einen Kommentar

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