Excel-Tutorial: WENN Zelle oder Schriftfarbe X ist – Dann Wert oder Formel ausgeben
In Microsoft Excel gibt es standardmäßig keine direkte Formel (wie z.B. =WENN(FARBE=Rot;...)), um die Farbe einer Zelle oder eines Textes abzufragen.
Um dies zu lösen, gibt es drei gängige Wege:
- VBA (Makros): Die zuverlässigste Methode für benutzerdefinierte Funktionen.
- Namens-Manager (Alter Excel-Trick): Ohne Programmierung, aber etwas eingeschränkt.
- Die "Logik-Umkehr": Wenn die Farbe durch Bedingte Formatierung kam.
Hier ist das ausführliche Tutorial auf Deutsch:
Da Excel Farben als rein visuelle Information und nicht als Datenwert betrachtet, müssen wir Excel beibringen, den „Farb-Index“ einer Zelle zu lesen.
Methode 1: Die Lösung über VBA (Benutzerdefinierte Funktion)
Dies ist die beste Methode, da sie wie eine normale Excel-Formel funktioniert.
Schritt 1: Den VBA-Editor öffnen
- Drücke
ALT+F11, um den VBA-Editor zu öffnen. - Klicke im Menü auf Einfügen -> Modul.
Schritt 2: Den Code kopieren
Kopiere den folgenden Code in das leere Fenster:
Function FarbeAuslesen(ZielZelle As Range, Optional Hintergrund Als Boolean = True)
Application.Volatile
If Hintergrund Then
FarbeAuslesen = ZielZelle.Interior.ColorIndex
Else
FarbeAuslesen = ZielZelle.Font.ColorIndex
End If
End Function
Schritt 3: Die Funktion in Excel nutzen
Jetzt kannst du die Funktion in deiner Tabelle wie eine normale Formel verwenden.
- Hintergrundfarbe prüfen:
=FarbeAuslesen(A1) - Schriftfarbe prüfen:
=FarbeAuslesen(A1; FALSCH)
Ergebnis: Du erhältst eine Zahl (z.B. steht 3 oft für Rot, 6 für Gelb).
Schritt 4: Die WENN-Abfrage erstellen
Wenn du weißt, dass Rot den Index 3 hat, schreibst du:
=WENN(FarbeAuslesen(A1)=3; "Achtung"; "OK")
Methode 2: Ohne VBA (Über den Namens-Manager)
Wenn du keine Makros programmieren möchtest, gibt es einen alten Excel-4.0-Trick.
- Klicke auf die Zelle B1 (wichtig: die Zelle rechts neben der zu prüfenden Zelle).
- Gehe zum Reiter Formeln -> Namens-Manager.
- Klicke auf Neu.
- Name:
CheckFarbe - Bezieht sich auf:
=ZELLE.ZUORDNEN(63; Tabelle1!A1)(für Hintergrund) oder=ZELLE.ZUORDNEN(24; Tabelle1!A1)(für Schriftfarbe).
- Name:
- Klicke OK.
- Schreibe in Zelle B1:
=CheckFarbe.
Auch hier erhältst du einen Farbcode, den du in einer WENN-Formel weiterverarbeiten kannst.
Methode 3: Die "Logik-Umkehr" (Best Practice)
Bevor du VBA nutzt, frage dich: Warum ist die Zelle rot?
- Ist sie rot, weil der Wert kleiner als 0 ist?
- Ist sie rot, weil ein bestimmtes Datum überschritten ist?
Falls die Farbe durch eine Bedingte Formatierung entstanden ist, nutze einfach dieselbe Logik für deine WENN-Formel:
Anstatt: "Wenn Zelle rot ist, dann..."
Schreibe: =WENN(A1<0; "Wert negativ"; "Wert OK")
Dies ist die stabilste Methode, da Excel-Formeln sofort reagieren, wenn sich Daten ändern, während Farb-Funktionen manchmal manuell aktualisiert werden müssen (F9 drücken).
Wichtige Hinweise
- Datei speichern: Wenn du Methode 1 oder 2 nutzt, musst du deine Excel-Datei als Excel-Arbeitsmappe mit Makros (.xlsm) speichern.
- Farbcodes: Jeder Rot-Ton hat eine andere Nummer. Um den exakten Code herauszufinden, färbe eine Zelle ein und nutze
=FarbeAuslesen(Zelle), um die Nummer zu sehen. - Aktualisierung: Excel berechnet Formeln nicht automatisch neu, wenn du nur die Farbe änderst (da ein Farbwechsel kein "Ereignis" für Excel ist). Drücke
F9, um die Berechnung zu erzwingen.
Zusammenfassung der Farbcodes (Standard-Palette):
- 3 = Rot
- 6 = Gelb
- 4 = Grün
- 1 = Schwarz
- 2 = Weiß