Διαφορά μεταξύ δύο ημερομηνιών: από τη λειτουργία

Εισαγωγή στη λειτουργία DATEDIF

Η συνάρτηση DATEDIF υπολογίζει τη διαφορά μεταξύ δύο ημερομηνιών σε διάφορα διαφορετικά διαστήματα, όπως ο αριθμός των ετών, των μηνών ή των ημερών μεταξύ των ημερομηνιών. Αυτή η λειτουργία είναι διαθέσιμη σε όλες τις εκδόσεις του Excel από τουλάχιστον την έκδοση 5/95, αλλά τεκμηριώνεται στο αρχείο βοήθειας μόνο για το Excel 2000. Για κάποιο λόγο, η Microsoft αποφάσισε να μην τεκμηριώσει αυτή τη λειτουργία σε οποιαδήποτε άλλη έκδοση. Ο DATEDIF αντιμετωπίζεται ως ο μεθυσμένος ξάδερφος της οικογένειας Formula. Το Excel ξέρει ότι ζει μια ευτυχισμένη και χρήσιμη ζωή, αλλά δεν θα το μιλήσει με ευγενική συνομιλία. Μη συγχέετε τη λειτουργία φύλλου εργασίας DATEDIF με τη λειτουργία DateDiff VBA.

Η σύνταξη για το DATEDIF έχει ως εξής:

= DATEDIF (ημερομηνία1, ημερομηνία2, διάστημα)

Οπου:

Η ημερομηνία1 είναι η πρώτη ημερομηνία,

Η ημερομηνία2 είναι η δεύτερη ημερομηνία,

Το διάστημα είναι ο τύπος διαστήματος για επιστροφή.

Εάν η ημερομηνία1 είναι μεταγενέστερη από την ημερομηνία2, το DATEDIF θα επιστρέψει ένα #NUM! λάθος. Εάν η ημερομηνία1 ή η ημερομηνία2 δεν είναι έγκυρη ημερομηνία, το DATEDIF θα επιστρέψει ένα σφάλμα #VALUE.

Η τιμή διαστήματος θα πρέπει να είναι μία

Διάστημα Σημασία Περιγραφή

m Μήνες Πλήρεις ημερολογιακοί μήνες μεταξύ των ημερομηνιών.

d ημέρες Αριθμός ημερών μεταξύ των ημερομηνιών.

y έτη Πλήρη ημερολογιακά έτη μεταξύ των ημερομηνιών.

ym Μήνες εξαιρουμένων των ετών Πλήρεις ημερολογιακοί μήνες μεταξύ των ημερομηνιών σαν να ήταν της ίδιας χρονιάς.

Ημέρες εκτός από τα έτη Πλήρεις ημερολογιακές ημέρες μεταξύ των ημερομηνιών σαν να ήταν του ίδιου έτους.

md ημέρες εκτός των ετών και των μηνών Πλήρεις ημερολογιακές ημέρες μεταξύ των ημερομηνιών σαν να ήταν του ίδιου μήνα και του ίδιου έτους.

Εάν το διάστημα δεν είναι ένα από τα στοιχεία που αναφέρονται παραπάνω, το DATEDIF θα επιστρέψει ένα σφάλμα #NUM.

Εάν συμπεριλαμβάνετε τη συμβολοσειρά Interval απευθείας μέσα στον τύπο, πρέπει να την προσαρτήσετε σε διπλά εισαγωγικά:

= DATEDIF (ημερομηνία1, ημερομηνία2, "m")

Εάν έχετε το διάστημα σε ένα άλλο κελί που αναφέρεται από τον τύπο, αυτό το κελί δεν πρέπει να έχει εισαγωγικά γύρω από τη συμβολοσειρά διαστήματος. Για παράδειγμα, με τον τύπο

= DATEDIF (ημερομηνία1, ημερομηνία2, A1)

το στοιχείο A1 θα πρέπει να περιέχει m όχι "m".

Καταστολή των στοιχείων μηδενικής αξίας

