Τύπος Excel: Πάρτε την ηλικία από τα γενέθλια -

Πίνακας περιεχομένων

Γενική φόρμουλα

=DATEDIF(birthdate,TODAY(),"y")

Περίληψη

Για να υπολογίσετε την ηλικία από την ημερομηνία γέννησης, μπορείτε να χρησιμοποιήσετε τη συνάρτηση DATEDIF μαζί με τη συνάρτηση ΣΗΜΕΡΑ. Στο παράδειγμα που δείχνεται, ο τύπος στο κελί E5, αντιγράφεται παρακάτω, είναι:

=DATEDIF(D5,TODAY(),"y")

Επειδή ΣΗΜΕΡΑ επιστρέφει πάντα την τρέχουσα ημερομηνία, ο τύπος θα συνεχίσει να υπολογίζει τη σωστή ηλικία στο μέλλον.

Εξήγηση

Η συνάρτηση DATEDIF (Date + Dif) είναι λίγο ανωμαλία στο Excel. Μια συνάρτηση συμβατότητας που προέρχεται αρχικά από το Lotus 1-2-3, το Excel δεν θα βοηθήσει στην παροχή ορισμάτων κατά την εισαγωγή της συνάρτησης. Ωστόσο, το DATEDIF λειτουργεί σε όλες τις σύγχρονες εκδόσεις του Excel και είναι μια χρήσιμη λειτουργία για τον υπολογισμό του διαστήματος μεταξύ δύο ημερομηνιών σε έτη, μήνες και ημέρες.

Στο παράδειγμα που δείχνεται, ο στόχος είναι να υπολογιστεί η ηλικία σε έτη. Ο τύπος στο E5 είναι:

=DATEDIF(D5,TODAY(),"y")

Τα δύο πρώτα ορίσματα για το DATEDIF είναι το start_date και το end_date. Η ημερομηνία έναρξης προέρχεται από το κελί D5 (15 Μαΐου 2001) στο παράδειγμα. Η ημερομηνία λήξης δημιουργείται με τη συνάρτηση ΣΗΜΕΡΑ. ΣΗΜΕΡΑ επιστρέφει πάντα την τρέχουσα ημερομηνία στο Excel. Από αυτήν τη γραφή, η τρέχουσα ημερομηνία είναι 24 Νοεμβρίου 2020. Το τελευταίο όρισμα στο DATEDIF καθορίζει τη μονάδα ώρας. Η συνάρτηση DATEDIF υποστηρίζει πολλές επιλογές εδώ, αλλά για αυτό το παράδειγμα ο στόχος είναι η ηλικία σε ολόκληρα χρόνια, επομένως χρησιμοποιούμε το "y" για να καθορίσουμε τα πλήρη έτη.

Σε αυτό το σημείο, μπορούμε να ξαναγράψουμε τον τύπο όπως παρακάτω:

=DATEDIF("15-May-2001","24-Nov-2020", "y")

Επειδή οι ημερομηνίες του Excel είναι πραγματικά σειριακοί αριθμοί, οι πρώτες τιμές είναι:

=DATEDIF(37026,44159,"y")

Με αυτές τις εισόδους, το DATEDIF επιστρέφει 19 ως τελικό αποτέλεσμα.

Ηλικία σε συγκεκριμένη ημερομηνία

Για να υπολογίσετε την ηλικία σε μια συγκεκριμένη ημερομηνία, αντικαταστήστε τη συνάρτηση ΣΗΜΕΡΑ με την ημερομηνία στόχου. Ένας εύκολος και ασφαλής τρόπος για να κωδικοποιήσετε μια συγκεκριμένη ημερομηνία σε έναν τύπο είναι να χρησιμοποιήσετε τη συνάρτηση DATE. Για παράδειγμα, για τον υπολογισμό της ηλικίας από την 1η Ιανουαρίου 2021, μπορείτε να χρησιμοποιήσετε έναν τύπο ως εξής:

=DATEDIF(D5,DATE(2022,1,1),"y") // returns 20

Αυτή η φόρμουλα θα επιστρέψει την ηλικία του Michael Chang την 1η Ιανουαρίου 2022, που είναι 20.

