Excel 2013: Bedingte Formatierung mit IF und Indirect() wird nicht ausgewertet
Hallo zusammen,
ich möchte eine bedingte Formatierung verwenden, zu der ich den Vergleichswert auf Grund folgender Bedingungen ermittle:
- Prüfe die aktuelle Spalte und lese aus Zeile 2 den Inhalt aus.
- vergleiche diesen mit einem Vergleichswert XY
- Ist der Vergleich erfolgreich, dann lese im Sheet1 den MAX()-Wert aus einer ZeileX von Spalte H-Z aus
- Ist der Vergleich FALSCH, dann springe in die nächste IF-Iteration im FALSE-Zweig von IF
- Vergleiche diese Rückgabe mit 2 (in meinem Beispiel)
- Wenn TRUE, dann formatierte...
Achtung, ich verwende eine englische Office-Version! ADDRESS ist korrekt geschrieben.
Funktionsnamenübersetzung:
INDIRECT=INDIREKT
ADDRESS=ADRESSE
COLUMN=SPALTE
Zur Vereinfachung habe ich das Ganze mal runtergebrochen und getestet:
=INDIRECT(ADDRESS(2;COLUMN();1))="AU" => funktioniert in bedingeter Formatierung: Rückgabe=TRUE
=IF(1=1;MAX(Sheet1!$H$4:$Z$4);"")=2 => funktioniert in bedingeter Formatierung: Rückgabe=TRUE (MAX liefert 2 zurück)
Sobald ich "Indirect()" im IF() auswerten will, erfolgt scheinbar keine Rückgabe von IF. Weder TRUE noch FALSE scheinen durchlaufen zu werden. Ich habe auch schon erfolglos mit "" experimentiert.
=IF(INDIRECT(ADDRESS(2;COLUMN();1))="AU";MAX(Sheet1!$H$4:$Z$4);"falsch")=2 => geht nicht
Wer habe eine Idee woran das liegt?
Wer hat die Lösung?
Danke
Michi
ich möchte eine bedingte Formatierung verwenden, zu der ich den Vergleichswert auf Grund folgender Bedingungen ermittle:
- Prüfe die aktuelle Spalte und lese aus Zeile 2 den Inhalt aus.
- vergleiche diesen mit einem Vergleichswert XY
- Ist der Vergleich erfolgreich, dann lese im Sheet1 den MAX()-Wert aus einer ZeileX von Spalte H-Z aus
- Ist der Vergleich FALSCH, dann springe in die nächste IF-Iteration im FALSE-Zweig von IF
- Vergleiche diese Rückgabe mit 2 (in meinem Beispiel)
- Wenn TRUE, dann formatierte...
Achtung, ich verwende eine englische Office-Version! ADDRESS ist korrekt geschrieben.
Funktionsnamenübersetzung:
INDIRECT=INDIREKT
ADDRESS=ADRESSE
COLUMN=SPALTE
Zur Vereinfachung habe ich das Ganze mal runtergebrochen und getestet:
=INDIRECT(ADDRESS(2;COLUMN();1))="AU" => funktioniert in bedingeter Formatierung: Rückgabe=TRUE
=IF(1=1;MAX(Sheet1!$H$4:$Z$4);"")=2 => funktioniert in bedingeter Formatierung: Rückgabe=TRUE (MAX liefert 2 zurück)
Sobald ich "Indirect()" im IF() auswerten will, erfolgt scheinbar keine Rückgabe von IF. Weder TRUE noch FALSE scheinen durchlaufen zu werden. Ich habe auch schon erfolglos mit "" experimentiert.
=IF(INDIRECT(ADDRESS(2;COLUMN();1))="AU";MAX(Sheet1!$H$4:$Z$4);"falsch")=2 => geht nicht
Wer habe eine Idee woran das liegt?
Wer hat die Lösung?
Danke
Michi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 368777
Url: https://administrator.de/contentid/368777
Ausgedruckt am: 26.11.2024 um 12:11 Uhr
20 Kommentare
Neuester Kommentar
warum?
ergibt? richtig: FALSCH. Perfekt - wenn ich deine Formel richtig verstanden habe
Noch einmal, deine Beschreibung passt nicht zur Formel - erkläre einfach mal mit eigenen Worten, was wann wie passieren soll...
=UND(FALSCH;WAHR)
Noch einmal, deine Beschreibung passt nicht zur Formel - erkläre einfach mal mit eigenen Worten, was wann wie passieren soll...
Quark!
Zitat von https://support.office.com/de-de/article/und-funktion-5f19b2e8-e1df-4408 ...
Verwenden Sie die Funktion UND (eine der logischen Funktionen), um zu bestimmen, ob alle Bedingungen in einer Prüfung WAHR sind.
Verwenden Sie die Funktion UND (eine der logischen Funktionen), um zu bestimmen, ob alle Bedingungen in einer Prüfung WAHR sind.
Zitat von @Kraemer:
Noch einmal, deine Beschreibung passt nicht zur Formel - erkläre einfach mal mit eigenen Worten, was wann wie passieren soll...
Noch einmal, deine Beschreibung passt nicht zur Formel - erkläre einfach mal mit eigenen Worten, was wann wie passieren soll...
1. Hast du meine Formel schon einmal getestet?
2.
gibt falsch zurück, wenn nicht in der indirect-Adresse "AU" steht
gibt das Ergebnis aus MAX(Sheet1!$H$4:$Z$4) zurück, wenn in der indirect-Adresse "AU" steht
aus diesem Strang kommen also exakt zwei mögliche Werte:
1. falsch
2. n
hier prüfst du, ob das Ergebnis aus dem if 2 entspricht.
Ergibt drei mögliche Werte:
A) im Fall 1. false
B) im Fall 2. false, wenn 2. <> 2
C) im Fall 2. true, wenn 2. = 2
Vereinfacht prüfst du
und
und zusammen gefasst ergibt das
kommt dir bekannt vor?
Die Formel sagt nichts anderes wie: Mache meine Zellen bunt, wenn INDIRECT(ADDRESS(2;COLUMN();1))="AU" ist und dann auch noch MAX(Sheet1!$H$4:$Z$4)=2 ist.
2.
=IF(INDIRECT(ADDRESS(2;COLUMN();1))="AU";MAX(Sheet1!$H$4:$Z$4);"falsch")
gibt das Ergebnis aus MAX(Sheet1!$H$4:$Z$4) zurück, wenn in der indirect-Adresse "AU" steht
aus diesem Strang kommen also exakt zwei mögliche Werte:
1. falsch
2. n
=2
Ergibt drei mögliche Werte:
A) im Fall 1. false
B) im Fall 2. false, wenn 2. <> 2
C) im Fall 2. true, wenn 2. = 2
Vereinfacht prüfst du
INDIRECT(ADDRESS(2;COLUMN();1))="AU"
MAX(Sheet1!$H$4:$Z$4)=2
und zusammen gefasst ergibt das
=and(INDIRECT(ADDRESS(2;COLUMN();1))="AU";MAX(Sheet1!$H$4:$Z$4)=2)
Die Formel sagt nichts anderes wie: Mache meine Zellen bunt, wenn INDIRECT(ADDRESS(2;COLUMN();1))="AU" ist und dann auch noch MAX(Sheet1!$H$4:$Z$4)=2 ist.
Zitat von @Michi1:
nein, ich habe deine Formel noch nicht geprüft, weil dir offensichtlich noch immer nicht klar ist, dass diese Prüfung
und dir ist noch immer nicht klar, wie die =und funktioniertnein, ich habe deine Formel noch nicht geprüft, weil dir offensichtlich noch immer nicht klar ist, dass diese Prüfung
nur dann durchgeführt werden soll, wenn die erste Prüfung
darauf zu bestehen ist überhaupt nicht nötig, weil es auf das Ergebnis keinen Einfluss hatHier mal die ganze Formel um das zu verdeutlichen:
ja, ist deutlich. Du quälst dich mit einem Konstrukt rum, welches kaum wartbar ist.Nimm 3 von meinen Formeln (separat), mit den passenden Bedingungen und alles ist gut. Und vor allem kapiert man auch in Jahren noch, was da eigentlich geprüft wird.
Deine anfängliche Aussage
Sobald ich "Indirect()" im IF() auswerten will, erfolgt scheinbar keine Rückgabe von IF.
ist nämlich schlicht falsch. Das Problem ist, dass du die falsch auswertest. Und das ist bei so einem Monster auch nicht ungewöhnlich.PS: Das du meinen Vorschlag, der in Sekunden umgesetzt ist, noch nicht einmal getestet hast, ist eigentlich schon frech! Wenn mein Vorschlag nämlich nicht so funktionieren würde, wie du dir das vorstellst, könnten wir klären warum das so ist.
jupp
Namensmanager
Lege dort einen neuen Wert an, nenne ihn sagen wir mal "Start" und dieser bezieht sich auf
Dann benennst du noch die einzelnen Zeilen auf dem Tabellenblatt 1-Cross... mit ROW_AU, ROW_A etc: http://www.tab-tipps.de/excel/formeln/namen.shtml
Und dann tauscht du in deiner Formel die Bezüge gegen die Namen aus. Frage mich nicht, wo der Unterschied ist - bei meiner UND-Formel gab es auch Probleme - mit den Namen nicht
Namensmanager
Lege dort einen neuen Wert an, nenne ihn sagen wir mal "Start" und dieser bezieht sich auf
=INDIREKT(ADRESSE(2;SPALTE();1))
Und dann tauscht du in deiner Formel die Bezüge gegen die Namen aus. Frage mich nicht, wo der Unterschied ist - bei meiner UND-Formel gab es auch Probleme - mit den Namen nicht
jederzeit gerne. Ich knoble mit Vorliebe an solchen Problemen. Du siehst jetzt hoffentlich aber auch ein, wie wichtig es ist, Vorschläge zu testen und dazu eine Rückmeldung zu geben. Nur dadurch war es mir jetzt Möglich, dein Problem nachzuvollziehen