Στην τυπική χρήση για τον υπολογισμό του αριθμού των ετών, των μηνών και των ημερών μεταξύ δύο ημερομηνιών, θα χρησιμοποιούσατε έναν τύπο όπως είναι ο ακόλουθος, όπου A1 είναι η ημερομηνία έναρξης και B1 είναι η ημερομηνία λήξης:

= DATEDIF (A1, B1, "y") & "έτη" & DATEDIF (A1, B1, "ym") & "μηνών" & DATEDIF (A1, B1, md)

&" μέρες"

Αυτό θα επιστρέψει μια συμβολοσειρά όπως

12 έτη 8 μήνες 14 ημέρες

Ωστόσο, αν ο αριθμός των ετών και / ή μηνών είναι 0, θα πάρετε μια συμβολοσειρά όπως

0 έτη 0 μήνες 14 ημέρες

0 έτη 3 μήνες 14 ημέρες

Αν θέλετε να καταργήσετε τις τιμές 0 και να επιστρέψετε ένα αποτέλεσμα όπως

8 μήνες 14 ημέρες

ή

14 ημέρες

όπου δεν εμφανίζονται τα στοιχεία που έχουν αξία 0, χρησιμοποιήστε έναν τύπο όπως παρακάτω:

= IF (DATEDIF (A1, B1, "y") = 0, "", DATEDIF (A1, B1, "y" ",

DATEDIF (Α1, Β1, "ym") & "μήνες") & DATEDIF (Α1, Β1, "md"

Αυτό θα εμφανίσει μόνο την ημερομηνία τα στοιχεία των οποίων η τιμή είναι μεγαλύτερη από 0. Η τιμή ημέρας θα εμφανίζεται πάντοτε, αλλά η τιμή του έτους ή / και του μήνα μπορεί να υποβληθεί.

Παραδείγματα

Ακολουθούν ορισμένα παραδείγματα της λειτουργίας DATEDIF.

Ημερομηνία1: 1-Ιαν-2007

Ημερομηνία2: 10-Ιαν-2007

Διάρκεια: δ

Αποτέλεσμα: 9

Εξήγηση:

Υπάρχουν 9, όχι 10, ημερολογιακές ημέρες μεταξύ αυτών των δύο ημερομηνιών.

Ημερομηνία1: 1-Ιαν-2007

Ημερομηνία2: 31-Ιαν-2007

Διάρκεια: m

Αποτέλεσμα: 0

Εξήγηση:

Υπάρχουν 0 πλήρεις ημερολογιακοί μήνες μεταξύ των δύο ημερομηνιών.

Ημερομηνία1: 1-Ιαν-2007

Ημερομηνία2: 1-Φεβ -2007

Διάρκεια: m

Αποτέλεσμα: 1

Εξήγηση:

Υπάρχουν 1 πλήρεις μήνες μεταξύ των δύο ημερομηνιών.

Ημερομηνία1: 1-Ιαν-2007

Ημερομηνία2: 28-Φεβ-2007

Διάρκεια: m

Αποτέλεσμα: 1

Εξήγηση:

Υπάρχουν 1 πλήρεις μήνες μεταξύ των δύο ημερομηνιών.

Ημερομηνία1: 1-Ιαν-2007

Ημερομηνία2: 31-Δεκ-2007

Διάρκεια: δ

Αποτέλεσμα: 364

Εξήγηση:

Υπάρχουν 364 ημέρες μεταξύ των δύο ημερομηνιών.

Ημερομηνία1: 1-Ιαν-2007

Ημερομηνία2: 31-Ιαν-2007

Διάρκεια: γ

Αποτέλεσμα: 0

Εξήγηση:

Υπάρχουν 0 πλήρεις χρονιές μεταξύ των ημερομηνιών

Ημερομηνία1: 1-Ιαν-2007

Ημερομηνία2: 1-Ιούλιο-2008

Διάρκεια: δ

Αποτέλεσμα: 547

Εξήγηση:

Υπάρχουν 547 ημέρες μεταξύ των δύο ημερομηνιών.

Ημερομηνία1: 1-Ιαν-2007

Ημερομηνία2: 1-Ιούλιο-2008

Διάρκεια: m

Αποτέλεσμα: 18

Εξήγηση:

Υπάρχουν 18 μήνες μεταξύ των δύο ημερομηνιών.

Ημερομηνία1: 1-Ιαν-2007

Ημερομηνία2: 1-Ιούλιο-2008

Διάρκεια: ym

Αποτέλεσμα: 6

Εξήγηση:

Υπάρχουν 6 μήνες μεταξύ των δύο ημερομηνιών εάν οι ημερομηνίες θεωρούνται ότι έχουν το ίδιο έτος. Το έτος που έλαβε από την ημερομηνία1, όχι την ημερομηνία2. Αυτό κάνει τη διαφορά όταν ένα έτος είναι ένα έτος άλμα. Από το 2007 δεν είναι έτος άλμα, 29-Feb δεν υπολογίζεται. Δείτε το DATEDIF και το Leap Years παρακάτω.

Ημερομηνία1: 1-Ιαν-2007

Ημερομηνία2: 1-Ιούλιο-2008

Διάρκεια: yd

Αποτέλεσμα: 181

Εξήγηση:

Υπάρχουν 181 ημέρες μεταξύ των ημερομηνιών εάν οι ημερομηνίες θεωρούνται ότι έχουν το ίδιο έτος. Το έτος που έλαβε από την ημερομηνία1, όχι την ημερομηνία2. Αυτό κάνει τη διαφορά όταν ένα έτος είναι ένα έτος άλμα. Από το 2007 δεν είναι έτος άλμα, 29-Feb δεν υπολογίζεται. Δείτε το DATEDIF και το Leap Years παρακάτω.

Ημερομηνία1: 1-Ιαν-2008

Ημερομηνία2: 1-Ιούλιο-2009

Διάρκεια: yd

Αποτέλεσμα: 182

Εξήγηση:

Υπάρχουν 182 ημέρες μεταξύ των ημερομηνιών εάν οι ημερομηνίες θεωρούνται ότι έχουν το ίδιο έτος. Αυτό το αποτέλεσμα είναι 182 όχι 181 δεδομένου ότι η Date1 είναι ένα έτος άλμα και έτσι 29-Φεβ υπολογίζεται.

Ημερομηνία1: 1-Ιαν-2007

Ημερομηνία2: 31-Ιαν-2007

Διάρκεια: md

Αποτέλεσμα: 30

Εξήγηση:

Υπάρχουν 30 ημέρες μεταξύ της 1ης και της 31ης ημερομηνίας, όταν θεωρούνται οι ίδιες οι δύο ημερομηνίες και οι μήνες.

DATEDIF και τα άλματα

Κατά τον υπολογισμό των διαστημάτων ημερομηνίας, το DATEDIF χρησιμοποιεί το έτος της ημερομηνίας1, όχι της ημερομηνίας2 κατά τον υπολογισμό των διαστημάτων yd, ym και md. Για παράδειγμα,

= DATEDIF (Ημερομηνία1, Ημερομηνία2, "md")

επιστρέφει 28 για Date1 = 1-Feb-2007 και Date2 = 1-March-2009. Δεδομένου ότι η ημερομηνία1 δεν είναι έτος άλματος, η ημερομηνία 29 Φεβρουαρίου δεν μετράται. Αλλά ο ίδιος τύπος με Date1 = 1-Feb-2008 επιστρέφει 29, δεδομένου ότι το Date1 είναι ένα έτος άλμα και ως εκ τούτου υπολογίζεται η ημερομηνία 29 Φεβρουαρίου.

Υπολογισμός της ηλικίας

Μπορείτε να χρησιμοποιήσετε το DATEDIF για να υπολογίσετε την ηλικία ενός ατόμου. Για παράδειγμα, ο παρακάτω τύπος θα υπολογίσει την ηλικία ενός ατόμου από την τρέχουσα ημερομηνία, όπου BirthDate είναι η ημερομηνία γέννησης του ατόμου.

= DATEDIF (Γέννηση, Σήμερα (), "y") & "έτη" & DATEDIF (BirthDate, TODAY (), ym) & "μήνες" & DATEDIF

Προηγούμενο Άρθρο Επόμενο Άρθρο

Οι Καλύτερες Συμβουλές