Ενήλικες ή ανήλικοι

Για να ελέγξετε την ημερομηνία γέννησης και να επιστρέψετε το "Minor" ή "Adult", μπορείτε να τυλίξετε τον τύπο στη συνάρτηση IF όπως έτσι:

=IF(DATEDIF(D5,TODAY(),"y")<18,"Minor","Adult")

Ο παραπάνω τύπος είναι ένα παράδειγμα φωλιάσματος. Αντικαταστήστε το 18 με όποια ηλικία είναι κατάλληλο.

Ηλικία σε χρόνια, μήνες και ημέρες

Για να υπολογίσετε την ηλικία σε έτη, μήνες και ημέρες, χρησιμοποιήστε τρεις περιπτώσεις DATEDIF όπως αυτή:

=DATEDIF(A1,TODAY(),"y")&"y "&DATEDIF(A1,TODAY(),"ym")&"m "&DATEDIF(A1,TODAY(),"md")&"d"

Η πρώτη εμφάνιση του DATEDIF επιστρέφει χρόνια, η δεύτερη εμφάνιση επιστρέφει μήνες και η τρίτη εμφάνιση επιστρέφει ημέρες. Αυτό είναι ένα παράδειγμα συνδυασμού και το αποτέλεσμα είναι μια συμβολοσειρά κειμένου ως εξής:

19y 6m 9d

Σημειώστε ότι οι ημερομηνίες έναρξης και λήξης παραμένουν οι ίδιες και στα τρία DATEDIF. μόνο η μονάδα αλλάζει.

YEARFRAC με INT

Μια άλλη επιλογή για τον υπολογισμό της ηλικίας από την ημερομηνία γέννησης χρησιμοποιεί τη συνάρτηση YEARFRAC μαζί με τη συνάρτηση INT σε έναν τύπο όπως αυτό:

=INT(YEARFRAC(D5,TODAY()))

Το YEARFRAC υπολογίζει έναν δεκαδικό αριθμό που αντιπροσωπεύει το κλάσμα ενός έτους μεταξύ δύο ημερομηνιών. Για να υπολογίσει το κλάσμα ενός έτους ως δεκαδική τιμή, το Excel χρησιμοποιεί ημέρες μεταξύ δύο ημερομηνιών. Όπως παραπάνω, η ημερομηνία γέννησης παρέχεται ως ημερομηνία έναρξης από το κελί D5 και η σημερινή ημερομηνία παρέχεται ως ημερομηνία λήξης, ευγενική προσφορά της συνάρτησης ΣΗΜΕΡΑ

Με την τρέχουσα ημερομηνία 24 Νοεμβρίου 2020, το αποτέλεσμα από το YEARFRAC για τον Michael Chang είναι:

19.5290896646133

Στη συνέχεια, η συνάρτηση INT αναλαμβάνει και στρογγυλοποιεί αυτόν τον αριθμό στην ακέραια τιμή, που είναι ο αριθμός 19.

=INT(19.5290896646133) // returns 19

Αυτός ο τύπος φαίνεται απόλυτα λογικός και λειτουργεί καλά στις περισσότερες περιπτώσεις. Ωστόσο, το YEARFRAC μπορεί να επιστρέψει έναν αριθμό που δεν είναι σωστός κατά τις ημερομηνίες επετείου (γενέθλια). Δεν είμαι σίγουρος γιατί συμβαίνει αυτό, αλλά σχετίζεται με το πώς το YEARFRAC χρησιμοποιεί ημέρες για τον προσδιορισμό των κλασματικών ετών, το οποίο ελέγχεται από το βασικό όρισμα. Για παράδειγμα:

=YEARFRAC(DATE(1960,6,30),DATE(1962,6,30),1) // 1.998, should be 2 =YEARFRAC(DATE(1960,3,3),DATE(1964,3,3),1) // 3.998, should be 4

Η ουσία είναι ότι η ημερομηνία DATEDIF είναι μια ασφαλέστερη και ευκολότερη επιλογή όταν ο στόχος είναι να αναφέρετε την ηλικία σε ολόκληρα χρόνια.

ενδιαφέροντα άρθρα...