ChatGPT KI direkt in Microsoft Excel

Es mehrere Ansätze, um ChatGPT und ähnliche KI-Lösungen direkt in Microsoft Excel (Desktop-Version) zu integrieren. Je nach Anwendungsfall, Sensibilität der Daten und DSGVO-Konformität bieten sich unterschiedliche Lösungen an:

💡 1. Microsoft Copilot für Excel

Beschreibung:
Copilot ist direkt in Microsoft 365 integriert und basiert auf OpenAI-Technologie (GPT-4/4o). Es steht nur in bestimmten Plänen zur Verfügung (z. B. Microsoft 365 E5, Copilot for Microsoft 365).

Funktionen:

  • Analyse von Daten in Echtzeit
  • Vorschläge für Formeln, Visualisierungen und Pivot-Tabellen
  • Textgenerierung und Datenzusammenfassungen

Eignung für sensible Daten:
Geeignet, da es sich vollständig in die Microsoft-365-Umgebung einfügt.

DSGVO-Konformität:
Ja, sofern Microsoft 365 in der EU-Datenregion genutzt wird und die vertraglichen Datenschutzvereinbarungen (DPA) abgeschlossen sind.

🔌 2. Eigene VBA- oder Office Script-Integration mit OpenAI API

Beschreibung:
Per VBA oder Office Script kann man die OpenAI API direkt ansprechen, z. B. zum Zusammenfassen von Texten oder Interpretieren von Daten.

Funktionen:

  • Sehr flexibel
  • Nutzung von GPT-4 über API-Key
  • Kann lokal oder cloudbasiert eingesetzt werden

Eignung für sensible Daten:
Nicht geeignet, da Daten an die OpenAI-Server (USA) gesendet werden – selbst bei aktivierter „Zero Data Retention“-Option verbleibt ein Risiko.

DSGVO-Konformität:
⚠️ Nur eingeschränkt, da OpenAI keine vollständige DSGVO-Konformität garantiert. Es fehlt u. a. ein AVV (Auftragsverarbeitungsvertrag) nach EU-Recht.

🧩 3. Integration über Azure OpenAI + Power Automate / Power Fx

Beschreibung:
Azure OpenAI bietet GPT-Modelle auf Microsofts Infrastruktur, mit garantierter Datenhaltung in der EU.

Funktionen:

  • Zugriff über Power Platform oder direkt über REST API
  • Kombinierbar mit Excel-Daten (Power Query, Power Automate, etc.)

Eignung für sensible Daten:
Geeignet, da Microsoft in Azure die volle Kontrolle über Datenhaltung und Zugriff gewährt

DSGVO-Konformität:
Ja, wenn Azure EU-Region verwendet und AVV mit Microsoft abgeschlossen ist

🖥️ 4. Lokale GPT-Modelle (z. B. GPT4All, LM Studio, ollama) + Excel-Anbindung

Beschreibung:
Open-Source-Modelle können lokal (on-premise) betrieben werden, z. B. über Python und COM-Schnittstellen oder REST-API zu Excel.

Funktionen:

  • Vollständige lokale Kontrolle
  • Keine Cloud, kein externer Anbieter

Eignung für sensible Daten:
Sehr gut geeignet, volle Datenhoheit

DSGVO-Konformität:
Ja, da keine Daten das Unternehmen verlassen
⚠️ Aber: Aufwand für IT-Sicherheit, Modeltraining und Ressourcenbedarf hoch

🔒 Empfehlung bei sensiblen Daten (z. B. Personal-, Finanz-, Kundendaten):

LösungSensible Daten geeignet?DSGVO-Konform?Bemerkung
Microsoft Copilot für Excel✅ Ja✅ JaEinfach, aber nur mit bestimmter Lizenz nutzbar
Azure OpenAI mit Power Automate✅ Ja✅ JaSehr flexibel und skalierbar
Lokales GPT-Modell (on-premise)✅ Ja✅ JaHöchste Sicherheit, aber hoher Aufwand
OpenAI API direkt (z. B. per VBA)❌ Nein⚠️ EingeschränktFür interne Tests oder nicht-sensible Daten

Hier ist ein vollständiges VBA-Beispiel, um über die OpenAI API (z. B. GPT-4) aus Excel Desktop heraus einen Text zu analysieren oder eine Antwort zu generieren. Beachte: Diese Lösung ist nicht DSGVO-konform bei sensiblen Daten!

🛠 Voraussetzungen

  1. API-Schlüssel von OpenAI: https://platform.openai.com/account/api-keys
  2. Microsoft XML v6.0 und Scripting Runtime aktivieren:
    • VBA-Editor öffnen (ALT + F11)
    • Menü: Extras > Verweise…
    • Haken setzen bei:
      • Microsoft XML, v6.0
      • Microsoft Scripting Runtime

📄 Beispielcode

Sub GPT_Request()
    Dim apiKey As String
    Dim prompt As String
    Dim model As String
    Dim response As String

    ' Dein API-Schlüssel hier eintragen
    apiKey = "sk-..." ' << DEIN API-KEY >>

    ' Eingabe aus Zelle A1
    prompt = Range("A1").Value
    model = "gpt-4" ' oder "gpt-3.5-turbo"

    ' API-Aufruf
    response = CallOpenAI(apiKey, model, prompt)

    ' Antwort in Zelle B1
    Range("B1").Value = response
End Sub

Function CallOpenAI(apiKey As String, model As String, prompt As String) As String
    Dim http As New XMLHTTP60
    Dim json As New Dictionary
    Dim messages As New Collection
    Dim message As New Dictionary
    Dim requestBody As String
    Dim responseText As String
    Dim url As String
    
    ' OpenAI Chat Endpoint
    url = "https://api.openai.com/v1/chat/completions"
    
    ' JSON-Anfrage vorbereiten
    message.Add "role", "user"
    message.Add "content", prompt
    messages.Add message
    
    json.Add "model", model
    json.Add "messages", messages
    json.Add "temperature", 0.7
    
    requestBody = JsonConverter.ConvertToJson(json)
    
    ' HTTP POST
    With http
        .Open "POST", url, False
        .setRequestHeader "Content-Type", "application/json"
        .setRequestHeader "Authorization", "Bearer " & apiKey
        .Send requestBody
        responseText = .responseText
    End With
    
    ' Antwort parsen
    Dim jsonResponse As Object
    Set jsonResponse = JsonConverter.ParseJson(responseText)
    
    On Error Resume Next
    CallOpenAI = jsonResponse("choices")(1)("message")("content")
    On Error GoTo 0
End Function

🔁 JSON-Parser hinzufügen

Damit das obige Beispiel funktioniert, brauchst Du einen JSON-Parser für VBA:

  1. Lade JsonConverter.bas von:
    👉 https://github.com/VBA-tools/VBA-JSON
  2. In den VBA-Editor importieren: Datei > Datei importieren…JsonConverter.bas

📌 Hinweis zur Datensicherheit

  • Die Daten (Inhalt von Zelle A1) werden an OpenAI gesendet (USA).
  • Verwende keine personenbezogenen oder vertraulichen Daten.
  • OpenAI bietet eine Option zum Abschalten der Datenspeicherung (https://platform.openai.com/account/data-controls), aber es bleibt ein Restrisiko.

Schlagwörter:

Keine Antworten

Schreibe einen Kommentar

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