กลับไปที่บล็อก
4 min read

วิธีคำนวณอายุใน Excel (DATEDIF & YEARFRAC) + เทมเพลตฟรี

สูตร Excel ทีละขั้นตอนเพื่อคำนวณอายุนับจากวันเกิดโดยใช้ DATEDIF, YEARFRAC และ TODAY() มีตัวอย่างที่เป็นประโยชน์ เคล็ดลับในการแก้ไขปัญหา และเครื่องคำนวณอายุออนไลน์ฟรี

วิธีคำนวณอายุใน Excel (DATEDIF & YEARFRAC) + เทมเพลตฟรี

การคำนวณอายุใน Excel เป็นหนึ่งในงานสเปรดชีตที่พบบ่อยที่สุด ไม่ว่าคุณจะจัดการบันทึกของพนักงาน ติดตามวันเกิดของลูกค้า หรือสร้างฐานข้อมูลของโรงเรียน คู่มือที่ครอบคลุมนี้ครอบคลุมทุกวิธีที่คุณต้องการ ตั้งแต่การคำนวณปีอย่างง่ายไปจนถึงการแจกแจงอายุที่แม่นยำในปี เดือน และวัน

สารบัญ

  1. ก่อนที่คุณจะเริ่ม: การจัดรูปแบบวันที่ ข้อมูลเบื้องต้น

  2. วิธีที่ 1: DATEDIF – อายุในปีที่สมบูรณ์

  3. วิธีที่ 2: อายุเป็นปี เดือน และ วัน

  4. วิธีที่ 3: คำนวณอายุ ณ วันที่ที่ระบุ

  5. วิธีที่ 4: YEARFRAC – อายุที่ ทศนิยม

  6. วิธีที่ 5: คำนวณอายุสำหรับหลายแถว

  7. โบนัส: วันก่อนถึงวันถัดไป วันเกิด

  8. ตารางเปรียบเทียบวิธีการ

  9. ปัญหาทั่วไปและ โซลูชัน

  10. Excel เทียบกับ Google ชีต

  11. ออนไลน์ ตัวเลือกอื่น

  12. คำถามที่พบบ่อย

ก่อนที่คุณจะเริ่ม: ข้อมูลพื้นฐานเกี่ยวกับการจัดรูปแบบวันที่

ก่อนที่จะเจาะลึกสูตรต่างๆ โปรดตรวจสอบวันที่ของคุณ มีรูปแบบที่ถูกต้อง Excel แยกความแตกต่างระหว่างวันที่จริงและข้อความที่ดูเหมือนวันที่ และความแตกต่างนี้มีความสำคัญ

วิธีตรวจสอบว่าเซลล์มีวันที่จริงหรือไม่:

  1. คลิกที่เซลล์ที่มี วันที่

  2. ดูที่แถบสูตร หากแสดงตัวเลข (เช่น 45678) จะเป็นวันที่จริง

  3. หากแสดงข้อความ (เช่น "01/15/1990") Excel จะถือว่าเป็นสตริง

การแปลงข้อความเป็นวันที่:

หากวันที่ของคุณถูกจัดเก็บเป็นข้อความ ให้แปลงเป็นวันที่ อันดับแรก:

=DATEVALUE(A2)

จากนั้นจัดรูปแบบเซลล์ผลลัพธ์เป็นวันที่ (คลิกขวา → จัดรูปแบบเซลล์ → วันที่).

สำคัญ: ภาษาที่ต่างกันจะตีความรูปแบบวันที่ต่างกัน "01/02/2000" อาจหมายถึงวันที่ 2 มกราคม (สหรัฐอเมริกา) หรือ 1 กุมภาพันธ์ (ยุโรป) ตรวจสอบวันที่ของคุณแยกวิเคราะห์อย่างถูกต้องเสมอ

วิธีที่ 1: DATEDIF – อายุในปีที่สมบูรณ์

ฟังก์ชัน DATEDIF เป็นวิธีที่ตรงไปตรงมาที่สุดในการคำนวณอายุใน Excel โดยจะส่งกลับจำนวนปีที่สมบูรณ์ระหว่างวันที่สองวัน

สูตร:

=DATEDIF(A2, TODAY(), "Y")

