Rumusan Excel: Dapatkan umur dari hari lahir -

Isi kandungan

Formula generik

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

Ringkasan

Untuk mengira usia dari tarikh lahir, anda boleh menggunakan fungsi DATEDIF bersama dengan fungsi HARI INI. Dalam contoh yang ditunjukkan, formula dalam sel E5, disalin ke bawah, adalah:

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

Kerana HARI INI selalu mengembalikan tarikh semasa, formula akan terus mengira usia yang betul pada masa akan datang.

Penjelasan

Fungsi DATEDIF (Tarikh + Perbezaan) adalah sedikit anomali di Excel. Fungsi keserasian yang berasal dari Lotus 1-2-3, Excel tidak akan membantu membekalkan argumen semasa fungsi dimasukkan. Walau bagaimanapun, DATEDIF berfungsi dalam semua versi moden Excel dan merupakan fungsi yang berguna untuk mengira selang antara dua tarikh dalam tahun, bulan, dan hari.

Dalam contoh yang ditunjukkan, tujuannya adalah untuk mengira usia dalam beberapa tahun. Formula dalam E5 adalah:

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

Dua argumen pertama untuk DATEDIF adalah tarikh_mula dan tarikh_akhir. Tarikh mula datang dari sel D5 (15 Mei 2001) dalam contoh. Tarikh akhir dihasilkan dengan fungsi HARI INI. HARI INI selalu mengembalikan tarikh terkini di Excel. Pada penulisan ini, tarikh semasa adalah 24 November 2020. Argumen terakhir dalam DATEDIF menentukan unit masa. Fungsi DATEDIF menyokong beberapa pilihan di sini, tetapi untuk contoh ini tujuannya adalah usia sepanjang tahun, jadi kami menggunakan "y" untuk menentukan tahun-tahun lengkap.

Pada ketika ini, kita dapat menulis semula formula seperti di bawah:

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

Kerana tarikh Excel sebenarnya nombor siri, nilai mentah adalah:

=DATEDIF(37026,44159,"y")

Dengan input ini, DATEDIF mengembalikan 19 sebagai hasil akhir.

Umur pada tarikh tertentu

Untuk mengira usia pada tarikh tertentu, ganti fungsi HARI INI dengan tarikh sasaran. Cara yang mudah dan selamat untuk memasukkan tarikh tertentu ke dalam formula adalah menggunakan fungsi DATE. Contohnya, untuk mengira usia pada 1 Januari 2021, anda boleh menggunakan formula seperti ini:

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

Formula ini akan mengembalikan usia Michael Chang pada 1 Januari 2022, iaitu 20.

Dewasa atau Bawah umur

Untuk memeriksa tarikh lahir dan mengembalikan "Minor" atau "Dewasa", anda boleh membungkus formula dalam fungsi JIKA seperti:

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

Formula di atas adalah contoh bersarang. Ganti 18 dengan usia apa sahaja yang sesuai.

Umur dalam tahun, bulan, dan hari

Untuk mengira usia dalam tahun, bulan, dan hari, gunakan tiga contoh DATEDIF seperti ini:

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

Contoh pertama DATEDIF mengembalikan tahun, contoh kedua kembali bulan, dan contoh ketiga mengembalikan hari. Ini adalah contoh gabungan, dan hasilnya adalah rentetan teks seperti ini:

19y 6m 9d

Catatan tarikh mula dan akhir tetap sama di ketiga-tiga DATEDIF; hanya unit yang ditukar.

YEARFRAC dengan INT

Pilihan lain untuk mengira usia dari tarikh lahir menggunakan fungsi YEARFRAC bersama dengan fungsi INT dalam formula seperti ini:

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

YEARFRAC mengira nombor perpuluhan yang mewakili pecahan setahun antara dua tarikh. Untuk mengira pecahan tahun sebagai nilai perpuluhan, Excel menggunakan hari antara dua tarikh. Seperti di atas, tarikh lahir diberikan sebagai tarikh mula dari sel D5, dan tarikh hari ini dibekalkan sebagai tarikh akhir, berdasarkan fungsi HARI INI.

Dengan tarikh terkini 24 November 2020, hasil dari YEARFRAC untuk Michael Chang adalah:

19.5290896646133

Seterusnya, fungsi INT mengambil alih dan membundarkan nombor itu ke nilai integer, iaitu nombor 19.

=INT(19.5290896646133) // returns 19

Formula ini kelihatan sangat logik dan berfungsi dengan baik dalam kebanyakan kes. Namun, YEARFRAC dapat mengembalikan nombor yang tidak betul pada tarikh ulang tahun (ulang tahun). Saya tidak pasti mengapa ini berlaku, tetapi ia berkaitan dengan bagaimana YEARFRAC menggunakan hari untuk menentukan tahun pecahan, yang dikendalikan oleh argumen dasar. Sebagai contoh:

=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

Intinya adalah bahawa formula tarikh DATEDIF adalah pilihan yang lebih selamat dan lebih mudah apabila tujuannya adalah untuk melaporkan usia sepanjang tahun.

Artikel menarik...