Excel Nächstes Datum anzeigen?

2 Antworten

{=Min((B:B>heute())*wenn(A:A="X";B:B,#NV)}

Achtung: Dies ist eine Matrixformel! Die Formel (ohne { } !) anstatt mit einfachem Enter mit der Kombination (gleichzeitig) Strg+Shift+Enter abschließen (nach jeder Neubearbeitung wieder!!!). Es entstehen dann automatisch geschweifte {Klammern}
➳Schreibtechnisch nimmst Du am besten die rechte Strg- und Umschalttaste, dann gehts mit einer Hand und lässt sich auch leichter merken!

- - ☺Noch ein Tipp: Wenn Du in der Bearbeitungszeile einen selbständigen Formelteil markierst und F9 drückst, erhältst Du ein(e) Ergebnis{liste} angezeigt. Allerdings dann die Zelle mit Esc verlassen (oder rückgängig machen), Enter würde das gezeigte Ergebnis festschreiben!
Vorläufig kurze Bereiche festlegen (also zB A$1:A$22 etc, damit die Bearbeitungszeile halbwegs übersichtlich bleibt, auch Umbrüche mit Alt+Emter erleichtern das)!
█ manchmal verzögert die Ausweitung auf ganze Spalten die Berechnungsgeschwindigkeit drastisch, dann eben ein Maximum festlegen

PS: MIN() ignoriert Fehler. Wenn man Bescheid weiß, kann man den Fehler auch  -wie Jackie- durch Weglassen des SONST-Arguments erzeugen, für denAnfang halte ich die explizite Fehlererzeugung per Sonst-Argument für besser nachvollziehbar.

Iamiam  22.07.2017, 01:31

Noch ne Erklärung: B:B>HEUTE() liefert für alle zukünftigen Werte ab morgen eine 1, schließt also Heute und Gestern und davor aus (=>Null)

Halt, ich hab vergessen, auch da ein WENN(B:B>Heute();#NV)

zu verwenden! Also insgesamt:

{=Min(Wenn(B:B>Heute();1;#NV)*Wenn(A:A="X";B:B;#NV))}

0

Das kannst du so lösen:

=MIN(WENN(XXXX>=HEUTE();WENN(YYYY="x";XXXX)))

Wobei du nun für
XXXX beide Male den Bereich einsetzt in dem das Datum steht
YYYY den Bereich einsetzt in dem die "x" stehen

Das es sich im eine Matrixformel handelt, musst du die Zellen dann noch mit

Strg+Shift+Enter
abschließen und dann die Ergebniszelle ggf. noch als Datum formatieren

Iamiam  22.07.2017, 01:15

DH!, aber das ist erklärungsbedürftig:

wenn morgen kein Termin ist (x also fehlt) wäre bei einem normalen WENN das Ergebnis 0 und Min() würde morgen als Ergebnis liefern.

Da aber in den WENN() das sonst Argument fehlt, liefert WENN() bei Nichtzutreffen der Bedingung einen FEHLER. Fehler werden aber von MIN() ignoriert, so dass als Minimum tatsächlich der erste zutreffende Wert gefunden wird!

1