โดยที่:

  • A2 = เซลล์ที่มีวันที่ของ วันเกิด

  • วันนี้() = วันที่ปัจจุบัน (อัปเดต โดยอัตโนมัติ)

  • "Y " = ส่งคืนเสร็จสมบูรณ์ ปี

ตัวอย่าง:

[[[TA G_130]]]

]A

B

วันที่ของ วันเกิด

อายุ

[[[TAG_ 156]]]

1990-03-15

=DATEDIF(A2, วันนี้() "ใช่")

[[[TAG_16] 8]]]1985-07-22

=DATEDIF(A3, วันนี้(), "ใช่")

[[[TAG_17 8]]]2000-12-01

=DATEDIF(A4, TODAY(), "Y")

ผลลัพธ์ (ณ เดือนมกราคม 2026):

[[[TA G_195]]][ [[TAG_227]]]

วันที่ ของ วันเกิด

อายุ

1990-03-15

35

[[[TAG_ 216]]]

1985-07-22[[[TAG_ 221]]]

40

2000-12-01

[ [[TAG_232]]]

25

หมายเหตุ: DATEDIF เป็นฟังก์ชัน "ซ่อน" ใน Excel ซึ่งจะไม่ปรากฏในการเติมข้อความอัตโนมัติ แต่ทำงานได้อย่างสมบูรณ์ เพียงพิมพ์ด้วยตนเอง

วิธีที่ 2: อายุเป็นปี เดือน และวัน

สำหรับสถานการณ์ที่ต้องใช้อายุที่แน่นอน (เวชระเบียน เอกสารทางกฎหมาย ระบบทรัพยากรบุคคล) คุณจะต้องการข้อมูลที่ครบถ้วน รายละเอียด

สูตรเฉพาะ:

ปี: =DATEDIF(A2, TODAY(), "Y")
เดือน: =DATEDIF(A2, TODAY(), "YM")
วัน: =DATEDIF(A2, TODAY(), "MD")

พารามิเตอร์ที่สอง รหัส:

  • "Y " = เสร็จสมบูรณ์ทั้งหมด ปี

  • "YM" = เดือนที่เหลือหลังจากเสร็จสิ้น ปี

  • "MD" = วันที่เหลือหลังจากเสร็จสิ้น เดือน

สูตรครบวงจร (เดี่ยว เซลล์):

=DATEDIF(A2,TODAY(),"Y") & " ปี, " & DATEDIF(A2,TODAY(),"YM") & " เดือน, " & DATEDIF(A2,TODAY(),"MD") & " วัน"

ตัวอย่างผลลัพธ์: "35 ปี 10 เดือน 12 วัน"

การจัดรูปแบบระดับมืออาชีพด้วย ป้ายกำกับ:

สำหรับเอาต์พุตที่สะอาดตา คุณสามารถเพิ่มการจัดรูปแบบตามเงื่อนไข:

=DATEDIF(A2,TODAY(),"Y") & IF(DATEDIF(A2,TODAY(),"Y")=1," ปี, "," ปี, ") & DATEDIF(A2,TODAY(),"YM") & IF(DATEDIF(A2,TODAY(),"YM")=1," เดือน, "," เดือน, ") & DATEDIF(A2,TODAY(),"MD") & IF(DATEDIF(A2,TODAY(),"MD")=1," วัน"," วัน")

สิ่งนี้จัดการเอกพจน์/พหูพจน์ได้อย่างถูกต้อง (เช่น "1 ปี" กับ "2 ปี")

วิธีที่ 3: คำนวณอายุ ณ วันที่ระบุ

บางครั้งคุณต้องคำนวณอายุในวันที่ระบุแทนที่จะเป็นวันนี้ เช่น อายุ ณ เวลาที่จัดงาน อายุที่ลงทะเบียน หรืออายุตามประวัติ วันที่

สูตร:

=DATEDIF(A2, B2, "Y")

ที่ไหน:

  • A2 = วันที่ของ วันเกิด

  • B2 = วันที่อ้างอิง (วันที่ของกิจกรรม, วันที่ลงทะเบียน, ฯลฯ)

ตัวอย่าง: อายุของพนักงานที่จ้าง วันที่

[[[TAG_3 40]]][[[ TAG_369]]]

