Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Bedingte Formatierung evaluiert nicht auf WAHR obwohl sie es müsste
#1
Frohes Neues Jahr liebe Excelperten! 19

Ich habe folgendes Problem:
In einer Tabelle habe ich ein Datum in Spalte B und möchte Linien ziehen, sobald ein neuer Monat bzw. ein neues Jahr beginnt. Für den Monat funktioniert dies auch wunderprächtig mit der bedingten Formatierung:
Code:
=TAG(INDIREKT("B"&ZEILE()))=1

Da Spalte B auch mal leer sein kann, funktioniert analog fürs Jahr
Code:
=MONAT(INDIREKT("B"&ZEILE()))=1

leider nicht, da eine leere Zelle bei obiger Formel immer auf 1 evaluiert.

Also habe ich mir folgendes ausgedacht:
Code:
=UND(MONAT(INDIREKT("B"&ZEILE()))=1,TAG(INDIREKT("B"&ZEILE())))

Also Monat und Tag müssen auf 1 evaluieren, damit die bedingte Formatierung greift. In einer Formel in einer Zelle funktioniert das auch einwandfrei – sie evaluiert auf WAHR. Nur: In der bedingten Formatierung passiert nichts.

Was habe ich falsch gemacht?
Funktioniert die UND-Funktion nicht in der bedingten Formatierung?
Antworten Top
#2
Wenn Du Dir die Frage schon selbst stellst, versuche

bedF in C1:X1: =(MONAT($B1)=1)*(TAG($B1)=1)

oder 

bedF in C1:X1: =TEXT($B1;"MT")="11"
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • Ya.
Antworten Top
#3
(01.01.2023, 11:57)LCohen schrieb: Wenn Du Dir die Frage schon selbst stellst, versuche

bedF in C1:X1: =(MONAT($B1)=1)*(TAG($B1)=1)

oder 

bedF in C1:X1: =TEXT($B1;"MT")="11"

Ich danke dir, deine erste Formel hat bei mir funktioniert.

Ich versteh zwar immer noch nicht, warum Excel hier scheinbar buggt, aber mit deinem Workaround komm ich auf jeden Fall weiter, danke! 28
Antworten Top
#4
Hi,

das ist kein Bug in Exel sondern der Bug sitzt zwischen Stuhllehne und Monitor:
=UND(MONAT(INDIREKT("B"&ZEILE()))=1,TAG(INDIREKT("B"&ZEILE())))

In deutschem Excel ist das Trennzeichen immer noch ein ;
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#5
Das mit Komma könnte er doch gar nicht eingeben. Oder er hat Komma als Argumenttrenner, und es geht einzugeben. Er bemängelt aber nicht die Eingabe, sondern das Funktionieren.

Es liegt am INDIREKT. Mache ich INDEX($B:$B;ZEILE()) draus, klappt es.
Antworten Top
#6
Hi,

diese Formel:

Code:
=UND(MONAT(INDIREKT("B"&ZEILE()))=1,TAG(INDIREKT("B"&ZEILE())))

hat, abgesehen vom Komma, das Problem, dass in der bedF das UND nicht akzeptiert wird.
Hiermit:


Code:
=(MONAT(INDIREKT("F"&ZEILE()))=1)*(TAG(INDIREKT("F"&ZEILE())))
=(MONAT(INDIREKT("F"&ZEILE()))=1)*(TAG(INDIREKT("F"&ZEILE()))>0)


funktioniert es ohne Probleme.

Mit INDIREKT arbeiten ist allerdings nicht sinnvoll, u.A. weil das Anpassen an andere Spalten aufwändig ist!

Es reichen doch die Formeln, die in der Datei



.xlsx   BedF.xlsx (Größe: 11,7 KB / Downloads: 1)

in Spalte E vorliegen.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#7
Hi,

(01.01.2023, 13:35)BoskoBiati schrieb: diese Formel:

Code:
=UND(MONAT(INDIREKT("B"&ZEILE()))=1,TAG(INDIREKT("B"&ZEILE())))

hat, abgesehen vom Komma, das Problem, dass in der bedF das UND nicht akzeptiert wird.
Das stimmt so auch nicht. UND wird in einer bedF durchaus akzeptiert:

Code:
=UND(MONAT(B1)=1;TAG(B1)=1)

Funktioniert jedenfalls problemlos. Was scheinbar nicht innerhalb einer bedF funktioniert ist UND in Verbindung mit INDIREKT.

Wobei man sich sowieso fragt, für was INDIREKT("B"&ZEILE()) hier gut sein soll. Ist völlig überflüssig. Ein einfaches $B1 reicht hier doch völlig aus (wobei statt der 1 die Zeile der aktive Zelle stehen muss).
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste