Ich erhalte immer die Fehlermeldung, dass zu viele Funktionen vorhanden sind. Ich versuche Folgendes zu erreichen: WENN in einer bestimmten Spalte (Montag bis Sonntag) Stunden aufgeführt sind, nehme ich das Datum (in Zelle Y1) abzüglich der korrekten Anzahl von Tagen. Warum funktioniert das nicht?
=IF(M3<>"", $Y$1-6, "",IF(N3<>"", $Y$1-5, "", IF(O3<>"", $Y$1-4, "",IF(P3<>"", $Y$1-3, "",IF(Q3<>"", $Y$1-2, "", IF(R3<>"", $Y$1-1, "",IF(S3<>"", $Y$1, "")))))))
Antwort1
Das verschachtelte IF wird an die FALSE-Position des übergeordneten IF eingefügt:
=IF(M3<>"", $Y$1-6,IF(N3<>"", $Y$1-5,IF(O3<>"", $Y$1-4,IF(P3<>"", $Y$1-3,IF(Q3<>"", $Y$1-2, IF(R3<>"", $Y$1-1,IF(S3<>"", $Y$1,"")))))))
Dennoch können wir es sicherlich noch schlanker gestalten:
=$Y$1-7-MATCH(TRUE,INDEX(M3:S3<>"",),0)
Der INDEX gibt ein Array von TRUE/FALSE an den MATCH zurück. Der MATCH gibt die relative Position des ersten TRUE in diesem Array zurück. Wir subtrahieren das von 7, um den richtigen Wert zu erhalten, der von Y1 abgezogen werden muss.