2020-03-01

[[[T AG_387]]]

2021-06-15

ชื่อ

วันที่ วันเกิด

วันที่จ้าง

อายุที่ จ้าง

จอห์น สมิธ

1988-05-20

=DATEDIF(B2, C2, "Y")

เจน โด

1992-11-15

=DATEDIF(B3, C3, "Y")

รายละเอียดทั้งหมดตามที่ระบุ วันที่:

=DATEDIF(A2,B2,"Y") & " ปี, " & DATEDIF(A2,B2,"YM") & " เดือน, " & DATEDIF(A2,B2,"MD") & " วัน"

วิธีที่ 4: YEARFRAC – อายุที่มีทศนิยม

เมื่อคุณต้องการอายุเป็นเลขทศนิยม (โดยทั่วไปในการคำนวณทางการเงิน งานคณิตศาสตร์ประกันภัย หรือการประยุกต์ทางวิทยาศาสตร์) ให้ใช้ YEARFRAC

สูตร:

=YEARFRAC(A2, TODAY(), 1)

ตัวอย่างผลลัพธ์: 35.87 (หมายถึง 35 ปีและประมาณ 10.5 เดือน)

ตัวเลือกพื้นฐาน (สาม พารามิเตอร์):

[[ [TAG_434]]]

ค่า

[[[TAG_494]] ]

จริง/365

วิธีการ

ดีที่สุด สำหรับ

0

สหรัฐอเมริกา 30/360

การคำนวณทางการเงิน (สหรัฐอเมริกา)

1

[[[TAG _465]]]

จริง/จริง

มากที่สุด ถูกต้องตามอายุ การคำนวณ

2

[[ [TAG_479]]]

จริง/360

การธนาคาร การคำนวณ

3

ไม่สนใจ ปีอธิกสุรทิน

4

ยุโรป 30/360

การคำนวณทางการเงิน (EU)

คำแนะนำ: ใช้ 1 (จริง/จริง) สำหรับการคำนวณอายุ ซึ่งแม่นยำที่สุด

วิธีรับเฉพาะส่วนจำนวนเต็ม:

=INT(YEARFRAC(A2, TODAY(), 1))

หากต้องการปัดเศษอายุเป็นทศนิยมหนึ่งตำแหน่ง:

=ROUND(YEARFRAC(A2, TODAY(), 1), 1)

วิธีที่ 5: คำนวณอายุสำหรับหลายแถว

เมื่อทำงานกับรายชื่อบุคคล (พนักงาน นักเรียน ลูกค้า) คุณต้องมีวิธีที่มีประสิทธิภาพในการคำนวณอายุสำหรับทุกคนที่ หนึ่งครั้ง

ขั้นตอนที่ 1: ตั้งค่าของคุณ ข้อมูล

[[[TAG _554]]][[[TAG_569] ]]][[[TAG _593]]]

[[[TAG _607]]]

[[[TAG_6 21]]]

A

[[ [TAG_562]]]B

C

ชื่อ

วันที่ วันเกิด

อายุ

อลิซ จอห์นสัน

1985-03-22

บ็อบ วิลเลียมส์

1990-07-14

แครอล เดวิส

1978-11-30

เดวิด สีน้ำตาล

1995-02-08

[ [[TAG_636]]]

ขั้นตอน 2: ป้อนสูตรในแถวแรก

ในเซลล์ C2 ให้ป้อน:

=DATEDIF(B2, TODAY(), "Y")

ขั้นตอนที่ 3: คัดลอกลง

  • เลือก C2

  • คลิกสองครั้งที่สี่เหลี่ยมเล็กๆ ที่มุมขวาล่าง (ตัวจัดการเติม)

  • Excel จะคัดลอกสูตรไปยังแถวทั้งหมดโดยอัตโนมัติด้วย data

การใช้ตารางสำหรับการขยายอัตโนมัติ:

  1. เลือกช่วงข้อมูลของคุณ (A1:C5)

  2. กด Ctrl+T เพื่อสร้างตาราง

  3. ป้อนสูตรในข้อมูลแรก row ของคอลัมน์อายุ

  4. Excel นำไปใช้กับทุกแถวโดยอัตโนมัติ และแถวใหม่ที่คุณเพิ่มในภายหลัง

หมวดหมู่อายุ สูตร:

เพื่อจัดกลุ่มอายุเป็นหมวดหมู่ (มีประโยชน์สำหรับข้อมูลประชากร การวิเคราะห์):

=IF(DATEDIF(B2,TODAY(),"Y")<18,"Minor",IF (DATEDIF(B2,TODAY(),"Y"<65,"Adult","Senior"))

โบนัส: วันก่อนวันเกิดถัดไป

กรณีการใช้งานยอดนิยม: การเตือนวันเกิดหรือ "วันก่อนวันเกิด" การคำนวณ

สูตร:

=DATE(YEAR(TODAY()) + (DATE(YEAR(TODAY()),MONTH(A2),DAY(A2))

เป็นอย่างไร ใช้งานได้:

  1. สร้างวันเกิดปีนี้จากวันเกิด

  2. หากวันเกิดผ่านไปในปีนี้ ให้เพิ่ม 1 ใน รับปีหน้า

  3. ลบวันที่ของวันนี้เพื่อให้ได้วันที่เหลือ

ตัวอย่าง เอาต์พุต: 47 (วันก่อนวันเกิด)

ทางเลือก: วันเกิดถัดไป

เพื่อแสดงวันที่จริงของวันถัดไป วันเกิด:

=DATE(YEAR(TODAY()) + (DATE(YEAR(TODAY()),MONTH(A2),DAY(A2))

การเปรียบเทียบวิธีการ ตาราง

[[ [TAG_753]]][[[ TAG_765]]]

เอาต์พุต

[[[TAG_845] ]]

35

วิธีการ[[[ TAG_759]]]

สูตร

ดีที่สุด สำหรับ

DATEDIF (ปี)

=DATEDIF(A2,TODAY(),"Y")[ [[TAG_783]]]

35

แบบง่าย การแสดงอายุ

DATEDIF (เต็ม)

=DATEDIF(...) กับ Y, YM, MD

35 ปี 10 เดือน 12 วัน

แม่นยำ บันทึก

[[[TAG_ 816]]]YEARFRAC

= YEARFRAC(A2,วันนี้(),1)

[[[TA G_826]]]35.87

การเงิน/วิทยาศาสตร์ ข้อมูลสำคัญ

[[[TAG_83 6]]]INT(YEARFRAC)

[[[TAG_841] ]]=INT(YEARFRAC(A2,วันนี้(),1))

ทางเลือก ถึง DATEDIF

[[[ TAG_857]]]คำแนะนำ:

  • ในกรณีส่วนใหญ่ ให้ใช้ DATEDIF ด้วยพารามิเตอร์ "Y"

  • หากต้องการรายละเอียดที่แน่นอน ให้ใช้ DATEDIF กับทั้งสามรายการ พารามิเตอร์

  • สำหรับอายุทศนิยม ให้ใช้ YEARFRAC พร้อมพื้นฐาน 1

ปัญหาทั่วไปและแนวทางแก้ไข

ปัญหา: DATEDIF ไม่ปรากฏใน เติมข้อความอัตโนมัติ

วิธีแก้ปัญหา: นี่เป็นเรื่องปกติ DATEDIF เป็นฟังก์ชันดั้งเดิมที่ Microsoft ไม่เคยจัดทำเอกสารอย่างเป็นทางการ เพียงพิมพ์ด้วยตนเอง ซึ่งจะใช้ได้กับ Excel ทุกรุ่นตั้งแต่ปี 2007 เป็นต้นไป

ปัญหา: #VALUE! ข้อผิดพลาด

สาเหตุ:

  • หนึ่งหรือทั้งสองเซลล์มีข้อความแทน วันที่

  • เซลล์ว่างในสูตร ช่วง

วิธีแก้ปัญหา:

  1. แปลงข้อความเป็นวันที่: =DATEVALUE(A2)

  2. ตรวจสอบเซลล์ว่าง: =IF(A2="", "", DATEDIF(A2, TODAY(), "Y"))

ปัญหา: ผลลัพธ์เป็นลบหรือ #NUM! ข้อผิดพลาด

สาเหตุ: วันที่สิ้นสุดอยู่ก่อนวันที่เริ่มต้น (เช่น วันเกิดในอนาคต หรือวันที่ไม่ถูกต้อง ลำดับ)

วิธีแก้ปัญหา:

  1. สลับอาร์กิวเมนต์: =DATEDIF(B2, A2, "Y") แทน =DATEDIF(A2, B2, "Y")

  2. เพิ่มการตรวจสอบความถูกต้อง: =IF(A2>TODAY(), "วันที่ในอนาคต", DATEDIF(A2, TODAY(), "Y"))

ปัญหา: สูตรแสดงอัฒภาคแทน เครื่องหมายจุลภาค

สาเหตุ: Excel ของคุณใช้การตั้งค่าภาษายุโรป

วิธีแก้ปัญหา: แทนที่เครื่องหมายจุลภาคด้วย อัฒภาค:

=DATEDIF(A2; TODAY(); "Y")

ปัญหา: อายุลดลงไปหนึ่ง ปี

สาเหตุ: โดยปกติแล้วการตีความรูปแบบวันที่ ปัญหา

วิธีแก้ไข:

  1. ตรวจสอบวันที่ในสูตรให้ถูกต้อง bar

  2. ป้อนวันที่อีกครั้งในรูปแบบ ISO (ปปปป-ดด-วว)

  3. ใช้ DATEVALUE เพื่อแยกวิเคราะห์อย่างชัดเจน วันที่

ปัญหา: สูตรทำงานได้แต่แสดงเป็นข้อความ

วิธีแก้ปัญหา: ลบเครื่องหมายอะพอสทรอฟีนำหน้าออกจากเซลล์ หรือป้อนสูตรอีกครั้งโดยไม่มีช่องว่าง ก่อนเครื่องหมายเท่ากับ

Excel กับ Google ชีต

ทั้ง Excel และ Google ชีตรองรับ DATEDIF แต่มีรายละเอียดเล็กน้อย ความแตกต่าง:

[[[TA G_1003]]]

ฟีเจอร์

Excel

Google ชีต

DATEDIF support

ใช่ (ซ่อน)

ใช่ (มองเห็นได้ใน เติมข้อความอัตโนมัติ)

YEARFRAC

[[[TAG_1 037]]]ใช่

ใช่[[[TAG_104 2]]]

วันที่ การแยกวิเคราะห์

ขึ้นอยู่กับท้องถิ่น

เพิ่มเติม ยืดหยุ่น

[[ [TAG_1061]]]วันนี้()

ใช่[[ [TAG_1066]]]

ใช่

[[[TAG_10 71]]]

Google เฉพาะชีต:

  • DATEDIF ปรากฏในการเติมข้อความอัตโนมัติ (ต่างจาก Excel)

  • โดยทั่วไปแล้วการแยกวิเคราะห์วันที่จะช่วยให้อภัยได้มากกว่า

  • ไวยากรณ์ของสูตรเดียวกันใช้งานได้ในส่วนใหญ่ กรณี

เคล็ดลับ: เพื่อความเข้ากันได้สูงสุดระหว่างทั้งสองแพลตฟอร์ม โปรดเสมอ ใช้:

  • รูปแบบวันที่ ISO (ปปปป-MM-DD)

  • ฟังก์ชันวันที่ที่ชัดเจนแทนที่จะเป็นข้อความ วันที่

  • DATEDIF สำหรับการคำนวณอายุ (ทำงานเหมือนกันทั้งสองอย่าง)

ออนไลน์ ทางเลือกอื่น

ไม่ต้องการใช้สเปรดชีตใช่ไหม ลองใช้ เครื่องคำนวณอายุออนไลน์ ฟรีของเราเพื่อคำนวณอายุที่แน่นอนเป็นปี เดือน สัปดาห์ และวันทันที ไม่ต้องใช้สูตร เพียงป้อนวันเกิดและรับผลลัพธ์ที่แม่นยำ

เครื่องคิดเลขออนไลน์ยังมี:

  • อายุในหลายหน่วย (ปี เดือน สัปดาห์ วัน)

  • นับถอยหลังวันเกิดถัดไป

  • วันในสัปดาห์ที่คุณอยู่ เกิด

  • วันทั้งหมด อาศัยอยู่

คำถามที่พบบ่อย

DATEDIF แม่นยำสำหรับปีอธิกสุรทินหรือไม่

ใช่ เมื่อเซลล์ของคุณมีวันที่ที่จัดรูปแบบอย่างเหมาะสม Excel จะพิจารณาปีอธิกสุรทินและระยะเวลาของเดือนที่แตกต่างกันโดยอัตโนมัติ ฟังก์ชัน DATEDIF จัดการวันเกิดวันที่ 29 กุมภาพันธ์ได้อย่างถูกต้อง และคำนวณอายุอย่างแม่นยำโดยไม่คำนึงถึงปีอธิกสุรทิน

วิธีใดดีที่สุด: DATEDIF หรือ YEARFRAC

ใช้ DATEDIF เมื่อคุณต้องการจำนวนเต็มที่ชัดเจน (ปี เดือน วัน) นี่คือมาตรฐานสำหรับกรณีการใช้งานทางธุรกิจและส่วนตัวส่วนใหญ่ ใช้ YEARFRAC เมื่อคุณต้องการค่าทศนิยมโดยเฉพาะ เช่น ในการคำนวณทางการเงิน ตารางคณิตศาสตร์ประกันภัย หรือการประยุกต์ทางวิทยาศาสตร์ที่เศษส่วนปีมีความสำคัญ

ฉันสามารถคำนวณอายุเป็นเดือนเท่านั้นได้ไหม

ใช่ ใช้พารามิเตอร์ "M" ใน DATEDIF:

=DATEDIF(A2, TODAY(), "M")

ซึ่งจะส่งคืนจำนวนเดือนทั้งหมดระหว่างวันที่เกิดและ วันนี้

เหตุใด DATEDIF จึงไม่แสดงในการเติมข้อความอัตโนมัติของ Excel

DATEDIF เป็นฟังก์ชันความเข้ากันได้ที่ Microsoft สืบทอดมาจาก Lotus 1-2-3 ไม่เคยมีการบันทึกไว้อย่างเป็นทางการในระบบวิธีใช้ของ Excel ดังนั้นจึงไม่ปรากฏในการเติมข้อความอัตโนมัติหรือตัวช่วยสร้างฟังก์ชัน อย่างไรก็ตาม มันทำงานได้อย่างสมบูรณ์และใช้กันอย่างแพร่หลาย เพียงพิมพ์ด้วยตนเอง

ฉันจะคำนวณอายุระหว่างวันที่สองวันได้อย่างไร

แทนที่ TODAY() ด้วยการอ้างอิงเซลล์ที่มีเป้าหมายของคุณ date:

=DATEDIF(A2, B2, "Y")

โดยที่ A2 คือวันเกิด และ B2 คือวันที่ที่คุณต้องการคำนวณอายุเป็น of.

ใช้งานได้กับ Excel เวอร์ชันเก่าหรือไม่

ใช่ DATEDIF พร้อมใช้งานตั้งแต่ Excel 97 สูตรในคู่มือนี้ใช้งานได้ใน Excel 2007, 2010, 2013, 2016, 2019, 2021 และ Microsoft 365

ฉันจะคำนวณอายุของบุคคลหลายคนใน ครั้งเดียวใช่ไหม

ป้อนสูตร DATEDIF ในแถวแรกของคอลัมน์อายุของคุณ จากนั้นลากจุดจับเติมลงเพื่อคัดลอกไปยังแถวทั้งหมด หรือแปลงข้อมูลของคุณเป็นตาราง Excel (Ctrl+T) แล้วสูตรจะนำไปใช้กับแถวทั้งหมดโดยอัตโนมัติ รวมถึงแถวใหม่ที่คุณเพิ่มในภายหลัง

ฉันสามารถคำนวณอายุและแสดงด้วยการจัดรูปแบบที่กำหนดเองได้หรือไม่

ใช่ รวม DATEDIF เข้ากับฟังก์ชัน TEXT และการต่อข้อมูล:

=DATEDIF(A2,TODAY(),"Y") & "y " & DATEDIF(A2,TODAY(),"YM") & "m " & DATEDIF(A2,TODAY(),"MD") & "d"

เอาต์พุต: "35ปี 10นาที 12วัน"