Nachfolgend erhalten Sie einen umfassenden, praxisorientierten Artikel zum Thema „Excel DSGVO-konform nutzen“. Der Text ist so aufgebaut, dass er sowohl die rechtlichen Grundprinzipien in verständlicher Form darstellt als auch konkrete, unmittelbar anwendbare technische Maßnahmen und Beispiele in Excel (inkl. VBA-Beispielen) liefert.
Einleitung
Excel ist in vielen Betrieben das zentrale Werkzeug für Listen, Adressdaten, Kunden- und Fallverzeichnisse. Gleichzeitig verarbeitet Excel häufig personenbezogene Daten — damit fallen Excel-Workbooks unter die DSGVO-Pflichten. Dieser Artikel erklärt, wie Sie mit einfachen organisatorischen und technischen Maßnahmen die DSGVO-Anforderungen erfüllen können — praxisnah, mit Vorlagen und Makros, die Sie direkt einsetzen oder anpassen können.
1. Kurzer Überblick: DSGVO-Grundprinzipien
- Rechtmäßigkeit, Verarbeitung nach Zweck: Erfassen Sie nur Daten, die für einen klaren Zweck erforderlich sind.
- Datenminimierung: So wenig personenbezogene Daten wie möglich.
- Speicherbegrenzung: Daten nur so lange aufbewahren wie nötig.
- Integrität und Vertraulichkeit: Schutz gegen unbefugten Zugriff.
- Rechenschaftspflicht: Nachweis der Einhaltung (Protokolle, Verfahrensanweisungen).
Diese Prinzipien müssen Sie praktisch umsetzen — die folgenden Abschnitte zeigen, wie das mit Excel geht.
2. Organisatorische Maßnahmen
- Dateninventar führen
Legen Sie eine Excel-Datei an (oder in ihrem Datenschutz-System), die dokumentiert:- welche personenbezogenen Daten Sie in Excel speichern (Felder),
- Zweck der Verarbeitung,
- Rechtsgrundlage,
- Aufbewahrungsdauer,
- Verantwortliche(r) für die Tabelle.
Dieses Inventar ist Ihre Grundlage für spätere Entscheidungen.
- Zugriffskontrollen
- Beschränken Sie Zugriff auf Ordner/SharePoint/OneDrive nach dem Need-to-know-Prinzip.
- Verwenden Sie Benutzerkonten und Gruppenrechte statt gemeinsame Kennwörter.
- Aufbewahrungs- und Löschkonzept
Definieren Sie Aufbewahrungsfristen in Tagen/Monaten/Jahren und automatisieren oder dokumentieren Sie Löschprozesse. - Verfahrensanweisung & Schulung
Kurzanleitung für Mitarbeiter: Welche Daten dürfen erfasst werden, wie versenden, wie löschen, wie Anfragen bearbeiten. - Protokollierung
Protokollieren Sie schwere Eingriffe (z. B. Löschungen, Datenübermittlungen). Ein Audit-Log kann in einer separaten, geschützten Datei geführt werden.
3. Technische Maßnahmen in Excel — praktische Checkliste
- Minimierung vor der Aufnahme: Erfassen Sie nur notwendige Spalten. Statt vollständiger Geburtsdaten reicht ggf. das Geburtsjahr oder Altersspanne.
- Pseudonymisierung: Trennen Sie Identitätsdaten (Name, Adresse) von den Fall-/Verarbeitungsdaten und ersetzen Sie Identifikatoren durch Token/IDs. (Siehe VBA-Beispiel weiter unten.)
- Dateiverschlüsselung (Office): Verwenden Sie die integrierte Verschlüsselung (Datei → Informationen → Dokument schützen → Mit Kennwort verschlüsseln). Verwenden Sie starke Passwörter und verwalten Sie diese über einen Passwortmanager.
- Workbook- und Blatt-Schutz: Schützen Sie Blätter vor versehentlicher Bearbeitung (nicht ausreichend als alleinige Maßnahme, aber nützlich).
- Separate Schlüsseldatei: Lagern Sie die Zuordnung ID → Person in einer separaten, extra gesicherten Datei (verschlüsselt, andere Zugriffsliste).
- Versions- & Sicherungsstrategie: Sichern Sie Backups an einem sicheren Ort; alte Sicherungen also auch löschen, wenn Daten gelöscht werden müssen.
- E-Mail-Versand vermeiden: Keine personenbezogenen Excel-Listen als unverschlüsselte E-Mail-Anhänge versenden. Nutzen Sie gesicherte Share-Links mit Zugriffsbeschränkung.
- Zugriffsrechte in Cloudspeicher: Prüfen Sie Freigaben in OneDrive/SharePoint; nutzen Sie Ablaufdaten für Links.
- Makros nur signiert: Wenn Sie Makros einsetzen, signieren Sie diese oder verwenden Sie ein Vertrauensmodell, damit nur autorisierte Makros laufen.
4. Praktische Excel-Beispiele (Formeln & Vorgehensweisen)
4.1 Beispiel: E-Mail-Adresse maskieren (Anzeige maskieren)
Ziel: In einer Anzeige-Spalte nur die ersten 2 Zeichen und die Domain sichtbar lassen, rest maskiert.
Formelbeispiel (englische Funktionen mit Semikolon als Trennzeichen — passt für deutsche Excel-Installationen, die Semikolon als Trenner nutzen):
Erläuterung:
- LINKS(A2;2) – gibt die ersten 2 Zeichen der E-Mail zurück.
- FINDEN("@";A2) – ermittelt die Position des @-Zeichens.
- WIEDERHOLEN("*"; …) – erzeugt die Sternchen zur Maskierung.
- TEIL(A2; FINDEN("@";A2); LÄNGE(A2)) – gibt die komplette Domain ab dem @-Symbol zurück.
Hinweis: Achten Sie auf die Funktionennamen in Ihrer Excel-Version. Wichtig: Verwenden Sie in Formeln immer das Semikolon (;) als Trennzeichen in deutschen Excel-Installationen.
4.2 Beispiel: Telefonnummern pseudonymisiert anzeigen
Beispiel-Formel, die nur die letzten 3 Ziffern anzeigt:
4.3 Beispiel: Altersbereich statt Geburtsdatum verwenden
Statt Geburtsdatum vollständig zu speichern, können Sie das Alter in Jahren berechnen und nur das Alter speichern:
Speichern Sie nur das Ergebnis (z. B. 45) statt des vollständigen Geburtsdatums.
5. Pseudonymisierung per VBA — praktisches Makro
Unten ein Makro-Beispiel, das:
- eine Identifikationsspalte (z. B. E-Mail oder Name) durch eine zufällige ID ersetzt,
- die Zuordnung in einer separaten, verschlüsselten Schlüsseldatei ablegt (Export als neues Workbook; Sie müssen dieses Ziel-Workbook anschließend manuell verschlüsseln oder in geschützten Ordner verschieben).
'***************************************************************************************************
' VBA-Code erstellt 11/2025
' A. Eckl - Excel-Inside Solutions
' https://excel-inside.de
' Prozedur-Beschreibung: Pseudonymisiert eine Identifikationsspalte und exportiert die Zuordnungstabelle.
'***************************************************************************************************
Sub PseudonymisierenUndExportieren()
'** Hinweis: Blatt "Daten" erwartet Spalte A = OriginalID (z.B. E-Mail) und ersetzt sie durch Pseudonym.
Dim wsData As Worksheet
Dim wsKey As Worksheet
Dim wbKey As Workbook
Dim lastRow As Long
Dim i As Long
Dim orig As String
Dim token As String
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
Set wsData = ThisWorkbook.Worksheets("Daten")
'** Finden der letzten Zeile mit Daten in Spalte A
lastRow = wsData.Cells(wsData.Rows.Count, "A").End(xlUp).Row
'** Neue Schlüssel-Map in einem neuen Workbook anlegen
Set wbKey = Workbooks.Add
Set wsKey = wbKey.Worksheets(1)
wsKey.Range("A1").Value = "Token"
wsKey.Range("B1").Value = "OriginalID"
For i = 2 To lastRow
orig = Trim(wsData.Cells(i, "A").Value)
If orig <> "" Then
If Not dict.Exists(orig) Then
'** Token erzeugen: Kombination aus Datum+Zufall (kann angepasst werden)
token = "ID-" & Format(Now, "yyyymmddHHMMSS") & "-" & Format(Int((9999 - 1000 + 1) * Rnd + 1000), "0000")
dict.Add orig, token
wsKey.Cells(dict.Count + 1, "A").Value = token
wsKey.Cells(dict.Count + 1, "B").Value = orig
Else
token = dict(orig)
End If
'** Original in Datenblatt durch Token ersetzen
wsData.Cells(i, "A").Value = token
End If
Next i
'** Hinweis: Speichern Sie die Schlüsseldatei an einem gesicherten Ort und verschlüsseln Sie diese.
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
MsgBox "Pseudonymisierung abgeschlossen. Schlüsseldatei ist in einer neuen Arbeitsmappe erstellt. Bitte sichern/verschlüsseln Sie diese separat.", vbInformation
End Sub

