2016-07-26 14 views
1

Ich habe die folgende Formel in Excel definiertExcel Verbesserung Datum diff Funktion

=DATEDIF(B595;TODAY();"y") & " years, " & DATEDIF(B595;TODAY();"ym") & " months, " & DATEDIF(B595;TODAY();"md") & " days" 

Aber es zeigt ein Ergebnis wie:

0 years, 0 months, 20 days 

Ich würde sehen bevorzugen:

20 days 

Kann ich eine VBA-Funktion verwenden, um ein besseres Ergebnis zu erzielen? Oder eine Formel?

+0

Sie können eine Formel verwenden, ein bisschen lang, aber fügen Sie einfach ein paar "IF" –

+1

Wenn Sie 'DATEDIF' verwenden, vergewissern Sie sich, einige seiner Einschränkungen zu verstehen, insbesondere wenn' start_date' nach dem 28 Monat. Zum Beispiel, versuchen Sie es mit '31-Jan-2015' bis' 1-Mar-2015' und die Tage-Ausgabe wird eine negative Zahl sein. –

Antwort

2

Fügen Sie einfach If-Anweisungen auf die Formel, die die Komponente entfernen, wenn DATEDIF auf Null auswertet:

=IF(DATEDIF(B595;TODAY();"y")=0;"";DATEDIF(B595;TODAY();"y") & " years, ") & _ 
IF(DATEDIF(B595;TODAY();"ym")=0;"";DATEDIF(B595;TODAY();"ym") & " months, ") & _ 
IF(DATEDIF(B595;TODAY();"md")=0;"";DATEDIF(B595;TODAY();"md") & " days, ") 

ich die Formel in drei Zeilen so seine lesbar hier brach, aber es sollte als eine Zeile eingegeben werden

+0

Danke! ps: Es gibt einen kleinen Fehler in der Formel das Komma sollte Halbsäule sein – Revious

+1

@Revious ahh unvorsichtiger Fehler meinerseits. Vergessen Sie die regionalen Unterschiede (der Fluch meiner Existenz mit Excel!) – RGA