/ / Zu vielen if-Anweisungen - Excel, Excel-Formel

Zu viele if-Anweisungen zu handhaben - Excel, Excel-Formel

Ich habe ein Blatt, das ich hinsichtlich des Fortschritts in einem Evaluierungsprojekt beibehalten möchte.

Aktuelles Datum (heute ())

Spalten (kann hier keine Tabelle erstellen)

Datum 1 ist, wenn die erste Anfrage gesendet wurde.
Datum 2, wenn die erste Erinnerung gesendet wurde.
Datum 3, wenn die 2. Erinnerung gesendet wurde.
Datum 4, wenn die Bewertung erhalten wurde.

Ich möchte ein Feld, das einen Wert gibt, wenn eine Aktion benötigt wird. (Dies ist so, dass ich ihm eine bedingte Formatregel zuweisen kann).
Dies sind die Aktionsregeln:
- Datum 4 ist leer
UND
- Datum 1 ist vor mehr als 7 Tagen (wenn (aktuelles Datum 1)> 7, 1, 0)
(Das ist der einfache Teil und jetzt kommt der Teil, wo ich anfange verloren zu gehen)
Wenn es ein Datum 2 gibt:
- Datum 2 ist weniger als 7 Tage her - KEINE Aktion
- Datum 2 vor mehr als 7 Tagen - Aktion benötigt
Wenn es ein Datum 3 gibt:
- Datum 3 ist weniger als 7 Tage her - KEINE Aktion
- Datum 3 vor mehr als 7 Tagen - Aktion benötigt

Am Ende möchte ich nur 1 Zelle, die entweder 1 oder 0 für Aktion / keine Aktion sagte.

Ich habe versucht, eine lange Kette von, wenn "s, aber das funktioniert nicht. Ich habe versucht, es in separaten Zellen, aber konnte es nicht funktionieren.

Antworten:

0 für die Antwort № 1

Sie können sie verschachteln :) es scheint einfacher zu lesen, wenn Sie das>

if(currentdate - date1 < 7, "No Action", if(currentdate - date2 < 7, "No Action", if(currentdate - date3 < 7, "No Action", "Action")))

0 für die Antwort № 2

Ich nehme an, Sie möchten Formeln verwenden. Anstatt viele zu verschachteln If-Formeln, würde ich Ihnen raten, eine benutzerdefinierte Funktion zu schreiben.

Diese Funktion kann wie jede Excel-Formel verwendet werden, mit der kleinen Ausnahme, dass Sie Ihre Arbeitsmappe mit einem speichern müssen *.xlsm Dateierweiterung.

Beachten Sie auch, dass Sie Erklärungen gegeben haben, was zu tun ist, wenn DateDiff ist >7 und <7, aber nicht erwähnt, was getan werden sollte, ist das Datum genau 7 Tage in der Vergangenheit - deshalb ist dies nicht in der nachstehenden Formel enthalten. ;)

Füge dies in dein "ThisWorkbook" -Modul ein und benutze es ActionRequired genau wie jede normale Formel.

Public Function ActionRequired(Optional date1 As Date = 0, Optional date2 As Date = 0, Optional date3 As Date = 0, Optional date4 As Date = 0) As Boolean

If date4 = 0 And DateDiff("d", date1, Now) > 7 Then

If Not DateDiff("d", date2, Now) < 7 Then
ActionRequired = True
Exit Function
End If

If Not DateDiff("d", date3, Now) < 7 Then
ActionRequired = True
Exit Function
End If

End If

End Function

Das ist nicht das Nisten zu sagen If- Excel Formeln funktioniert nicht (es tut), aber in meinemSolche Dinge sind ziemlich fehleranfällig, da sie ziemlich schnell unordentlich werden (außerdem wird Ihre Formel in 100er Zellen gespeichert - mit einer UDF, die an genau einer Stelle - Ihrem Code - gespeichert ist und nur in den Zellen aufgerufen wird )